2003-05-22 03:36:26 +00:00
|
|
|
/*
|
2008-10-18 17:20:29 +00:00
|
|
|
* Copyright 2003 Ove Kåven, TransGaming Technologies
|
2003-05-22 03:36:26 +00:00
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
2006-05-18 12:49:52 +00:00
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
2003-05-22 03:36:26 +00:00
|
|
|
*/
|
|
|
|
|
2008-03-01 04:36:46 +00:00
|
|
|
/* see the official DCOM specification
|
2003-05-22 03:36:26 +00:00
|
|
|
* (there's a copy at http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm) */
|
|
|
|
|
2013-11-05 15:08:15 +00:00
|
|
|
#pragma makedep proxy
|
2013-11-05 15:41:02 +00:00
|
|
|
#pragma makedep register
|
2013-11-05 15:08:15 +00:00
|
|
|
|
2020-08-14 06:16:26 +00:00
|
|
|
#include "wine/orpc.idl"
|
2003-05-22 03:36:26 +00:00
|
|
|
|
2011-08-01 12:26:47 +00:00
|
|
|
[
|
|
|
|
threading(both),
|
|
|
|
uuid(00000320-0000-0000-c000-000000000046)
|
|
|
|
]
|
|
|
|
coclass PSFactoryBuffer { interface IFactoryBuffer; }
|
|
|
|
|
2003-05-22 03:36:26 +00:00
|
|
|
[
|
|
|
|
object,
|
|
|
|
uuid(00000131-0000-0000-C000-000000000046)
|
|
|
|
]
|
|
|
|
interface IRemUnknown : IUnknown
|
|
|
|
{
|
|
|
|
typedef [unique] IRemUnknown *LPREMUNKNOWN;
|
|
|
|
|
|
|
|
typedef struct tagREMQIRESULT {
|
|
|
|
HRESULT hResult;
|
|
|
|
STDOBJREF std;
|
|
|
|
} REMQIRESULT;
|
|
|
|
|
|
|
|
typedef struct tagREMINTERFACEREF {
|
|
|
|
IPID ipid;
|
|
|
|
unsigned long cPublicRefs;
|
|
|
|
unsigned long cPrivateRefs;
|
|
|
|
} REMINTERFACEREF;
|
|
|
|
|
|
|
|
HRESULT RemQueryInterface(
|
|
|
|
[in] REFIPID ripid,
|
2006-10-15 10:28:08 +00:00
|
|
|
[in] ULONG cRefs,
|
2003-05-22 03:36:26 +00:00
|
|
|
[in] unsigned short cIids,
|
|
|
|
[in, size_is(cIids)] IID *iids,
|
|
|
|
[out, size_is(,cIids)] REMQIRESULT **ppQIResults);
|
|
|
|
|
|
|
|
HRESULT RemAddRef(
|
|
|
|
[in] unsigned short cInterfaceRefs,
|
|
|
|
[in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs,
|
|
|
|
[out, size_is(cInterfaceRefs)] HRESULT *pResults);
|
|
|
|
|
|
|
|
HRESULT RemRelease(
|
|
|
|
[in] unsigned short cInterfaceRefs,
|
|
|
|
[in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs);
|
|
|
|
}
|
|
|
|
|
|
|
|
[
|
|
|
|
object,
|
|
|
|
uuid(00000142-0000-0000-C000-000000000046)
|
|
|
|
]
|
|
|
|
interface IRemUnknown2 : IRemUnknown
|
|
|
|
{
|
|
|
|
typedef [unique] IRemUnknown2 *LPREMUNKNOWN2;
|
|
|
|
|
|
|
|
HRESULT RemQueryInterface2(
|
|
|
|
[in] REFIPID ripid,
|
|
|
|
[in] unsigned short cIids,
|
|
|
|
[in, size_is(cIids)] IID *iids,
|
|
|
|
[out, size_is(cIids)] HRESULT *phr,
|
|
|
|
[out, size_is(cIids)] MInterfacePointer **ppMIF);
|
|
|
|
}
|
|
|
|
|
|
|
|
[
|
|
|
|
uuid(99fcfec4-5260-101b-bbcb-00aa0021347a),
|
|
|
|
pointer_default(unique)
|
|
|
|
]
|
|
|
|
interface IOXIDResolver
|
|
|
|
{
|
|
|
|
[idempotent] error_status_t ResolveOxid(
|
|
|
|
[in] handle_t hRpc,
|
|
|
|
[in] OXID *pOxid,
|
|
|
|
[in] unsigned short cRequestedProtseqs,
|
|
|
|
[in, ref, size_is(cRequestedProtseqs)] unsigned short arRequestedProtseqs[],
|
|
|
|
[out, ref] DUALSTRINGARRAY **ppdsaOxidBindings,
|
|
|
|
[out, ref] IPID *pipidRemUnknown,
|
|
|
|
[out, ref] DWORD *pAuthnHint);
|
|
|
|
|
|
|
|
[idempotent] error_status_t SimplePing(
|
|
|
|
[in] handle_t hRpc,
|
|
|
|
[in] SETID *pSetId);
|
|
|
|
|
|
|
|
[idempotent] error_status_t ComplexPing(
|
|
|
|
[in] handle_t hRpc,
|
|
|
|
[in, out] SETID *pSetId,
|
|
|
|
[in] unsigned short SequenceNum,
|
|
|
|
[in] unsigned short cAddToSet,
|
|
|
|
[in] unsigned short cDelFromSet,
|
|
|
|
[in, unique, size_is(cAddToSet)] OID AddToSet[],
|
|
|
|
[in, unique, size_is(cDelFromSet)] OID DelFromSet[],
|
|
|
|
[out] unsigned short *pPingBackoffFactor);
|
|
|
|
|
|
|
|
[idempotent] error_status_t ServerAlive(
|
|
|
|
[in] handle_t hRpc);
|
|
|
|
|
|
|
|
[idempotent] error_status_t ResolveOxid2(
|
|
|
|
[in] handle_t hRpc,
|
|
|
|
[in] OXID *pOxid,
|
|
|
|
[in] unsigned short cRequestedProtseqs,
|
|
|
|
[in, ref, size_is(cRequestedProtseqs)] unsigned short arRequestedProtseqs[],
|
|
|
|
[out, ref] DUALSTRINGARRAY **ppdsaOxidBindings,
|
|
|
|
[out, ref] IPID *pipidRemUnknown,
|
|
|
|
[out, ref] DWORD *pAuthnHint,
|
|
|
|
[out, ref] COMVERSION *pComVersion);
|
|
|
|
}
|
|
|
|
|
|
|
|
[
|
|
|
|
uuid(4d9f4ab8-7d1c-11cf-861e-0020af6e7c57),
|
|
|
|
pointer_default(unique)
|
|
|
|
]
|
|
|
|
interface IRemoteActivation
|
|
|
|
{
|
|
|
|
const unsigned long MODE_GET_CLASS_OBJECT = 0xffffffff;
|
|
|
|
|
|
|
|
HRESULT RemoteActivation(
|
|
|
|
[in] handle_t hRpc,
|
|
|
|
[in] ORPCTHIS *ORPCthis,
|
|
|
|
[out] ORPCTHAT *ORPCthat,
|
|
|
|
[in] GUID *Clsid,
|
|
|
|
[in, string, unique] WCHAR *pwszObjectName,
|
|
|
|
[in, unique] MInterfacePointer *pObjectStorage,
|
|
|
|
[in] DWORD ClientImpLevel,
|
|
|
|
[in] DWORD Mode,
|
|
|
|
[in] DWORD Interfaces,
|
|
|
|
[in, unique, size_is(Interfaces)] IID *pIIDs,
|
|
|
|
[in] unsigned short cRequestedProtseqs,
|
|
|
|
[in, size_is(cRequestedProtseqs)] unsigned short RequestedProtseqs[],
|
|
|
|
[out] OXID *pOxid,
|
|
|
|
[out] DUALSTRINGARRAY **ppdsaOxidBindings,
|
|
|
|
[out] IPID *pipidRemUnknown,
|
|
|
|
[out] DWORD *pAuthnHint,
|
|
|
|
[out] COMVERSION *pServerVersion,
|
|
|
|
[out] HRESULT *phr,
|
|
|
|
[out,size_is(Interfaces)] MInterfacePointer **ppInterfaceData,
|
|
|
|
[out,size_is(Interfaces)] HRESULT *pResults);
|
|
|
|
}
|