Author: ion Date: Sat Aug 31 08:30:00 2013 New Revision: 59916
URL: http://svn.reactos.org/svn/reactos?rev=59916&view=rev Log: [CONSRV]: One last fix to CONSRV_API_CONNECTINFO. We now have compatibility with Windows and kernel32 is much much happier. [CONSRV]: Implement Case11 of BaseSrvNlsCreateSection, but we seem to be getting bogus locale IDs.
Modified: trunk/reactos/include/reactos/subsys/win/conmsg.h trunk/reactos/subsystems/win/basesrv/basesrv.h trunk/reactos/subsystems/win/basesrv/nls.c
Modified: trunk/reactos/include/reactos/subsys/win/conmsg.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/subsys/win/... ============================================================================== --- trunk/reactos/include/reactos/subsys/win/conmsg.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/subsys/win/conmsg.h [iso-8859-1] Sat Aug 31 08:30:00 2013 @@ -164,7 +164,7 @@ DWORD dwHotKey; DWORD dwStartupFlags; CONSOLE_PROPERTIES; - BOOL ConsoleNeeded; // Used for GUI apps only. + BOOLEAN ConsoleNeeded; // Used for GUI apps only. LPTHREAD_START_ROUTINE CtrlDispatcher; LPTHREAD_START_ROUTINE ImeDispatcher; LPTHREAD_START_ROUTINE PropDispatcher;
Modified: trunk/reactos/subsystems/win/basesrv/basesrv.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win/basesrv/base... ============================================================================== --- trunk/reactos/subsystems/win/basesrv/basesrv.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win/basesrv/basesrv.h [iso-8859-1] Sat Aug 31 08:30:00 2013 @@ -43,8 +43,8 @@ typedef BOOL(*WINAPI PGET_NLS_SECTION_NAME)(UINT CodePage, UINT Base, ULONG Unknown, - LPSTR BaseName, - LPSTR Result, + LPWSTR BaseName, + LPWSTR Result, ULONG ResultSize );
Modified: trunk/reactos/subsystems/win/basesrv/nls.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win/basesrv/nls.... ============================================================================== --- trunk/reactos/subsystems/win/basesrv/nls.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win/basesrv/nls.c [iso-8859-1] Sat Aug 31 08:30:00 2013 @@ -151,6 +151,8 @@ PWCHAR NlsFileName; UCHAR SecurityDescriptor[52]; OBJECT_ATTRIBUTES ObjectAttributes; + WCHAR FileNameBuffer[32]; + WCHAR NlsSectionNameBuffer[32]; PBASE_NLS_CREATE_SECTION NlsMsg = &((PBASE_API_MESSAGE)ApiMessage)->Data.NlsCreateSection;
/* Load kernel32 first and import the NLS routines */ @@ -211,8 +213,34 @@ DPRINT1("This type not yet supported\n"); return STATUS_NOT_IMPLEMENTED; case 11: - DPRINT1("This type not yet supported\n"); - return STATUS_NOT_IMPLEMENTED; + /* Get the filename for this locale */ + if (!pGetCPFileNameFromRegistry(NlsMsg->LocaleId, + FileNameBuffer, + RTL_NUMBER_OF(FileNameBuffer))) + { + DPRINT1("File name query failed\n"); + return STATUS_INVALID_PARAMETER; + } + + /* Get the name of the section for this locale */ + DPRINT1("File name: %S\n", FileNameBuffer); + Status = pGetNlsSectionName(NlsMsg->LocaleId, + 10, + 0, + L"\NLS\NlsSectionCP", + NlsSectionNameBuffer, + RTL_NUMBER_OF(NlsSectionNameBuffer)); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Section name query failed: %lx\n", Status); + return Status; + } + + /* Setup the name and go open it */ + NlsFileName = FileNameBuffer; + DPRINT1("Section name: %S\n", NlsSectionNameBuffer); + RtlInitUnicodeString(&NlsSectionName, NlsSectionNameBuffer); + break; case 12: RtlInitUnicodeString(&NlsSectionName, L"\NLS\NlsSectionGeo"); NlsFileName = L"geo.nls";