[BASESRV]

- Whitespace fixes.
- Stub AppCompat module.
Patch by Timo Kreuzer.
CORE-7505 #comment AppCompat committed in r65681.

svn path=/trunk/; revision=65681
This commit is contained in:
Hermès Bélusca-Maïto 2014-12-15 22:48:38 +00:00
parent 5fd0b10a9d
commit d63ba99439
7 changed files with 92 additions and 20 deletions

View file

@ -1,8 +1,10 @@
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/subsys) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/subsys)
spec2def(basesrv.dll basesrv.spec) spec2def(basesrv.dll basesrv.spec)
list(APPEND SOURCE list(APPEND SOURCE
appcompat.c
dosdev.c dosdev.c
init.c init.c
proc.c proc.c

View file

@ -8,6 +8,9 @@
#pragma once #pragma once
/* appcompat.c */
CSR_API(BaseSrvCheckApplicationCompatibility);
/* dosdev.c */ /* dosdev.c */
VOID BaseInitDefineDosDevice(VOID); VOID BaseInitDefineDosDevice(VOID);
VOID BaseCleanupDefineDosDevice(VOID); VOID BaseCleanupDefineDosDevice(VOID);

View file

@ -0,0 +1,67 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Base API Server DLL
* FILE: subsystems/win/basesrv/init.c
* PURPOSE: Initialization
* PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org)
*/
/* INCLUDES *******************************************************************/
#include "basesrv.h"
#include "api.h"
#define NDEBUG
#include <debug.h>
/* GLOBALS ********************************************************************/
typedef struct _BASE_APP_COMPAT_EXTRA1
{
WCHAR String1[32];
ULONG tdwFlags;
ULONG SizeOfStruct;
ULONG tdwMagic;
ULONG ttrExe;
ULONG dword50;
ULONG dword54;
ULONG dword58;
PVOID ttrLayer;
CHAR String2[28];
ULONG dword7C;
ULONG dword80;
ULONG field_84;
CHAR String3[256];
} BASE_APP_COMPAT_EXTRA1, *PBASE_APP_COMPAT_EXTRA1;
typedef struct _BASE_APP_COMPAT_DATA
{
UNICODE_STRING FileName;
HANDLE ProcessHandle;
ULONG Flags;
USHORT Code;
USHORT Unknown_012;
PVOID Environment;
ULONG EnvironmentSize;
PBASE_APP_COMPAT_EXTRA1 AppCompExtra1;
ULONG AppCompExtra1Size;
PVOID AppCompExtra2;
ULONG AppCompExtra2Size;
BOOL CheckRunAppResult;
ULONG Flags2;
} BASE_APP_COMPAT_DATA, *PBASE_APP_COMPAT_DATA;
/* PUBLIC SERVER APIS *********************************************************/
CSR_API(BaseSrvCheckApplicationCompatibility)
{
PBASE_APP_COMPAT_DATA AppCompatData = (PBASE_APP_COMPAT_DATA)&ApiMessage->Data;
DPRINT1("BASESRV: BaseSrvCheckApplicationCompatibility(%wZ)\n",
AppCompatData->FileName);
AppCompatData->CheckRunAppResult = FALSE;
return STATUS_SUCCESS;
}
/* EOF */

View file

@ -36,29 +36,29 @@
typedef struct _BASESRV_KERNEL_IMPORTS typedef struct _BASESRV_KERNEL_IMPORTS
{ {
PCHAR FunctionName; PCHAR FunctionName;
PVOID* FunctionPointer; PVOID* FunctionPointer;
} BASESRV_KERNEL_IMPORTS, *PBASESRV_KERNEL_IMPORTS; } BASESRV_KERNEL_IMPORTS, *PBASESRV_KERNEL_IMPORTS;
/* FIXME: BASENLS.H */ /* FIXME: BASENLS.H */
typedef NTSTATUS(WINAPI *POPEN_DATA_FILE)(HANDLE hFile, typedef NTSTATUS (WINAPI *POPEN_DATA_FILE)(HANDLE hFile,
PWCHAR FileName); PWCHAR FileName);
typedef BOOL(WINAPI *PGET_CP_FILE_NAME_FROM_REGISTRY)(UINT CodePage, typedef BOOL (WINAPI *PGET_CP_FILE_NAME_FROM_REGISTRY)(UINT CodePage,
LPWSTR FileName, LPWSTR FileName,
ULONG FileNameSize); ULONG FileNameSize);
typedef BOOL(WINAPI *PGET_NLS_SECTION_NAME)(UINT CodePage, typedef BOOL (WINAPI *PGET_NLS_SECTION_NAME)(UINT CodePage,
UINT Base, UINT Base,
ULONG Unknown, ULONG Unknown,
LPWSTR BaseName, LPWSTR BaseName,
LPWSTR Result, LPWSTR Result,
ULONG ResultSize); ULONG ResultSize);
typedef BOOL(WINAPI *PVALIDATE_LOCALE)(IN ULONG LocaleId); typedef BOOL (WINAPI *PVALIDATE_LOCALE)(IN ULONG LocaleId);
typedef NTSTATUS(WINAPI *PCREATE_NLS_SECURTY_DESCRIPTOR)(IN PVOID Buffer, typedef NTSTATUS (WINAPI *PCREATE_NLS_SECURTY_DESCRIPTOR)(IN PVOID Buffer,
IN ULONG BufferSize, IN ULONG BufferSize,
IN ULONG AceType); IN ULONG AceType);
/* Globals */ /* Globals */
extern HANDLE BaseSrvHeap; extern HANDLE BaseSrvHeap;

View file

@ -51,7 +51,7 @@ BASESRV_KERNEL_IMPORTS BaseSrvKernel32Imports[10] =
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
NTSTATUS NTSTATUS
NTAPI NTAPI
BaseSrvDelayLoadKernel32(VOID) BaseSrvDelayLoadKernel32(VOID)
{ {

View file

@ -50,7 +50,7 @@ FirstSoundSentry(VOID)
0, 0,
(PVOID*)&NewSoundSentry); (PVOID*)&NewSoundSentry);
} }
/* Set it as the callback for the future, and call it */ /* Set it as the callback for the future, and call it */
_UserSoundSentry = NewSoundSentry; _UserSoundSentry = NewSoundSentry;
return _UserSoundSentry(); return _UserSoundSentry();

View file

@ -364,7 +364,7 @@ BOOLEAN NTAPI BaseSrvCopyCommand(PBASE_CHECK_VDM CheckVdmRequest, PVDM_DOS_RECOR
RtlMoveMemory(&CommandInfo->StartupInfo, RtlMoveMemory(&CommandInfo->StartupInfo,
CheckVdmRequest->StartupInfo, CheckVdmRequest->StartupInfo,
sizeof(STARTUPINFOA)); sizeof(STARTUPINFOA));
/* Allocate memory for the desktop */ /* Allocate memory for the desktop */
if (CheckVdmRequest->DesktopLen != 0) if (CheckVdmRequest->DesktopLen != 0)
{ {
@ -1000,7 +1000,7 @@ CSR_API(BaseSrvGetNextVDMCommand)
DosRecord->ExitCode = GetNextVdmCommandRequest->ExitCode; DosRecord->ExitCode = GetNextVdmCommandRequest->ExitCode;
/* Update the VDM state */ /* Update the VDM state */
DosRecord->State = VDM_READY; DosRecord->State = VDM_READY;
/* Notify all waiting threads that the task is finished */ /* Notify all waiting threads that the task is finished */
NtSetEvent(DosRecord->ServerEvent, NULL); NtSetEvent(DosRecord->ServerEvent, NULL);