[BASESRV]: Stubplement all the APIs so that our IDs match with Windows. Windows kernel32 now dies when calling NLSCreateSection.

svn path=/trunk/; revision=59872
This commit is contained in:
Alex Ionescu 2013-08-29 17:00:10 +00:00
parent b626c99f0b
commit 93bba5bf09
7 changed files with 268 additions and 89 deletions

View file

@ -22,33 +22,32 @@ typedef enum _BASESRV_API_NUMBER
BasepCreateThread, BasepCreateThread,
BasepGetTempFile, BasepGetTempFile,
BasepExitProcess, BasepExitProcess,
// BasepDebugProcess, BasepDebugProcess,
// BasepCheckVDM, BasepCheckVDM,
// BasepUpdateVDMEntry, BasepUpdateVDMEntry,
// BasepGetNextVDMCommand, BasepGetNextVDMCommand,
// BasepExitVDM, BasepExitVDM,
// BasepIsFirstVDM, BasepIsFirstVDM,
// BasepGetVDMExitCode, BasepGetVDMExitCode,
// BasepSetReenterCount, BasepSetReenterCount,
BasepSetProcessShutdownParam, BasepSetProcessShutdownParam,
BasepGetProcessShutdownParam, BasepGetProcessShutdownParam,
// BasepNlsSetUserInfo, BasepNlsSetUserInfo,
// BasepNlsSetMultipleUserInfo, BasepNlsSetMultipleUserInfo,
// BasepNlsCreateSection, BasepNlsCreateSection,
// BasepSetVDMCurDirs, BasepSetVDMCurDirs,
// BasepGetVDMCurDirs, BasepGetVDMCurDirs,
// BasepBatNotification, BasepBatNotification,
// BasepRegisterWowExec, BasepRegisterWowExec,
BasepSoundSentryNotification, BasepSoundSentryNotification,
// BasepRefreshIniFileMapping, BasepRefreshIniFileMapping,
BasepDefineDosDevice, BasepDefineDosDevice,
// BasepSetTermsrvAppInstallMode, BasepSetTermsrvAppInstallMode,
// BasepNlsUpdateCacheCount, BasepNlsUpdateCacheCount,
// BasepSetTermsrvClientTimeZone, BasepSetTermsrvClientTimeZone,
// BasepSxsCreateActivationContext, BasepSxsCreateActivationContext,
// BasepRegisterThread, BasepRegisterThread,
// BasepNlsGetUserInfo, BasepNlsGetUserInfo,
BasepMaxApiNumber BasepMaxApiNumber
} BASESRV_API_NUMBER, *PBASESRV_API_NUMBER; } BASESRV_API_NUMBER, *PBASESRV_API_NUMBER;

View file

@ -8,6 +8,8 @@ list(APPEND SOURCE
init.c init.c
proc.c proc.c
sndsntry.c sndsntry.c
vdm.c
nls.c
basesrv.rc basesrv.rc
${CMAKE_CURRENT_BINARY_DIR}/basesrv.def) ${CMAKE_CURRENT_BINARY_DIR}/basesrv.def)

View file

@ -21,8 +21,34 @@ CSR_API(BaseSrvCreateThread);
CSR_API(BaseSrvExitProcess); CSR_API(BaseSrvExitProcess);
CSR_API(BaseSrvGetProcessShutdownParam); CSR_API(BaseSrvGetProcessShutdownParam);
CSR_API(BaseSrvSetProcessShutdownParam); CSR_API(BaseSrvSetProcessShutdownParam);
CSR_API(BaseSrvDebugProcess);
CSR_API(BaseSrvRegisterThread);
CSR_API(BaseSrvSxsCreateActivationContext);
CSR_API(BaseSrvSetTermsrvAppInstallMode);
CSR_API(BaseSrvSetTermsrvClientTimeZone);
/* sndsntry.c */ /* sndsntry.c */
CSR_API(BaseSrvSoundSentryNotification); CSR_API(BaseSrvSoundSentryNotification);
/* vdm.c */
CSR_API(BaseSrvCheckVDM);
CSR_API(BaseSrvUpdateVDMEntry);
CSR_API(BaseSrvGetNextVDMCommand);
CSR_API(BaseSrvExitVDM);
CSR_API(BaseSrvIsFirstVDM);
CSR_API(BaseSrvGetVDMExitCode);
CSR_API(BaseSrvSetReenterCount);
CSR_API(BaseSrvSetVDMCurDirs);
CSR_API(BaseSrvGetVDMCurDirs);
CSR_API(BaseSrvBatNotification);
CSR_API(BaseSrvRegisterWowExec);
CSR_API(BaseSrvRefreshIniFileMapping);
/* nls.c */
CSR_API(BaseSrvNlsSetUserInfo);
CSR_API(BaseSrvNlsSetMultipleUserInfo);
CSR_API(BaseSrvNlsCreateSection);
CSR_API(BaseSrvNlsUpdateCacheCount);
CSR_API(BaseSrvNlsGetUserInfo);
/* EOF */ /* EOF */

View file

@ -30,32 +30,32 @@ PCSR_API_ROUTINE BaseServerApiDispatchTable[BasepMaxApiNumber - BASESRV_FIRST_AP
BaseSrvCreateThread, BaseSrvCreateThread,
BaseSrvGetTempFile, BaseSrvGetTempFile,
BaseSrvExitProcess, BaseSrvExitProcess,
// BaseSrvDebugProcess, BaseSrvDebugProcess,
// BaseSrvCheckVDM, BaseSrvCheckVDM,
// BaseSrvUpdateVDMEntry, BaseSrvUpdateVDMEntry,
// BaseSrvGetNextVDMCommand, BaseSrvGetNextVDMCommand,
// BaseSrvExitVDM, BaseSrvExitVDM,
// BaseSrvIsFirstVDM, BaseSrvIsFirstVDM,
// BaseSrvGetVDMExitCode, BaseSrvGetVDMExitCode,
// BaseSrvSetReenterCount, BaseSrvSetReenterCount,
BaseSrvSetProcessShutdownParam, BaseSrvSetProcessShutdownParam,
BaseSrvGetProcessShutdownParam, BaseSrvGetProcessShutdownParam,
// BaseSrvNlsSetUserInfo, BaseSrvNlsSetUserInfo,
// BaseSrvNlsSetMultipleUserInfo, BaseSrvNlsSetMultipleUserInfo,
// BaseSrvNlsCreateSection, BaseSrvNlsCreateSection,
// BaseSrvSetVDMCurDirs, BaseSrvSetVDMCurDirs,
// BaseSrvGetVDMCurDirs, BaseSrvGetVDMCurDirs,
// BaseSrvBatNotification, BaseSrvBatNotification,
// BaseSrvRegisterWowExec, BaseSrvRegisterWowExec,
BaseSrvSoundSentryNotification, BaseSrvSoundSentryNotification,
// BaseSrvRefreshIniFileMapping, BaseSrvRefreshIniFileMapping,
BaseSrvDefineDosDevice, BaseSrvDefineDosDevice,
// BaseSrvSetTermsrvAppInstallMode, BaseSrvSetTermsrvAppInstallMode,
// BaseSrvNlsUpdateCacheCount, BaseSrvNlsUpdateCacheCount,
// BaseSrvSetTermsrvClientTimeZone, BaseSrvSetTermsrvClientTimeZone,
// BaseSrvSxsCreateActivationContext, BaseSrvSxsCreateActivationContext,
// BaseSrvRegisterThread, BaseSrvRegisterThread,
// BaseSrvNlsGetUserInfo, BaseSrvNlsGetUserInfo,
}; };
BOOLEAN BaseServerApiServerValidTable[BasepMaxApiNumber - BASESRV_FIRST_API_NUMBER] = BOOLEAN BaseServerApiServerValidTable[BasepMaxApiNumber - BASESRV_FIRST_API_NUMBER] =
@ -64,32 +64,32 @@ BOOLEAN BaseServerApiServerValidTable[BasepMaxApiNumber - BASESRV_FIRST_API_NUMB
TRUE, // BaseSrvCreateThread TRUE, // BaseSrvCreateThread
TRUE, // BaseSrvGetTempFile TRUE, // BaseSrvGetTempFile
FALSE, // BaseSrvExitProcess FALSE, // BaseSrvExitProcess
// FALSE, // BaseSrvDebugProcess FALSE, // BaseSrvDebugProcess
// TRUE, // BaseSrvCheckVDM TRUE, // BaseSrvCheckVDM
// TRUE, // BaseSrvUpdateVDMEntry TRUE, // BaseSrvUpdateVDMEntry
// TRUE, // BaseSrvGetNextVDMCommand TRUE, // BaseSrvGetNextVDMCommand
// TRUE, // BaseSrvExitVDM TRUE, // BaseSrvExitVDM
// TRUE, // BaseSrvIsFirstVDM TRUE, // BaseSrvIsFirstVDM
// TRUE, // BaseSrvGetVDMExitCode TRUE, // BaseSrvGetVDMExitCode
// TRUE, // BaseSrvSetReenterCount TRUE, // BaseSrvSetReenterCount
TRUE, // BaseSrvSetProcessShutdownParam TRUE, // BaseSrvSetProcessShutdownParam
TRUE, // BaseSrvGetProcessShutdownParam TRUE, // BaseSrvGetProcessShutdownParam
// TRUE, // BaseSrvNlsSetUserInfo TRUE, // BaseSrvNlsSetUserInfo
// TRUE, // BaseSrvNlsSetMultipleUserInfo TRUE, // BaseSrvNlsSetMultipleUserInfo
// TRUE, // BaseSrvNlsCreateSection TRUE, // BaseSrvNlsCreateSection
// TRUE, // BaseSrvSetVDMCurDirs TRUE, // BaseSrvSetVDMCurDirs
// TRUE, // BaseSrvGetVDMCurDirs TRUE, // BaseSrvGetVDMCurDirs
// TRUE, // BaseSrvBatNotification TRUE, // BaseSrvBatNotification
// TRUE, // BaseSrvRegisterWowExec TRUE, // BaseSrvRegisterWowExec
TRUE, // BaseSrvSoundSentryNotification TRUE, // BaseSrvSoundSentryNotification
// TRUE, // BaseSrvRefreshIniFileMapping TRUE, // BaseSrvRefreshIniFileMapping
TRUE, // BaseSrvDefineDosDevice TRUE, // BaseSrvDefineDosDevice
// FALSE, // BaseSrvSetTermsrvAppInstallMode FALSE, // BaseSrvSetTermsrvAppInstallMode
// FALSE, // BaseSrvNlsUpdateCacheCount FALSE, // BaseSrvNlsUpdateCacheCount
// FALSE, // BaseSrvSetTermsrvClientTimeZone FALSE, // BaseSrvSetTermsrvClientTimeZone
// FALSE, // BaseSrvSxsCreateActivationContext FALSE, // BaseSrvSxsCreateActivationContext
// FALSE, // BaseSrvRegisterThread FALSE, // BaseSrvRegisterThread
// FALSE, // BaseSrvNlsGetUserInfo FALSE, // BaseSrvNlsGetUserInfo
}; };
PCHAR BaseServerApiNameTable[BasepMaxApiNumber - BASESRV_FIRST_API_NUMBER] = PCHAR BaseServerApiNameTable[BasepMaxApiNumber - BASESRV_FIRST_API_NUMBER] =
@ -98,32 +98,32 @@ PCHAR BaseServerApiNameTable[BasepMaxApiNumber - BASESRV_FIRST_API_NUMBER] =
"BaseCreateThread", "BaseCreateThread",
"BaseGetTempFile", "BaseGetTempFile",
"BaseExitProcess", "BaseExitProcess",
// "BaseDebugProcess", "BaseDebugProcess",
// "BaseCheckVDM", "BaseCheckVDM",
// "BaseUpdateVDMEntry", "BaseUpdateVDMEntry",
// "BaseGetNextVDMCommand", "BaseGetNextVDMCommand",
// "BaseExitVDM", "BaseExitVDM",
// "BaseIsFirstVDM", "BaseIsFirstVDM",
// "BaseGetVDMExitCode", "BaseGetVDMExitCode",
// "BaseSetReenterCount", "BaseSetReenterCount",
"BaseSetProcessShutdownParam", "BaseSetProcessShutdownParam",
"BaseGetProcessShutdownParam", "BaseGetProcessShutdownParam",
// "BaseNlsSetUserInfo", "BaseNlsSetUserInfo",
// "BaseNlsSetMultipleUserInfo", "BaseNlsSetMultipleUserInfo",
// "BaseNlsCreateSection", "BaseNlsCreateSection",
// "BaseSetVDMCurDirs", "BaseSetVDMCurDirs",
// "BaseGetVDMCurDirs", "BaseGetVDMCurDirs",
// "BaseBatNotification", "BaseBatNotification",
// "BaseRegisterWowExec", "BaseRegisterWowExec",
"BaseSoundSentryNotification", "BaseSoundSentryNotification",
// "BaseRefreshIniFileMapping", "BaseRefreshIniFileMapping",
"BaseDefineDosDevice", "BaseDefineDosDevice",
// "BaseSetTermsrvAppInstallMode", "BaseSetTermsrvAppInstallMode",
// "BaseNlsUpdateCacheCount", "BaseNlsUpdateCacheCount",
// "BaseSetTermsrvClientTimeZone", "BaseSetTermsrvClientTimeZone",
// "BaseSxsCreateActivationContext", "BaseSxsCreateActivationContext",
// "BaseRegisterThread", "BaseRegisterThread",
// "BaseNlsGetUserInfo", "BaseNlsGetUserInfo",
}; };

View file

@ -0,0 +1,49 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Base API Server DLL
* FILE: subsystems/win/basesrv/vdm.c
* PURPOSE: Virtual DOS Machines (VDM) Support
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
/* INCLUDES *******************************************************************/
#include "basesrv.h"
#define NDEBUG
#include <debug.h>
/* PUBLIC SERVER APIS *********************************************************/
CSR_API(BaseSrvNlsSetUserInfo)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvNlsSetMultipleUserInfo)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvNlsCreateSection)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvNlsUpdateCacheCount)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvNlsGetUserInfo)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -15,6 +15,35 @@
/* PUBLIC SERVER APIS *********************************************************/ /* PUBLIC SERVER APIS *********************************************************/
CSR_API(BaseSrvDebugProcess)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvRegisterThread)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvSxsCreateActivationContext)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvSetTermsrvAppInstallMode)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvSetTermsrvClientTimeZone)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvGetTempFile) CSR_API(BaseSrvGetTempFile)
{ {
static UINT BaseGetTempFileUnique = 0; static UINT BaseGetTempFileUnique = 0;

View file

@ -13,4 +13,78 @@
#define NDEBUG #define NDEBUG
#include <debug.h> #include <debug.h>
/* PUBLIC SERVER APIS *********************************************************/
CSR_API(BaseSrvCheckVDM)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvUpdateVDMEntry)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvGetNextVDMCommand)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvExitVDM)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvIsFirstVDM)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvGetVDMExitCode)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvSetReenterCount)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvSetVDMCurDirs)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvGetVDMCurDirs)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvBatNotification)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvRegisterWowExec)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(BaseSrvRefreshIniFileMapping)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */ /* EOF */