четверг, 14 июля 2011 г.

CSR_SERVER_DLL

а вот например давеча потребовалось мне узнать как выглядит subj на разных версиях windows. Вы таки мне не поверите - не нашел в гугле. Точнее нашел и не одну, но все они не выглядят правильными
Если меня зрение не обманывает то subj представляет себя примерно так:

typedef struct _CSR_SERVER_DLL_XP
{
// 32 64 bit
/* 0  0 */   ULONG Length;
/* 4  4 */   DWORD CsrInitializationEvent;
/* 8  8 */   ANSI_STRING ModuleName;
/* 10 18 */  HANDLE ModuleHandle;
/* 14 20 */  ULONG ServerDllIndex;
/* 18 24 */  ULONG ServerDllConnectInfoLength;
/* 1C 28 */  ULONG ApiNumberBase;
/* 20 2C */  ULONG MaxApiNumber;
/* 24 30 */  PBYTE ApiDispatchTable;
/* 28 38 */  PBOOLEAN ApiServerValidTable;
#ifndef _WIN64
/* 2C ?? */  PSZ *ApiNameTable;
#endif /* _WIN64 */
/* 30 40 */  ULONG SizeOfProcessData;
/* 34 48 */  PBYTE ConnectRoutine;
/* 38 50 */  PBYTE DisconnectRoutine;
/* 3C 58 */  PBYTE HardErrorRoutine;
/* 40 60 */  PVOID SharedStaticServerData;
/* 44 68 */  PBYTE AddProcessRoutine;
/* 48 70 */  PBYTE ShutdownProcessRoutine;
} CSR_SERVER_DLL_XP, *PCSR_SERVER_DLL_XP;
 

typedef struct _CSR_SERVER_DLL_VISTA
{
/*  0  0 */  ULONG Length;
/*  4  4 */  ANSI_STRING ModuleName;
/*  C 18 */  HANDLE ModuleHandle;
/* 10 20 */  ULONG ServerDllIndex;
/* 14 24 */  ULONG ServerDllConnectInfoLength;
/* 18 28 */  ULONG ApiNumberBase;
/* 1C 2C */  ULONG MaxApiNumber;
/* 20 30 */  PBYTE ApiDispatchTable;
/* 24 38 */  PBOOLEAN ApiServerValidTable;
/* 28 40 */  ULONG SizeOfProcessData;
/* 2C 48 */  PBYTE ConnectRoutine;
/* 30 50 */  PBYTE DisconnectRoutine;
/* 34 58 */  PBYTE HardErrorRoutine;
/* 38 60 */  PVOID SharedStaticServerData;
/* 3C 68 */  PBYTE AddProcessRoutine;
/* 40 70 */  PBYTE ShutdownProcessRoutine;
} CSR_SERVER_DLL_VISTA, *PCSR_SERVER_DLL_VISTA;
 

typedef struct _CSR_SERVER_DLL_W7
{
/*  0  0 */  ANSI_STRING ModuleName;
/*  8 10 */  HANDLE ModuleHandle;
/*  C 18 */  ULONG ServerDllIndex;
/* 10 1C */  ULONG ServerDllConnectInfoLength;
/* 14 20 */  ULONG ApiNumberBase;
/* 18 24 */  ULONG MaxApiNumber;
/* 1C 28 */  PBYTE ApiDispatchTable;
/* 20 30 */  PBOOLEAN ApiServerValidTable;
/* 24 38 */  PSZ *ApiNameTable;
/* 28 40 */  ULONG SizeOfProcessData;
/* 2C 48 */  PBYTE ConnectRoutine;
/* 30 50 */  PBYTE DisconnectRoutine;
/* 34 58 */  PBYTE HardErrorRoutine;
/* 38 60 */  PVOID SharedStaticServerData;
/* 3C 68 */  PBYTE AddProcessRoutine;
/* 40 70 */  PBYTE ShutdownProcessRoutine;
} CSR_SERVER_DLL_W7, *PCSR_SERVER_DLL_W7;

Комментариев нет:

Отправить комментарий