dmsynth: Remove DECLSPEC_HIDDEN usage.
[wine.git] / dlls / ole32 / dcom.idl
blobe00aba5834c8ce5c596a30180a8b4347af94ccc6
1 /*
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) */
22 #pragma makedep proxy
23 #pragma makedep register
25 #include "wine/orpc.idl"
28 threading(both),
29 uuid(00000320-0000-0000-c000-000000000046)
31 coclass PSFactoryBuffer { interface IFactoryBuffer; }
34 object,
35 uuid(00000131-0000-0000-C000-000000000046)
37 interface IRemUnknown : IUnknown
39 typedef [unique] IRemUnknown *LPREMUNKNOWN;
41 typedef struct tagREMQIRESULT {
42 HRESULT hResult;
43 STDOBJREF std;
44 } REMQIRESULT;
46 typedef struct tagREMINTERFACEREF {
47 IPID ipid;
48 unsigned long cPublicRefs;
49 unsigned long cPrivateRefs;
50 } REMINTERFACEREF;
52 HRESULT RemQueryInterface(
53 [in] REFIPID ripid,
54 [in] ULONG cRefs,
55 [in] unsigned short cIids,
56 [in, size_is(cIids)] IID *iids,
57 [out, size_is(,cIids)] REMQIRESULT **ppQIResults);
59 HRESULT RemAddRef(
60 [in] unsigned short cInterfaceRefs,
61 [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs,
62 [out, size_is(cInterfaceRefs)] HRESULT *pResults);
64 HRESULT RemRelease(
65 [in] unsigned short cInterfaceRefs,
66 [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs);
70 object,
71 uuid(00000142-0000-0000-C000-000000000046)
73 interface IRemUnknown2 : IRemUnknown
75 typedef [unique] IRemUnknown2 *LPREMUNKNOWN2;
77 HRESULT RemQueryInterface2(
78 [in] REFIPID ripid,
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(
92 [in] handle_t hRpc,
93 [in] OXID *pOxid,
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(
101 [in] handle_t hRpc,
102 [in] SETID *pSetId);
104 [idempotent] error_status_t ComplexPing(
105 [in] handle_t hRpc,
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(
115 [in] handle_t hRpc);
117 [idempotent] error_status_t ResolveOxid2(
118 [in] handle_t hRpc,
119 [in] OXID *pOxid,
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(
137 [in] handle_t hRpc,
138 [in] ORPCTHIS *ORPCthis,
139 [out] ORPCTHAT *ORPCthat,
140 [in] GUID *Clsid,
141 [in, string, unique] WCHAR *pwszObjectName,
142 [in, unique] MInterfacePointer *pObjectStorage,
143 [in] DWORD ClientImpLevel,
144 [in] DWORD Mode,
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[],
149 [out] OXID *pOxid,
150 [out] DUALSTRINGARRAY **ppdsaOxidBindings,
151 [out] IPID *pipidRemUnknown,
152 [out] DWORD *pAuthnHint,
153 [out] COMVERSION *pServerVersion,
154 [out] HRESULT *phr,
155 [out,size_is(Interfaces)] MInterfacePointer **ppInterfaceData,
156 [out,size_is(Interfaces)] HRESULT *pResults);