[KERNEL32][BASESRV]

On Windows 2k3, BASESRV_API_CONNECTINFO went under a slimming treatment and now is only 4 bytes. In fact all its information was already existing in the static base data structure (BaseStaticServerData). We should now be more 2k3-compatible :)
Fix also the testbots.

svn path=/trunk/; revision=65690
This commit is contained in:
Hermès Bélusca-Maïto 2014-12-16 21:48:23 +00:00
parent 4894f79a03
commit c8b67f57b6
3 changed files with 11 additions and 15 deletions

View file

@ -88,8 +88,8 @@ DllMain(HANDLE hDll,
LPVOID lpReserved) LPVOID lpReserved)
{ {
NTSTATUS Status; NTSTATUS Status;
ULONG Dummy; BASESRV_API_CONNECTINFO ConnectInfo;
ULONG DummySize = sizeof(Dummy); ULONG ConnectInfoSize = sizeof(ConnectInfo);
WCHAR SessionDir[256]; WCHAR SessionDir[256];
DPRINT("DllMain(hInst %p, dwReason %lu)\n", DPRINT("DllMain(hInst %p, dwReason %lu)\n",
@ -133,11 +133,11 @@ DllMain(HANDLE hDll,
WIN_OBJ_DIR); WIN_OBJ_DIR);
} }
/* Connect to the base server */ /* Connect to the Base Server */
Status = CsrClientConnectToServer(SessionDir, Status = CsrClientConnectToServer(SessionDir,
BASESRV_SERVERDLL_INDEX, BASESRV_SERVERDLL_INDEX,
&Dummy, &ConnectInfo,
&DummySize, &ConnectInfoSize,
&BaseRunningInServerProcess); &BaseRunningInServerProcess);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {

View file

@ -131,7 +131,8 @@ typedef struct _BASE_STATIC_SERVER_DATA
BOOLEAN LUIDDeviceMapsEnabled; BOOLEAN LUIDDeviceMapsEnabled;
ULONG TermsrvClientTimeZoneChangeNum; ULONG TermsrvClientTimeZoneChangeNum;
} BASE_STATIC_SERVER_DATA, *PBASE_STATIC_SERVER_DATA; } BASE_STATIC_SERVER_DATA, *PBASE_STATIC_SERVER_DATA;
#ifndef _WIN64
#if defined(_M_IX86)
C_ASSERT(sizeof(BASE_STATIC_SERVER_DATA) == 0x1AC8); C_ASSERT(sizeof(BASE_STATIC_SERVER_DATA) == 0x1AC8);
#endif #endif

View file

@ -53,19 +53,14 @@ typedef enum _BASESRV_API_NUMBER
BasepMaxApiNumber BasepMaxApiNumber
} BASESRV_API_NUMBER, *PBASESRV_API_NUMBER; } BASESRV_API_NUMBER, *PBASESRV_API_NUMBER;
typedef struct _BASESRV_API_CONNECTINFO typedef struct _BASESRV_API_CONNECTINFO
{ {
ULONG ExpectedVersion; ULONG DebugFlags;
HANDLE DefaultObjectDirectory;
ULONG WindowsVersion;
ULONG CurrentVersion;
ULONG DebugFlags;
WCHAR WindowsDirectory[MAX_PATH];
WCHAR WindowsSystemDirectory[MAX_PATH];
} BASESRV_API_CONNECTINFO, *PBASESRV_API_CONNECTINFO; } BASESRV_API_CONNECTINFO, *PBASESRV_API_CONNECTINFO;
#define BASESRV_VERSION 0x10000 #if defined(_M_IX86)
C_ASSERT(sizeof(BASESRV_API_CONNECTINFO) == 0x04);
#endif
typedef struct _BASE_SXS_CREATEPROCESS_MSG typedef struct _BASE_SXS_CREATEPROCESS_MSG