[KERNEL32]

Implement SetVDMCurrentDirectories.


svn path=/branches/ntvdm/; revision=62098
This commit is contained in:
Aleksandar Andrejevic 2014-02-10 14:24:36 +00:00
parent 5a678ff4e0
commit 24d5936eb9

View file

@ -1239,17 +1239,44 @@ RegisterWowExec (
/* /*
* @unimplemented * @implemented
*/ */
BOOL BOOL
WINAPI WINAPI
SetVDMCurrentDirectories ( SetVDMCurrentDirectories(DWORD cchCurDirs, PCHAR lpszzCurDirs)
DWORD Unknown0,
DWORD Unknown1
)
{ {
STUB; BASE_API_MESSAGE ApiMessage;
return FALSE; PBASE_GETSET_VDM_CURDIRS VDMCurrentDirsRequest = &ApiMessage.Data.VDMCurrentDirsRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer;
/* Allocate the capture buffer */
CaptureBuffer = CsrAllocateCaptureBuffer(1, cchCurDirs);
if (CaptureBuffer == NULL)
{
BaseSetLastNTError(STATUS_NO_MEMORY);
return FALSE;
}
/* Setup the input parameters */
VDMCurrentDirsRequest->cchCurDirs = cchCurDirs;
CsrCaptureMessageBuffer(CaptureBuffer,
lpszzCurDirs,
cchCurDirs,
(PVOID*)&VDMCurrentDirsRequest->lpszzCurDirs);
/* Call CSRSS */
CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
CaptureBuffer,
CSR_CREATE_API_NUMBER(BASESRV_SERVERDLL_INDEX, BasepGetVDMCurDirs),
sizeof(BASE_GETSET_VDM_CURDIRS));
/* Free the capture buffer */
CsrFreeCaptureBuffer(CaptureBuffer);
/* Set the last error */
BaseSetLastNTError(ApiMessage.Status);
return NT_SUCCESS(ApiMessage.Status) ? TRUE : FALSE;
} }
/* /*