ReactOS 0.4.16-dev-2354-g16de117
dcom.idl
Go to the documentation of this file.
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#pragma makedep proxy
23#pragma makedep register
24
25#include "wine/orpc.idl"
26
27[
28 threading(both),
29 uuid(00000320-0000-0000-c000-000000000046)
30]
31coclass PSFactoryBuffer { interface IPSFactoryBuffer; }
32
33[
34 object,
35 uuid(00000131-0000-0000-C000-000000000046)
36]
37interface IRemUnknown : IUnknown
38{
40
41 typedef struct tagREMQIRESULT {
45
46 typedef struct tagREMINTERFACEREF {
47 IPID ipid;
48 unsigned long cPublicRefs;
49 unsigned long cPrivateRefs;
51
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);
58
60 [in] unsigned short cInterfaceRefs,
61 [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs,
62 [out, size_is(cInterfaceRefs)] HRESULT *pResults);
63
65 [in] unsigned short cInterfaceRefs,
66 [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs);
67}
68
69[
70 object,
71 uuid(00000142-0000-0000-C000-000000000046)
72]
73interface IRemUnknown2 : IRemUnknown
74{
75 typedef [unique] IRemUnknown2 *LPREMUNKNOWN2;
76
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);
83}
84
85[
86 uuid(99fcfec4-5260-101b-bbcb-00aa0021347a),
88]
89interface IOXIDResolver
90{
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);
99
100 [idempotent] error_status_t SimplePing(
101 [in] handle_t hRpc,
102 [in] SETID *pSetId);
103
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);
113
114 [idempotent] error_status_t ServerAlive(
115 [in] handle_t hRpc);
116
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);
126}
127
128[
129 uuid(4d9f4ab8-7d1c-11cf-861e-0020af6e7c57),
131]
132interface IRemoteActivation
133{
134 const unsigned long MODE_GET_CLASS_OBJECT = 0xffffffff;
135
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);
157}
unsigned long error_status_t
Definition: basetyps.h:83
#define threading(model)
Definition: exdisp.idl:30
unsigned long DWORD
Definition: ntddk_ex.h:95
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLuint in
Definition: glext.h:9616
_In_ ULONG Mode
Definition: hubbusif.h:303
IRemUnknown * LPREMUNKNOWN
Definition: dcom.idl:32
HRESULT RemAddRef([in] unsigned short cInterfaceRefs, [in, size_is(cInterfaceRefs)] REMINTERFACEREF *InterfaceRefs, [out, size_is(cInterfaceRefs)] HRESULT *pResults)
HRESULT RemQueryInterface([in] REFIPID ripid, [in] ULONG cRefs, [in] unsigned short cIids, [in, size_is(cIids)] IID *iids, [out, size_is(, cIids)] REMQIRESULT **ppQIResults)
struct IRemUnknown::tagREMINTERFACEREF REMINTERFACEREF
HRESULT RemRelease([in] unsigned short cInterfaceRefs, [in, size_is(cInterfaceRefs)] REMINTERFACEREF *InterfaceRefs)
struct IRemUnknown::tagREMQIRESULT REMQIRESULT
Definition: msctf.idl:532
#define e
Definition: ke_i.h:82
UINT64 OID
Definition: marshal.c:87
UINT64 OXID
Definition: marshal.c:86
unsigned long cPublicRefs
Definition: dcom.idl:43
unsigned long cPrivateRefs
Definition: dcom.idl:44
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
ncacn_np pointer_default(unique)] interface winspool
Definition: winspool.idl:865
__wchar_t WCHAR
Definition: xmlstorage.h:180