~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/ole32/dcom.idl

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright 2003 Ove Kåven, TransGaming Technologies
  3  *
  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.
  8  *
  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.
 13  *
 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
 17  */
 18 
 19 /* see the official DCOM specification
 20  * (there's a copy at http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm) */
 21 
 22 import "unknwn.idl";
 23 
 24 [
 25   uuid(99fcfe60-5260-101b-bbcb-00aa0021347a),
 26   pointer_default(unique)
 27 ]
 28 interface ObjectRpcBaseTypes
 29 {
 30   typedef unsigned hyper ID;
 31   typedef ID MID;
 32   typedef ID OXID;
 33   typedef ID OID;
 34   typedef ID SETID;
 35   typedef GUID IPID;
 36   typedef GUID CID;
 37   typedef REFGUID REFIPID;
 38 
 39   const unsigned short COM_MINOR_VERSION_1 = 1;
 40   const unsigned short COM_MINOR_VERSION_2 = 2;
 41 
 42   const unsigned short COM_MAJOR_VERSION = 5;
 43   const unsigned short COM_MINOR_VERSION = 3;
 44 
 45   typedef struct tagCOMVERSION {
 46     unsigned short MajorVersion;
 47     unsigned short MinorVersion;
 48   } COMVERSION;
 49 
 50   const unsigned long ORPCF_NULL = 0;
 51   const unsigned long ORPCF_LOCAL = 1;
 52   const unsigned long ORPCF_RESERVED1 = 2;
 53   const unsigned long ORPCF_RESERVED2 = 4;
 54   const unsigned long ORPCF_RESERVED3 = 8;
 55   const unsigned long ORPCF_RESERVED4 = 16;
 56 
 57   typedef struct tagORPC_EXTENT {
 58     GUID id;
 59     unsigned long size;
 60     [size_is((size+7)&~7)] byte data[];
 61   } ORPC_EXTENT;
 62 
 63   typedef struct tagORPC_EXTENT_ARRAY {
 64     unsigned long size;
 65     unsigned long reserved;
 66     [size_is((size+1)&~1,), unique] ORPC_EXTENT **extent;
 67   } ORPC_EXTENT_ARRAY;
 68 
 69   typedef struct tagORPCTHIS {
 70     COMVERSION version;
 71     unsigned long flags;
 72     unsigned long reserved1;
 73     CID cid;
 74     [unique] ORPC_EXTENT_ARRAY *extensions;
 75   } ORPCTHIS;
 76 
 77   typedef struct tagORPCTHAT {
 78     unsigned long flags;
 79     [unique] ORPC_EXTENT_ARRAY *extensions;
 80   } ORPCTHAT;
 81 
 82   const unsigned short NCADG_IP_UDP = 0x08;
 83   const unsigned short NCACN_IP_TCP = 0x07;
 84   const unsigned short NCADG_IPX = 0x0E;
 85   const unsigned short NCACN_SPX = 0x0C;
 86   const unsigned short NCACN_NB_NB = 0x12;
 87   const unsigned short NCACN_NB_IPX = 0x0D;
 88   const unsigned short NCACN_DNET_NSP = 0x04;
 89   const unsigned short NCACN_HTTP = 0x1F;
 90 
 91   typedef struct tagSTRINGBINDING {
 92     unsigned short wTowerId;
 93     [string] WCHAR aNetworkAddr[];
 94   } STRINGBINDING;
 95 
 96   const unsigned short COM_C_AUTHZ_NONE = 0xffff;
 97 
 98   typedef struct tagSECURITYBINDING {
 99     unsigned short wAuthnSvc;
100     unsigned short wAuthzSvc;
101     [string] WCHAR aPrincName[];
102   } SECURITYBINDING;
103 
104   typedef struct tagDUALSTRINGARRAY {
105     unsigned short wNumEntries;
106     unsigned short wSecurityOffset;
107     [size_is(wNumEntries)] unsigned short aStringArray[];
108   } DUALSTRINGARRAY;
109 
110   typedef struct tagOXID_INFO {
111     DWORD dwTid;
112     DWORD dwPid;
113     IPID ipidRemUnknown;
114     DWORD dwAuthnHint;
115     DUALSTRINGARRAY *psa;
116   } OXID_INFO;
117 
118   const unsigned long OBJREF_SIGNATURE = 0x574f454d; /* "MEOW" */
119   const unsigned long OBJREF_STANDARD = 0x1;
120   const unsigned long OBJREF_HANDLER = 0x2;
121   const unsigned long OBJREF_CUSTOM = 0x4;
122   const unsigned long SORF_OXRES1 = 0x1;
123   const unsigned long SORF_OXRES2 = 0x20;
124   const unsigned long SORF_OXRES3 = 0x40;
125   const unsigned long SORF_OXRES4 = 0x80;
126   const unsigned long SORF_OXRES5 = 0x100;
127   const unsigned long SORF_OXRES6 = 0x200;
128   const unsigned long SORF_OXRES7 = 0x400;
129   const unsigned long SORF_OXRES8 = 0x800;
130   const unsigned long SORF_NULL = 0x0;
131   const unsigned long SORF_NOPING = 0x1000;
132 
133   typedef struct tagSTDOBJREF {
134     unsigned long flags;
135     unsigned long cPublicRefs;
136     OXID oxid;
137     OID oid;
138     IPID ipid;
139   } STDOBJREF;
140 
141   typedef struct tagOBJREF {
142     unsigned long signature;
143     unsigned long flags;
144     GUID iid;
145     [switch_is(flags)] union {
146     [case(OBJREF_STANDARD)] struct OR_STANDARD {
147         STDOBJREF std;
148         DUALSTRINGARRAY saResAddr;
149       } u_standard;
150     [case(OBJREF_HANDLER)] struct OR_HANDLER {
151         STDOBJREF std;
152         CLSID clsid;
153         DUALSTRINGARRAY saResAddr;
154       } u_handler;
155     [case(OBJREF_CUSTOM)] struct OR_CUSTOM {
156         CLSID clsid;
157         unsigned long cbExtension;
158         ULONG size;
159         [size_is(size), ref] byte *pData;
160       } u_custom;
161     } u_objref;
162   } OBJREF;
163 
164   typedef struct tagMInterfacePointer {
165     ULONG ulCntData;
166     [size_is(ulCntData)] BYTE abData[];
167   } MInterfacePointer;
168 
169   typedef [unique] MInterfacePointer *PMInterfacePointer;
170 
171 } /* interface ObjectRpcBaseTypes */
172 
173 [
174   object,
175   uuid(00000131-0000-0000-C000-000000000046)
176 ]
177 interface IRemUnknown : IUnknown
178 {
179   typedef [unique] IRemUnknown *LPREMUNKNOWN;
180 
181   typedef struct tagREMQIRESULT {
182     HRESULT hResult;
183     STDOBJREF std;
184   } REMQIRESULT;
185 
186   typedef struct tagREMINTERFACEREF {
187     IPID ipid;
188     unsigned long cPublicRefs;
189     unsigned long cPrivateRefs;
190   } REMINTERFACEREF; 
191 
192   HRESULT RemQueryInterface(
193     [in] REFIPID ripid,
194     [in] ULONG cRefs,
195     [in] unsigned short cIids,
196     [in, size_is(cIids)] IID *iids,
197     [out, size_is(,cIids)] REMQIRESULT **ppQIResults);
198 
199   HRESULT RemAddRef(
200     [in] unsigned short cInterfaceRefs,
201     [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs,
202     [out, size_is(cInterfaceRefs)] HRESULT *pResults);
203 
204   HRESULT RemRelease(
205     [in] unsigned short cInterfaceRefs,
206     [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs);
207 }
208 
209 [
210   object,
211   uuid(00000142-0000-0000-C000-000000000046)
212 ]
213 interface IRemUnknown2 : IRemUnknown
214 {
215   typedef [unique] IRemUnknown2 *LPREMUNKNOWN2;
216 
217   HRESULT RemQueryInterface2(
218     [in] REFIPID ripid,
219     [in] unsigned short cIids,
220     [in, size_is(cIids)] IID *iids,
221     [out, size_is(cIids)] HRESULT *phr,
222     [out, size_is(cIids)] MInterfacePointer **ppMIF);
223 }
224 
225 [
226   uuid(99fcfec4-5260-101b-bbcb-00aa0021347a),
227   pointer_default(unique)
228 ]
229 interface IOXIDResolver
230 {
231   [idempotent] error_status_t ResolveOxid(
232     [in] handle_t hRpc,
233     [in] OXID *pOxid,
234     [in] unsigned short cRequestedProtseqs,
235     [in, ref, size_is(cRequestedProtseqs)] unsigned short arRequestedProtseqs[],
236     [out, ref] DUALSTRINGARRAY **ppdsaOxidBindings,
237     [out, ref] IPID *pipidRemUnknown,
238     [out, ref] DWORD *pAuthnHint);
239 
240   [idempotent] error_status_t SimplePing(
241     [in] handle_t hRpc,
242     [in] SETID *pSetId);
243 
244   [idempotent] error_status_t ComplexPing(
245     [in] handle_t hRpc,
246     [in, out] SETID *pSetId,
247     [in] unsigned short SequenceNum,
248     [in] unsigned short cAddToSet,
249     [in] unsigned short cDelFromSet,
250     [in, unique, size_is(cAddToSet)] OID AddToSet[],
251     [in, unique, size_is(cDelFromSet)] OID DelFromSet[],
252     [out] unsigned short *pPingBackoffFactor);
253 
254   [idempotent] error_status_t ServerAlive(
255     [in] handle_t hRpc);
256 
257   [idempotent] error_status_t ResolveOxid2(
258     [in] handle_t hRpc,
259     [in] OXID *pOxid,
260     [in] unsigned short cRequestedProtseqs,
261     [in, ref, size_is(cRequestedProtseqs)] unsigned short arRequestedProtseqs[],
262     [out, ref] DUALSTRINGARRAY **ppdsaOxidBindings,
263     [out, ref] IPID *pipidRemUnknown,
264     [out, ref] DWORD *pAuthnHint,
265     [out, ref] COMVERSION *pComVersion); 
266 }
267 
268 [
269   uuid(4d9f4ab8-7d1c-11cf-861e-0020af6e7c57),
270   pointer_default(unique)
271 ]
272 interface IRemoteActivation
273 {
274   const unsigned long MODE_GET_CLASS_OBJECT = 0xffffffff;
275 
276   HRESULT RemoteActivation(
277     [in] handle_t hRpc,
278     [in] ORPCTHIS *ORPCthis,
279     [out] ORPCTHAT *ORPCthat,
280     [in] GUID *Clsid,
281     [in, string, unique] WCHAR *pwszObjectName,
282     [in, unique] MInterfacePointer *pObjectStorage,
283     [in] DWORD ClientImpLevel,
284     [in] DWORD Mode,
285     [in] DWORD Interfaces,
286     [in, unique, size_is(Interfaces)] IID *pIIDs,
287     [in] unsigned short cRequestedProtseqs,
288     [in, size_is(cRequestedProtseqs)] unsigned short RequestedProtseqs[],
289     [out] OXID *pOxid,
290     [out] DUALSTRINGARRAY **ppdsaOxidBindings,
291     [out] IPID *pipidRemUnknown,
292     [out] DWORD *pAuthnHint,
293     [out] COMVERSION *pServerVersion,
294     [out] HRESULT *phr,
295     [out,size_is(Interfaces)] MInterfacePointer **ppInterfaceData,
296     [out,size_is(Interfaces)] HRESULT *pResults);
297 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.