2 * Copyright 2003 Ove Kåven, TransGaming Technologies
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 /* see the official DCOM specification
20 * (there's a copy at http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm) */
23 #pragma makedep register
25 #include
"wine/orpc.idl"
29 uuid(00000320-0000-0000-c000
-000000000046)
31 coclass PSFactoryBuffer
{ interface IFactoryBuffer
; }
35 uuid(00000131-0000-0000-C000
-000000000046)
37 interface IRemUnknown
: IUnknown
39 typedef [unique] IRemUnknown
*LPREMUNKNOWN
;
41 typedef struct tagREMQIRESULT
{
46 typedef struct tagREMINTERFACEREF
{
48 unsigned long cPublicRefs
;
49 unsigned long cPrivateRefs
;
52 HRESULT RemQueryInterface
(
55 [in] unsigned short cIids
,
56 [in, size_is(cIids
)] IID
*iids
,
57 [out, size_is(,cIids
)] REMQIRESULT
**ppQIResults
);
60 [in] unsigned short cInterfaceRefs
,
61 [in, size_is(cInterfaceRefs
)] REMINTERFACEREF
* InterfaceRefs
,
62 [out, size_is(cInterfaceRefs
)] HRESULT *pResults
);
65 [in] unsigned short cInterfaceRefs
,
66 [in, size_is(cInterfaceRefs
)] REMINTERFACEREF
* InterfaceRefs
);
71 uuid(00000142-0000-0000-C000
-000000000046)
73 interface IRemUnknown2
: IRemUnknown
75 typedef [unique] IRemUnknown2
*LPREMUNKNOWN2
;
77 HRESULT RemQueryInterface2
(
79 [in] unsigned short cIids
,
80 [in, size_is(cIids
)] IID
*iids
,
81 [out, size_is(cIids
)] HRESULT *phr
,
82 [out, size_is(cIids
)] MInterfacePointer
**ppMIF
);
86 uuid(99fcfec4
-5260-101b
-bbcb
-00aa0021347a
),
87 pointer_default(unique)
89 interface IOXIDResolver
91 [idempotent
] error_status_t ResolveOxid
(
94 [in] unsigned short cRequestedProtseqs
,
95 [in, ref, size_is(cRequestedProtseqs
)] unsigned short arRequestedProtseqs
[],
96 [out, ref] DUALSTRINGARRAY
**ppdsaOxidBindings
,
97 [out, ref] IPID
*pipidRemUnknown
,
98 [out, ref] DWORD
*pAuthnHint
);
100 [idempotent
] error_status_t SimplePing
(
104 [idempotent
] error_status_t ComplexPing
(
106 [in, out] SETID
*pSetId
,
107 [in] unsigned short SequenceNum
,
108 [in] unsigned short cAddToSet
,
109 [in] unsigned short cDelFromSet
,
110 [in, unique, size_is(cAddToSet
)] OID AddToSet
[],
111 [in, unique, size_is(cDelFromSet
)] OID DelFromSet
[],
112 [out] unsigned short *pPingBackoffFactor
);
114 [idempotent
] error_status_t ServerAlive
(
117 [idempotent
] error_status_t ResolveOxid2
(
120 [in] unsigned short cRequestedProtseqs
,
121 [in, ref, size_is(cRequestedProtseqs
)] unsigned short arRequestedProtseqs
[],
122 [out, ref] DUALSTRINGARRAY
**ppdsaOxidBindings
,
123 [out, ref] IPID
*pipidRemUnknown
,
124 [out, ref] DWORD
*pAuthnHint
,
125 [out, ref] COMVERSION
*pComVersion
);
129 uuid(4d9f4ab8
-7d1c
-11cf
-861e-0020af6e7c57
),
130 pointer_default(unique)
132 interface IRemoteActivation
134 const unsigned long MODE_GET_CLASS_OBJECT
= 0xffffffff;
136 HRESULT RemoteActivation
(
138 [in] ORPCTHIS
*ORPCthis
,
139 [out] ORPCTHAT
*ORPCthat
,
141 [in, string, unique] WCHAR
*pwszObjectName
,
142 [in, unique] MInterfacePointer
*pObjectStorage
,
143 [in] DWORD ClientImpLevel
,
145 [in] DWORD Interfaces
,
146 [in, unique, size_is(Interfaces
)] IID
*pIIDs
,
147 [in] unsigned short cRequestedProtseqs
,
148 [in, size_is(cRequestedProtseqs
)] unsigned short RequestedProtseqs
[],
150 [out] DUALSTRINGARRAY
**ppdsaOxidBindings
,
151 [out] IPID
*pipidRemUnknown
,
152 [out] DWORD
*pAuthnHint
,
153 [out] COMVERSION
*pServerVersion
,
155 [out,size_is(Interfaces
)] MInterfacePointer
**ppInterfaceData
,
156 [out,size_is(Interfaces
)] HRESULT *pResults
);