111 lines
3.1 KiB
Plaintext
111 lines
3.1 KiB
Plaintext
|
//+-------------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Microsoft Windows
|
|||
|
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
|||
|
//
|
|||
|
// File: irot.idl
|
|||
|
//
|
|||
|
// Contents: Definition of private RPC interface between compobj.dll
|
|||
|
// and the SCM that implements the ROT.
|
|||
|
//
|
|||
|
// History: 20-Jan-95 Ricksa Created
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------------
|
|||
|
[ uuid(B9E79E60-3D52-11CE-AAA1-00006901293F),
|
|||
|
version(0.2),
|
|||
|
pointer_default(unique) ]
|
|||
|
|
|||
|
interface IROT
|
|||
|
{
|
|||
|
import "iface.idl";
|
|||
|
|
|||
|
#pragma midl_echo(" ")
|
|||
|
#pragma midl_echo("//------------------------")
|
|||
|
#pragma midl_echo("// Invalid Key for SCM Reg")
|
|||
|
#pragma midl_echo("//------------------------")
|
|||
|
#pragma midl_echo("#define SCMREG_INVALID_ENTRY_LOC ((ULONG64)-1)")
|
|||
|
#pragma midl_echo(" ")
|
|||
|
|
|||
|
typedef [context_handle] void *PHPROCESS;
|
|||
|
|
|||
|
typedef struct _SCMREGKEY
|
|||
|
{
|
|||
|
ULONG64 dwEntryLoc;
|
|||
|
DWORD dwPadding; // Added to optimize memory accesses in Win64
|
|||
|
DWORD dwScmId;
|
|||
|
} SCMREGKEY;
|
|||
|
|
|||
|
typedef struct _MnkEqBuf
|
|||
|
{
|
|||
|
DWORD cdwSize;
|
|||
|
[size_is(cdwSize)]
|
|||
|
BYTE abEqData[];
|
|||
|
} MNKEQBUF;
|
|||
|
|
|||
|
typedef struct _MkInterfaceList
|
|||
|
{
|
|||
|
DWORD dwSize;
|
|||
|
[size_is(dwSize)]
|
|||
|
InterfaceData *apIFDList[];
|
|||
|
} MkInterfaceList;
|
|||
|
|
|||
|
HRESULT IrotRegister(
|
|||
|
[in] handle_t hRpc,
|
|||
|
[in] PHPROCESS phProcess,
|
|||
|
[in,unique,string] WCHAR *pwszWinstaDesktop,
|
|||
|
[in] MNKEQBUF *pmkeqbuf,
|
|||
|
[in] InterfaceData *pifdObject,
|
|||
|
[in] InterfaceData *pifdObjectName,
|
|||
|
[in] FILETIME *pfiletime,
|
|||
|
[in] DWORD dwProcessId,
|
|||
|
[in,unique,string] WCHAR *pwszServerExe,
|
|||
|
[out] SCMREGKEY *psrkRegister,
|
|||
|
[out] error_status_t *prpcstat);
|
|||
|
|
|||
|
HRESULT IrotRevoke(
|
|||
|
[in] handle_t hRpc,
|
|||
|
[in] SCMREGKEY *psrkRegister,
|
|||
|
[in] BOOL fServerRevoke,
|
|||
|
[out] InterfaceData **pifdObject,
|
|||
|
[out] InterfaceData **pifdName,
|
|||
|
[out] error_status_t *prpcstat);
|
|||
|
|
|||
|
HRESULT IrotIsRunning(
|
|||
|
[in] handle_t hRpc,
|
|||
|
[in] PHPROCESS phProcess,
|
|||
|
[in,unique,string] WCHAR *pwszWinstaDesktop,
|
|||
|
[in] MNKEQBUF *pmkeqbuf,
|
|||
|
[out] error_status_t *prpcstat);
|
|||
|
|
|||
|
HRESULT IrotGetObject(
|
|||
|
[in] handle_t hRpc,
|
|||
|
[in] PHPROCESS phProcess,
|
|||
|
[in,unique,string] WCHAR *pwszWinstaDesktop,
|
|||
|
[in] DWORD dwProcessId,
|
|||
|
[in] MNKEQBUF *pmkeqbuf,
|
|||
|
[out] SCMREGKEY *psrkRegister,
|
|||
|
[out] InterfaceData **pifdObject,
|
|||
|
[out] error_status_t *prpcstat);
|
|||
|
|
|||
|
HRESULT IrotNoteChangeTime(
|
|||
|
[in] handle_t hRpc,
|
|||
|
[in] SCMREGKEY *psrkRegister,
|
|||
|
[in] FILETIME *pfiletime,
|
|||
|
[out] error_status_t *prpcstat);
|
|||
|
|
|||
|
HRESULT IrotGetTimeOfLastChange(
|
|||
|
[in] handle_t hRpc,
|
|||
|
[in] PHPROCESS phProcess,
|
|||
|
[in,unique,string] WCHAR *pwszWinstaDesktop,
|
|||
|
[in] MNKEQBUF *pmkeqbuf,
|
|||
|
[out] FILETIME *pfiletime,
|
|||
|
[out] error_status_t *prpcstat);
|
|||
|
|
|||
|
HRESULT IrotEnumRunning(
|
|||
|
[in] handle_t hRpc,
|
|||
|
[in] PHPROCESS phProcess,
|
|||
|
[in,unique,string] WCHAR *pwszWinstaDesktop,
|
|||
|
[out] MkInterfaceList **ppMkIFList,
|
|||
|
[out] error_status_t *prpcstat);
|
|||
|
}
|
|||
|
|