windows-nt/Source/XPSP1/NT/com/ole32/dbgexts/drot.h
2020-09-26 16:20:57 +08:00

161 lines
2.7 KiB
C

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1995
//
// File: drot.h
//
// Contents: Contains structure definitons for the significant ROT
// classes which the ntsd extensions need to access.
// These ole classes cannot be accessed more cleanly because
// typically the members of interest are private.
//
// WARNING. IF THE REFERENCED OLE CLASSES CHANGE, THEN THESE
// DEFINITIONS MUST CHANGE!
//
// History: 06-01-95 BruceMa Created
// 06-26-95 BruceMa Add SCM ROT support
//
//--------------------------------------------------------------------------
#define SCM_HASH_SIZE 251
struct SCMREGKEY
{
ULONG64 dwEntryLoc;
DWORD dwScmId;
};
struct SRotItem
{
WORD _wItemSig;
BOOL _fDontCallApp;
SCMREGKEY _scmregkey;
HAPT _hApt;
};
struct SCliRotHintTable
{
BYTE *_pbHintArray;
HANDLE _hSm;
};
struct SRunningObjectTable
{
LPVOID _vtbl;
SArrayFValue _afvRotList;
SCliRotHintTable _crht;
WORD _wSigRotItem;
};
struct SPerMachineROT
{
SMutexSem _mxs;
DWORD _dwTotalAcctsReg;
SArrayFValue _safvRotAcctTable;
};
struct SScmRotHintTable
{
HANDLE _hSm;
};
struct MNKEQBUF
{
DWORD _cbSize;
CLSID _clsid;
WCHAR _wszName[1];
};
struct IFData
{
DWORD _UNUSED[3];
GUID _oid;
DWORD _UNUSED2;
IID _iid;
DWORD _UNUSED3[4];
WCHAR _wszEndPoint[64];
};
struct SScmRotEntry
{
LPVOID _vtbl;
SScmRotEntry *_sheNext;
DWORD _dwSig;
DWORD _dwScmRotId;
DWORD _dwProcessID;
FILETIME _filetimeLastChange;
IFData *_pifdObject;
MNKEQBUF *_pmkeqbufKey;
IFData *_pifdObjectName;
BYTE _ab[1];
};
struct SScmHashEntry
{
SScmHashEntry * _sheNext;
};
struct SScmHashTable
{
DWORD UNUSED;
SScmHashEntry **_apsheHashTable;
DWORD _ndwHashTableSize;
DWORD _ndwCount;
};
struct SScmRot
{
SMutexSem _mxs;
DWORD _dwIdCntr;
SScmRotHintTable _rht;
SScmHashTable _sht;
};
struct SRotAcctEntry
{
DWORD UNUSED;
WCHAR *unicodestringSID;
SScmRot *pscmrot;
};