NT4/private/ole32/com/dcomidl/scm.idl
2020-09-30 17:12:29 +02:00

120 lines
2.6 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1993.
//
// File: scm.idl
//
// Contents: Definition of private RPC interface between compobj.dll
// and the service controller.
//
// History: 21-Apr-93 Ricksa Created
// 27-Dec-93 ErikGav TCHAR->WCHAR
//
//--------------------------------------------------------------------------
[ uuid(412f241e-c12a-11ce-abff-0020af6e7a17),
version(0.2),
pointer_default(unique)
]
interface ISCM
{
import "iface.idl";
import "obase.idl";
typedef [context_handle] void *PHPROCESS;
typedef struct _RegOutputEnt
{
DWORD dwReg;
DWORD dwAtStorage;
} RegOutputEnt;
typedef struct _RegOutput
{
DWORD dwSize;
[size_is(dwSize)]
RegOutputEnt regoutent[];
} RegOutput;
typedef struct _RegInputEntry
{
CLSID clsid;
OXID oxid;
IPID ipid;
DWORD dwFlags;
} RegInputEntry;
typedef struct _RegInput
{
DWORD dwSize;
[size_is(dwSize)]
RegInputEntry rginent[];
} RegInput;
typedef struct _RevokeEntry
{
CLSID clsid;
DWORD dwReg;
} RevokeEntry;
typedef struct _RevokeClasses
{
DWORD dwSize;
[size_is(dwSize)]
RevokeEntry revent[];
} RevokeClasses;
//
// Server to SCM methods.
//
HRESULT ServerRegisterClsid(
[in] handle_t hRpc,
[in] PHPROCESS phProcess,
[in, string, unique] WCHAR *pWinstaDesktop,
[in] RegInput * pregin,
[out] RegOutput ** ppregout,
[out] error_status_t * prpcstat);
void ServerRevokeClsid(
[in] handle_t hRpc,
[in] PHPROCESS phProcess,
[in] RevokeClasses * prevcls,
[out] error_status_t * prpcstat);
//
// Client/Server to SCM methods.
//
void GetThreadID(
[in] handle_t hRpc,
[out] DWORD * pThreadID,
[out] error_status_t *prpcstat);
HRESULT UpdateShrdTbls(
[in] handle_t hRpc,
[out] error_status_t *prpcstat);
void UpdateActivationSettings(
[in] handle_t hRpc,
[out] error_status_t *prpcstat);
// Register Drag/Drop
HRESULT RegisterWindowPropInterface(
[in] handle_t hRpc,
[in] DWORD hWnd,
[in] STDOBJREF *pStd,
[in] OXID_INFO *pOxidInfo,
[out] DWORD *pdwCookie,
[out] error_status_t *prpcstat);
HRESULT GetWindowPropInterface(
[in] handle_t hRpc,
[in] DWORD hWnd,
[in] DWORD dwCookie,
[in] BOOL fRevoke,
[out] STDOBJREF *pStd,
[out] OXID_INFO *pOxidInfo,
[out] error_status_t *prpcstat);
}