mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 22:56:00 +00:00
[KERNEL32]: Remove stubs.c and instead distribute stubs in their appropriate files.
[KERNEL32]: Create vdm.c and appcache.c since no files existed for these kinds of APIs. svn path=/trunk/; revision=52770
This commit is contained in:
parent
e18ef1f5a7
commit
222e577a94
24 changed files with 1507 additions and 1558 deletions
|
@ -8,6 +8,7 @@ set_rc_compiler()
|
||||||
spec2def(kernel32.dll kernel32.spec)
|
spec2def(kernel32.dll kernel32.spec)
|
||||||
|
|
||||||
list(APPEND SOURCE
|
list(APPEND SOURCE
|
||||||
|
client/appcache.c
|
||||||
client/atom.c
|
client/atom.c
|
||||||
client/compname.c
|
client/compname.c
|
||||||
client/debugger.c
|
client/debugger.c
|
||||||
|
@ -29,6 +30,7 @@ list(APPEND SOURCE
|
||||||
client/timerqueue.c
|
client/timerqueue.c
|
||||||
client/utils.c
|
client/utils.c
|
||||||
client/thread.c
|
client/thread.c
|
||||||
|
client/vdm.c
|
||||||
client/version.c
|
client/version.c
|
||||||
client/virtmem.c
|
client/virtmem.c
|
||||||
client/vista.c
|
client/vista.c
|
||||||
|
@ -63,7 +65,6 @@ list(APPEND SOURCE
|
||||||
client/misc/muldiv.c
|
client/misc/muldiv.c
|
||||||
client/misc/profile.c
|
client/misc/profile.c
|
||||||
client/misc/res.c
|
client/misc/res.c
|
||||||
client/misc/stubs.c
|
|
||||||
client/misc/time.c
|
client/misc/time.c
|
||||||
client/misc/toolhelp.c
|
client/misc/toolhelp.c
|
||||||
winnls/string/casemap.c
|
winnls/string/casemap.c
|
||||||
|
|
126
reactos/dll/win32/kernel32/client/appcache.c
Normal file
126
reactos/dll/win32/kernel32/client/appcache.c
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Win32 Base API
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* FILE: dll/win32/kernel32/client/appcache.c
|
||||||
|
* PURPOSE: Application Compatibility Cache
|
||||||
|
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* INCLUDES *******************************************************************/
|
||||||
|
|
||||||
|
#include <k32.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
/* TYPES **********************************************************************/
|
||||||
|
|
||||||
|
/* FUNCTIONS ******************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
BaseDumpAppcompatCache(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
BaseFlushAppcompatCache(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
BaseCheckAppcompatCache(ULONG Unknown1,
|
||||||
|
ULONG Unknown2,
|
||||||
|
ULONG Unknown3,
|
||||||
|
PULONG Unknown4)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
if (Unknown4) *Unknown4 = 0;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
BaseUpdateAppcompatCache(ULONG Unknown1,
|
||||||
|
ULONG Unknown2,
|
||||||
|
ULONG Unknown3)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
WINAPI
|
||||||
|
BaseCleanupAppcompatCache(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
WINAPI
|
||||||
|
BaseCleanupAppcompatCacheSupport(PVOID pUnknown)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
BaseInitAppcompatCache(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
BaseInitAppcompatCacheSupport(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
PVOID
|
||||||
|
WINAPI
|
||||||
|
GetComPlusPackageInstallStatus(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
SetTermsrvAppInstallMode(IN BOOL bInstallMode)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
TermsrvAppInstallMode(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
|
@ -558,4 +558,77 @@ DnsHostnameToComputerNameW(LPCWSTR hostname,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
AddLocalAlternateComputerNameA(LPSTR lpName, PNTSTATUS Status)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
AddLocalAlternateComputerNameW(LPWSTR lpName, PNTSTATUS Status)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
EnumerateLocalComputerNamesA(PVOID pUnknown, DWORD Size, LPSTR lpBuffer, LPDWORD lpnSize)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
EnumerateLocalComputerNamesW(PVOID pUnknown, DWORD Size, LPWSTR lpBuffer, LPDWORD lpnSize)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
RemoveLocalAlternateComputerNameA(LPSTR lpName, DWORD Unknown)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
RemoveLocalAlternateComputerNameW(LPWSTR lpName, DWORD Unknown)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetLocalPrimaryComputerNameA(IN DWORD Unknown1,
|
||||||
|
IN DWORD Unknown2)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetLocalPrimaryComputerNameW(IN DWORD Unknown1,
|
||||||
|
IN DWORD Unknown2)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -697,4 +697,17 @@ GetLastError()
|
||||||
return NtCurrentTeb()->LastErrorValue;
|
return NtCurrentTeb()->LastErrorValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
RestoreLastError(
|
||||||
|
DWORD dwErrCode
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -4195,4 +4195,143 @@ GetConsoleInputExeNameA(DWORD nBufferLength, LPSTR lpBuffer)
|
||||||
return Ret;
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCharType(HANDLE hConsole, COORD Coord, PDWORD Type)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleCursorMode(HANDLE hConsole, PBOOL pUnknown1, PBOOL pUnknown2)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetConsoleNlsMode(HANDLE hConsole, LPDWORD lpMode)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
ReadConsoleInputExA(HANDLE hConsole, LPVOID lpBuffer, DWORD dwLen, LPDWORD Unknown1, DWORD Unknown2)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
ReadConsoleInputExW(HANDLE hConsole, LPVOID lpBuffer, DWORD dwLen, LPDWORD Unknown1, DWORD Unknown2)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterConsoleIME(HWND hWnd, LPDWORD ThreadId)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterConsoleOS2(BOOL bUnknown)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCursorMode(HANDLE hConsole, BOOL Unknown1, BOOL Unknown2)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleLocalEUDC(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleNlsMode(HANDLE hConsole, DWORD dwMode)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleOS2OemFormat(BOOL bUnknown)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
UnregisterConsoleIME(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL WINAPI GetConsoleKeyboardLayoutNameA(LPSTR name)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL WINAPI GetConsoleKeyboardLayoutNameW(LPWSTR name)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetLastConsoleEventActive(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetConsoleCommandHistoryMode(IN DWORD dwMode)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -2020,4 +2020,143 @@ Cleanup:
|
||||||
return Ret;
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
ReadFileScatter(HANDLE hFile,
|
||||||
|
FILE_SEGMENT_ELEMENT aSegmentArray[],
|
||||||
|
DWORD nNumberOfBytesToRead,
|
||||||
|
LPDWORD lpReserved,
|
||||||
|
LPOVERLAPPED lpOverlapped)
|
||||||
|
{
|
||||||
|
PIO_STATUS_BLOCK pIOStatus;
|
||||||
|
LARGE_INTEGER Offset;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
DPRINT("(%p %p %u %p)\n", hFile, aSegmentArray, nNumberOfBytesToRead, lpOverlapped);
|
||||||
|
|
||||||
|
Offset.LowPart = lpOverlapped->Offset;
|
||||||
|
Offset.HighPart = lpOverlapped->OffsetHigh;
|
||||||
|
pIOStatus = (PIO_STATUS_BLOCK) lpOverlapped;
|
||||||
|
pIOStatus->Status = STATUS_PENDING;
|
||||||
|
pIOStatus->Information = 0;
|
||||||
|
|
||||||
|
Status = NtReadFileScatter(hFile,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
pIOStatus,
|
||||||
|
aSegmentArray,
|
||||||
|
nNumberOfBytesToRead,
|
||||||
|
&Offset,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
SetLastError(RtlNtStatusToDosError(Status));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
WriteFileGather(HANDLE hFile,
|
||||||
|
FILE_SEGMENT_ELEMENT aSegmentArray[],
|
||||||
|
DWORD nNumberOfBytesToWrite,
|
||||||
|
LPDWORD lpReserved,
|
||||||
|
LPOVERLAPPED lpOverlapped)
|
||||||
|
{
|
||||||
|
PIO_STATUS_BLOCK IOStatus;
|
||||||
|
LARGE_INTEGER Offset;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
DPRINT("%p %p %u %p\n", hFile, aSegmentArray, nNumberOfBytesToWrite, lpOverlapped);
|
||||||
|
|
||||||
|
Offset.LowPart = lpOverlapped->Offset;
|
||||||
|
Offset.HighPart = lpOverlapped->OffsetHigh;
|
||||||
|
IOStatus = (PIO_STATUS_BLOCK) lpOverlapped;
|
||||||
|
IOStatus->Status = STATUS_PENDING;
|
||||||
|
IOStatus->Information = 0;
|
||||||
|
|
||||||
|
Status = NtWriteFileGather(hFile,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
IOStatus,
|
||||||
|
aSegmentArray,
|
||||||
|
nNumberOfBytesToWrite,
|
||||||
|
&Offset,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
SetLastError(RtlNtStatusToDosError(Status));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
OpenDataFile(HANDLE hFile, DWORD dwUnused)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
PrivMoveFileIdentityW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
HANDLE
|
||||||
|
WINAPI
|
||||||
|
ReOpenFile(IN HANDLE hOriginalFile,
|
||||||
|
IN DWORD dwDesiredAccess,
|
||||||
|
IN DWORD dwShareMode,
|
||||||
|
IN DWORD dwFlags)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return INVALID_HANDLE_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
WINAPI
|
||||||
|
Wow64EnableWow64FsRedirection (BOOLEAN Wow64EnableWow64FsRedirection)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
Wow64DisableWow64FsRedirection (VOID ** pv)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
Wow64RevertWow64FsRedirection (VOID * pv)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -192,27 +192,29 @@ CancelIo(HANDLE hFile)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
CancelIoEx(IN HANDLE hFile,
|
BindIoCompletionCallback(HANDLE FileHandle,
|
||||||
IN LPOVERLAPPED lpOverlapped)
|
LPOVERLAPPED_COMPLETION_ROUTINE Function,
|
||||||
|
ULONG Flags)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
NTSTATUS Status = 0;
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
DPRINT("(%p, %p, %d)\n", FileHandle, Function, Flags);
|
||||||
|
|
||||||
/*
|
Status = RtlSetIoCompletionCallback(FileHandle,
|
||||||
* @unimplemented
|
(PIO_APC_ROUTINE)Function,
|
||||||
*/
|
Flags);
|
||||||
BOOL
|
|
||||||
WINAPI
|
if (!NT_SUCCESS(Status))
|
||||||
CancelSynchronousIo(IN HANDLE hThread)
|
{
|
||||||
{
|
SetLastError(RtlNtStatusToDosError(Status));
|
||||||
UNIMPLEMENTED;
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1330,4 +1330,229 @@ Cleanup2:
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetVolumeMountPointW(
|
||||||
|
LPCWSTR lpszVolumeMountPoint,
|
||||||
|
LPCWSTR lpszVolumeName
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
DeleteVolumeMountPointA(
|
||||||
|
LPCSTR lpszVolumeMountPoint
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
HANDLE
|
||||||
|
WINAPI
|
||||||
|
FindFirstVolumeMountPointA(
|
||||||
|
LPCSTR lpszRootPathName,
|
||||||
|
LPSTR lpszVolumeMountPoint,
|
||||||
|
DWORD cchBufferLength
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
FindNextVolumeA(HANDLE handle,
|
||||||
|
LPSTR volume,
|
||||||
|
DWORD len)
|
||||||
|
{
|
||||||
|
WCHAR *buffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
|
if (!buffer)
|
||||||
|
{
|
||||||
|
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((ret = FindNextVolumeW( handle, buffer, len )))
|
||||||
|
{
|
||||||
|
if (!WideCharToMultiByte( CP_ACP, 0, buffer, -1, volume, len, NULL, NULL )) ret = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
HeapFree( GetProcessHeap(), 0, buffer );
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
FindNextVolumeMountPointA(
|
||||||
|
HANDLE hFindVolumeMountPoint,
|
||||||
|
LPSTR lpszVolumeMountPoint,
|
||||||
|
DWORD cchBufferLength
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetVolumePathNamesForVolumeNameA(
|
||||||
|
LPCSTR lpszVolumeName,
|
||||||
|
LPSTR lpszVolumePathNames,
|
||||||
|
DWORD cchBufferLength,
|
||||||
|
PDWORD lpcchReturnLength
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetVolumeMountPointA(
|
||||||
|
LPCSTR lpszVolumeMountPoint,
|
||||||
|
LPCSTR lpszVolumeName
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
FindVolumeMountPointClose(
|
||||||
|
HANDLE hFindVolumeMountPoint
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
DeleteVolumeMountPointW(
|
||||||
|
LPCWSTR lpszVolumeMountPoint
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
HANDLE
|
||||||
|
WINAPI
|
||||||
|
FindFirstVolumeMountPointW(
|
||||||
|
LPCWSTR lpszRootPathName,
|
||||||
|
LPWSTR lpszVolumeMountPoint,
|
||||||
|
DWORD cchBufferLength
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
FindNextVolumeW(
|
||||||
|
HANDLE handle,
|
||||||
|
LPWSTR volume,
|
||||||
|
DWORD len
|
||||||
|
)
|
||||||
|
{
|
||||||
|
MOUNTMGR_MOUNT_POINTS *data = handle;
|
||||||
|
|
||||||
|
while (data->Size < data->NumberOfMountPoints)
|
||||||
|
{
|
||||||
|
static const WCHAR volumeW[] = {'\\','?','?','\\','V','o','l','u','m','e','{',};
|
||||||
|
WCHAR *link = (WCHAR *)((char *)data + data->MountPoints[data->Size].SymbolicLinkNameOffset);
|
||||||
|
DWORD size = data->MountPoints[data->Size].SymbolicLinkNameLength;
|
||||||
|
data->Size++;
|
||||||
|
/* skip non-volumes */
|
||||||
|
if (size < sizeof(volumeW) || memcmp( link, volumeW, sizeof(volumeW) )) continue;
|
||||||
|
if (size + sizeof(WCHAR) >= len * sizeof(WCHAR))
|
||||||
|
{
|
||||||
|
SetLastError( ERROR_FILENAME_EXCED_RANGE );
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
memcpy( volume, link, size );
|
||||||
|
volume[1] = '\\'; /* map \??\ to \\?\ */
|
||||||
|
volume[size / sizeof(WCHAR)] = '\\'; /* Windows appends a backslash */
|
||||||
|
volume[size / sizeof(WCHAR) + 1] = 0;
|
||||||
|
DPRINT( "returning entry %u %s\n", data->Size - 1, volume );
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
SetLastError( ERROR_NO_MORE_FILES );
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
FindNextVolumeMountPointW(
|
||||||
|
HANDLE hFindVolumeMountPoint,
|
||||||
|
LPWSTR lpszVolumeMountPoint,
|
||||||
|
DWORD cchBufferLength
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetVolumePathNamesForVolumeNameW(
|
||||||
|
LPCWSTR lpszVolumeName,
|
||||||
|
LPWSTR lpszVolumePathNames,
|
||||||
|
DWORD cchBufferLength,
|
||||||
|
PDWORD lpcchReturnLength
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -215,4 +215,31 @@ UINT WINAPI SetHandleCount(UINT nCount)
|
||||||
return(nCount);
|
return(nCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD WINAPI GetHandleContext(HANDLE hnd)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
HANDLE WINAPI CreateSocketHandle(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return INVALID_HANDLE_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL WINAPI SetHandleContext(HANDLE hnd,DWORD context)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -431,4 +431,18 @@ TerminateJobObject(HANDLE hJob,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
CreateJobSet (
|
||||||
|
ULONG NumJob,
|
||||||
|
PJOB_SET_ARRAY UserJobSet,
|
||||||
|
ULONG Flags)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1168,4 +1168,33 @@ LoadModule(LPCSTR lpModuleName,
|
||||||
return GetLastError();
|
return GetLastError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
FARPROC WINAPI DelayLoadFailureHook(LPCSTR pszDllName, LPCSTR pszProcName)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL WINAPI UTRegister( HMODULE hModule, LPSTR lpsz16BITDLL,
|
||||||
|
LPSTR lpszInitName, LPSTR lpszProcName,
|
||||||
|
FARPROC *ppfn32Thunk, FARPROC pfnUT32CallBack,
|
||||||
|
LPVOID lpBuff )
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID WINAPI UTUnRegister( HMODULE hModule )
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -795,4 +795,16 @@ GetSystemTimes(LPFILETIME lpIdleTime,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetClientTimeZoneInformation(
|
||||||
|
CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -2144,6 +2144,29 @@ ProcessIdToSessionId(IN DWORD dwProcessId,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetProcessWorkingSetSizeEx(IN HANDLE hProcess,
|
||||||
|
IN SIZE_T dwMinimumWorkingSetSize,
|
||||||
|
IN SIZE_T dwMaximumWorkingSetSize,
|
||||||
|
IN DWORD Flags)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetProcessWorkingSetSizeEx(IN HANDLE hProcess,
|
||||||
|
OUT PSIZE_T lpMinimumWorkingSetSize,
|
||||||
|
OUT PSIZE_T lpMaximumWorkingSetSize,
|
||||||
|
OUT PDWORD Flags)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1351,4 +1351,152 @@ InitializeCriticalSectionAndSpinCount(OUT LPCRITICAL_SECTION lpCriticalSection,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
VOID WINAPI
|
||||||
|
Sleep(DWORD dwMilliseconds)
|
||||||
|
{
|
||||||
|
SleepEx(dwMilliseconds, FALSE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
DWORD WINAPI
|
||||||
|
SleepEx(DWORD dwMilliseconds,
|
||||||
|
BOOL bAlertable)
|
||||||
|
{
|
||||||
|
LARGE_INTEGER Interval;
|
||||||
|
NTSTATUS errCode;
|
||||||
|
|
||||||
|
if (dwMilliseconds != INFINITE)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* System time units are 100 nanoseconds (a nanosecond is a billionth of
|
||||||
|
* a second).
|
||||||
|
*/
|
||||||
|
Interval.QuadPart = -((LONGLONG)dwMilliseconds * 10000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Approximately 292000 years hence */
|
||||||
|
Interval.QuadPart = -0x7FFFFFFFFFFFFFFFLL;
|
||||||
|
}
|
||||||
|
|
||||||
|
dowait:
|
||||||
|
errCode = NtDelayExecution ((BOOLEAN)bAlertable, &Interval);
|
||||||
|
if ((bAlertable) && (errCode == STATUS_ALERTED)) goto dowait;
|
||||||
|
return (errCode == STATUS_USER_APC) ? WAIT_IO_COMPLETION : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterWaitForSingleObject(
|
||||||
|
PHANDLE phNewWaitObject,
|
||||||
|
HANDLE hObject,
|
||||||
|
WAITORTIMERCALLBACK Callback,
|
||||||
|
PVOID Context,
|
||||||
|
ULONG dwMilliseconds,
|
||||||
|
ULONG dwFlags
|
||||||
|
)
|
||||||
|
{
|
||||||
|
NTSTATUS Status = RtlRegisterWait(phNewWaitObject,
|
||||||
|
hObject,
|
||||||
|
Callback,
|
||||||
|
Context,
|
||||||
|
dwMilliseconds,
|
||||||
|
dwFlags);
|
||||||
|
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
SetLastErrorByStatus(Status);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
HANDLE
|
||||||
|
WINAPI
|
||||||
|
RegisterWaitForSingleObjectEx(
|
||||||
|
HANDLE hObject,
|
||||||
|
WAITORTIMERCALLBACK Callback,
|
||||||
|
PVOID Context,
|
||||||
|
ULONG dwMilliseconds,
|
||||||
|
ULONG dwFlags
|
||||||
|
)
|
||||||
|
{
|
||||||
|
NTSTATUS Status;
|
||||||
|
HANDLE hNewWaitObject;
|
||||||
|
|
||||||
|
Status = RtlRegisterWait(&hNewWaitObject,
|
||||||
|
hObject,
|
||||||
|
Callback,
|
||||||
|
Context,
|
||||||
|
dwMilliseconds,
|
||||||
|
dwFlags);
|
||||||
|
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
SetLastErrorByStatus(Status);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hNewWaitObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
UnregisterWait(
|
||||||
|
HANDLE WaitHandle
|
||||||
|
)
|
||||||
|
{
|
||||||
|
NTSTATUS Status = RtlDeregisterWaitEx(WaitHandle, NULL);
|
||||||
|
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
SetLastErrorByStatus(Status);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
UnregisterWaitEx(
|
||||||
|
HANDLE WaitHandle,
|
||||||
|
HANDLE CompletionEvent
|
||||||
|
)
|
||||||
|
{
|
||||||
|
NTSTATUS Status = RtlDeregisterWaitEx(WaitHandle, CompletionEvent);
|
||||||
|
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
SetLastErrorByStatus(Status);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -268,3 +268,160 @@ GetLogicalProcessorInformation(OUT PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer,
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetNumaHighestNodeNumber(
|
||||||
|
PULONG HighestNodeNumber
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetNumaNodeProcessorMask(
|
||||||
|
UCHAR Node,
|
||||||
|
PULONGLONG ProcessorMask
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetNumaProcessorNode(
|
||||||
|
UCHAR Processor,
|
||||||
|
PUCHAR NodeNumber
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetNumaAvailableMemoryNode(IN UCHAR Node,
|
||||||
|
OUT PULONGLONG AvailableBytes)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetFirmwareEnvironmentVariableW(
|
||||||
|
LPCWSTR lpName,
|
||||||
|
LPCWSTR lpGuid,
|
||||||
|
PVOID pBuffer,
|
||||||
|
DWORD nSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetFirmwareEnvironmentVariableW(
|
||||||
|
LPCWSTR lpName,
|
||||||
|
LPCWSTR lpGuid,
|
||||||
|
PVOID pValue,
|
||||||
|
DWORD nSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetFirmwareEnvironmentVariableA(
|
||||||
|
LPCSTR lpName,
|
||||||
|
LPCSTR lpGuid,
|
||||||
|
PVOID pBuffer,
|
||||||
|
DWORD nSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetFirmwareEnvironmentVariableA(
|
||||||
|
LPCSTR lpName,
|
||||||
|
LPCSTR lpGuid,
|
||||||
|
PVOID pValue,
|
||||||
|
DWORD nSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
UINT
|
||||||
|
WINAPI
|
||||||
|
EnumSystemFirmwareTables(IN DWORD FirmwareTableProviderSignature,
|
||||||
|
OUT PVOID pFirmwareTableBuffer,
|
||||||
|
IN DWORD BufferSize)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
UINT
|
||||||
|
WINAPI
|
||||||
|
GetSystemFirmwareTable(IN DWORD FirmwareTableProviderSignature,
|
||||||
|
IN DWORD FirmwareTableID,
|
||||||
|
OUT PVOID pFirmwareTableBuffer,
|
||||||
|
IN DWORD BufferSize)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
GetSystemFileCacheSize(OUT PSIZE_T lpMinimumFileCacheSize,
|
||||||
|
OUT PSIZE_T lpMaximumFileCacheSize,
|
||||||
|
OUT PDWORD lpFlags)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetSystemFileCacheSize(IN SIZE_T MinimumFileCacheSize,
|
||||||
|
IN SIZE_T MaximumFileCacheSize,
|
||||||
|
IN DWORD Flags)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -816,6 +816,15 @@ QueueUserAPC(PAPCFUNC pfnAPC, HANDLE hThread, ULONG_PTR dwData)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetThreadStackGuarantee(IN OUT PULONG StackSizeInBytes)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
@ -848,48 +857,6 @@ GetThreadIOPendingFlag(HANDLE hThread,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
VOID WINAPI
|
|
||||||
Sleep(DWORD dwMilliseconds)
|
|
||||||
{
|
|
||||||
SleepEx(dwMilliseconds, FALSE);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
DWORD WINAPI
|
|
||||||
SleepEx(DWORD dwMilliseconds,
|
|
||||||
BOOL bAlertable)
|
|
||||||
{
|
|
||||||
LARGE_INTEGER Interval;
|
|
||||||
NTSTATUS errCode;
|
|
||||||
|
|
||||||
if (dwMilliseconds != INFINITE)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* System time units are 100 nanoseconds (a nanosecond is a billionth of
|
|
||||||
* a second).
|
|
||||||
*/
|
|
||||||
Interval.QuadPart = -((LONGLONG)dwMilliseconds * 10000);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Approximately 292000 years hence */
|
|
||||||
Interval.QuadPart = -0x7FFFFFFFFFFFFFFFLL;
|
|
||||||
}
|
|
||||||
|
|
||||||
dowait:
|
|
||||||
errCode = NtDelayExecution ((BOOLEAN)bAlertable, &Interval);
|
|
||||||
if ((bAlertable) && (errCode == STATUS_ALERTED)) goto dowait;
|
|
||||||
return (errCode == STATUS_USER_APC) ? WAIT_IO_COMPLETION : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _QUEUE_USER_WORKITEM_CONTEXT
|
typedef struct _QUEUE_USER_WORKITEM_CONTEXT
|
||||||
{
|
{
|
||||||
LPTHREAD_START_ROUTINE Function;
|
LPTHREAD_START_ROUTINE Function;
|
||||||
|
@ -964,112 +931,6 @@ QueueUserWorkItem(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
RegisterWaitForSingleObject(
|
|
||||||
PHANDLE phNewWaitObject,
|
|
||||||
HANDLE hObject,
|
|
||||||
WAITORTIMERCALLBACK Callback,
|
|
||||||
PVOID Context,
|
|
||||||
ULONG dwMilliseconds,
|
|
||||||
ULONG dwFlags
|
|
||||||
)
|
|
||||||
{
|
|
||||||
NTSTATUS Status = RtlRegisterWait(phNewWaitObject,
|
|
||||||
hObject,
|
|
||||||
Callback,
|
|
||||||
Context,
|
|
||||||
dwMilliseconds,
|
|
||||||
dwFlags);
|
|
||||||
|
|
||||||
if (!NT_SUCCESS(Status))
|
|
||||||
{
|
|
||||||
SetLastErrorByStatus(Status);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
HANDLE
|
|
||||||
WINAPI
|
|
||||||
RegisterWaitForSingleObjectEx(
|
|
||||||
HANDLE hObject,
|
|
||||||
WAITORTIMERCALLBACK Callback,
|
|
||||||
PVOID Context,
|
|
||||||
ULONG dwMilliseconds,
|
|
||||||
ULONG dwFlags
|
|
||||||
)
|
|
||||||
{
|
|
||||||
NTSTATUS Status;
|
|
||||||
HANDLE hNewWaitObject;
|
|
||||||
|
|
||||||
Status = RtlRegisterWait(&hNewWaitObject,
|
|
||||||
hObject,
|
|
||||||
Callback,
|
|
||||||
Context,
|
|
||||||
dwMilliseconds,
|
|
||||||
dwFlags);
|
|
||||||
|
|
||||||
if (!NT_SUCCESS(Status))
|
|
||||||
{
|
|
||||||
SetLastErrorByStatus(Status);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return hNewWaitObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
UnregisterWait(
|
|
||||||
HANDLE WaitHandle
|
|
||||||
)
|
|
||||||
{
|
|
||||||
NTSTATUS Status = RtlDeregisterWaitEx(WaitHandle, NULL);
|
|
||||||
|
|
||||||
if (!NT_SUCCESS(Status))
|
|
||||||
{
|
|
||||||
SetLastErrorByStatus(Status);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
UnregisterWaitEx(
|
|
||||||
HANDLE WaitHandle,
|
|
||||||
HANDLE CompletionEvent
|
|
||||||
)
|
|
||||||
{
|
|
||||||
NTSTATUS Status = RtlDeregisterWaitEx(WaitHandle, CompletionEvent);
|
|
||||||
|
|
||||||
if (!NT_SUCCESS(Status))
|
|
||||||
{
|
|
||||||
SetLastErrorByStatus(Status);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -488,3 +488,39 @@ BasepMapFile(IN LPCWSTR lpApplicationName,
|
||||||
DPRINT("Section: %lx for file: %lx\n", *hSection, hFile);
|
DPRINT("Section: %lx for file: %lx\n", *hSection, hFile);
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
BaseCheckRunApp(IN DWORD Unknown1,
|
||||||
|
IN DWORD Unknown2,
|
||||||
|
IN DWORD Unknown3,
|
||||||
|
IN DWORD Unknown4,
|
||||||
|
IN DWORD Unknown5,
|
||||||
|
IN DWORD Unknown6,
|
||||||
|
IN DWORD Unknown7,
|
||||||
|
IN DWORD Unknown8,
|
||||||
|
IN DWORD Unknown9,
|
||||||
|
IN DWORD Unknown10)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
BasepCheckWinSaferRestrictions(IN DWORD Unknown1,
|
||||||
|
IN DWORD Unknown2,
|
||||||
|
IN DWORD Unknown3,
|
||||||
|
IN DWORD Unknown4,
|
||||||
|
IN DWORD Unknown5,
|
||||||
|
IN DWORD Unknown6)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
245
reactos/dll/win32/kernel32/client/vdm.c
Normal file
245
reactos/dll/win32/kernel32/client/vdm.c
Normal file
|
@ -0,0 +1,245 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Win32 Base API
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* FILE: dll/win32/kernel32/client/vdm.c
|
||||||
|
* PURPOSE: Virtual Dos Machine (VDM) Support
|
||||||
|
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* INCLUDES *******************************************************************/
|
||||||
|
|
||||||
|
#include <k32.h>
|
||||||
|
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
/* TYPES **********************************************************************/
|
||||||
|
|
||||||
|
/* FUNCTIONS ******************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
CmdBatNotification (
|
||||||
|
DWORD Unknown
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
CreateVirtualBuffer (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1,
|
||||||
|
DWORD Unknown2
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
ExitVDM (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
ExtendVirtualBuffer (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
FreeVirtualBuffer (
|
||||||
|
HANDLE hVirtualBuffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetNextVDMCommand (
|
||||||
|
DWORD Unknown0
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
GetVDMCurrentDirectories (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterConsoleVDM (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1,
|
||||||
|
DWORD Unknown2,
|
||||||
|
DWORD Unknown3,
|
||||||
|
DWORD Unknown4,
|
||||||
|
DWORD Unknown5,
|
||||||
|
DWORD Unknown6,
|
||||||
|
DWORD Unknown7,
|
||||||
|
DWORD Unknown8,
|
||||||
|
DWORD Unknown9,
|
||||||
|
DWORD Unknown10
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterWowBaseHandlers (
|
||||||
|
DWORD Unknown0
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
RegisterWowExec (
|
||||||
|
DWORD Unknown0
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
SetVDMCurrentDirectories (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
TrimVirtualBuffer (
|
||||||
|
DWORD Unknown0
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
VDMConsoleOperation (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
VDMOperationStarted (
|
||||||
|
DWORD Unknown0
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
VirtualBufferExceptionHandler (
|
||||||
|
DWORD Unknown0,
|
||||||
|
DWORD Unknown1,
|
||||||
|
DWORD Unknown2
|
||||||
|
)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -42,4 +42,8 @@
|
||||||
/* PSEH for SEH Support */
|
/* PSEH for SEH Support */
|
||||||
#include <pseh/pseh2.h>
|
#include <pseh/pseh2.h>
|
||||||
|
|
||||||
|
#define STUB \
|
||||||
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED); \
|
||||||
|
DPRINT1("%s() is UNIMPLEMENTED!\n", __FUNCTION__)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -72,8 +72,6 @@
|
||||||
;@ stdcall CallbackMayRunLong ; Win 7
|
;@ stdcall CallbackMayRunLong ; Win 7
|
||||||
@ stdcall CancelDeviceWakeupRequest(long)
|
@ stdcall CancelDeviceWakeupRequest(long)
|
||||||
@ stdcall CancelIo(long)
|
@ stdcall CancelIo(long)
|
||||||
@ stdcall CancelIoEx(long ptr)
|
|
||||||
@ stdcall CancelSynchronousIo(long)
|
|
||||||
;@ stdcall CancelThreadpoolIo(ptr) ntdll.TpCancelAsyncIoOperation; Win 7
|
;@ stdcall CancelThreadpoolIo(ptr) ntdll.TpCancelAsyncIoOperation; Win 7
|
||||||
@ stdcall CancelTimerQueueTimer(long long)
|
@ stdcall CancelTimerQueueTimer(long long)
|
||||||
@ stdcall CancelWaitableTimer(long)
|
@ stdcall CancelWaitableTimer(long)
|
||||||
|
@ -177,7 +175,6 @@
|
||||||
;@ stdcall CreateProcessAsUserW ; Win 7
|
;@ stdcall CreateProcessAsUserW ; Win 7
|
||||||
@ stdcall CreateProcessInternalA(ptr str str ptr ptr long long ptr str ptr ptr long)
|
@ stdcall CreateProcessInternalA(ptr str str ptr ptr long long ptr str ptr ptr long)
|
||||||
@ stdcall CreateProcessInternalW(ptr wstr wstr ptr ptr long long ptr wstr ptr ptr long)
|
@ stdcall CreateProcessInternalW(ptr wstr wstr ptr ptr long long ptr wstr ptr ptr long)
|
||||||
@ stdcall CreateProcessInternalWSecure() ; missing in Win 7
|
|
||||||
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr)
|
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr)
|
||||||
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr)
|
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr)
|
||||||
;@ stdcall CreateRemoteThreadEx api-ms-win-core-processthreads-l1-1-0.CreateRemoteThreadEx ; Win 7
|
;@ stdcall CreateRemoteThreadEx api-ms-win-core-processthreads-l1-1-0.CreateRemoteThreadEx ; Win 7
|
||||||
|
@ -572,14 +569,12 @@
|
||||||
;@ stdcall -arch=x86_64 GetNextUmsListItem
|
;@ stdcall -arch=x86_64 GetNextUmsListItem
|
||||||
@ stdcall GetNextVDMCommand(long)
|
@ stdcall GetNextVDMCommand(long)
|
||||||
@ stdcall GetNlsSectionName(long long long str str long) ; missing in Win 7
|
@ stdcall GetNlsSectionName(long long long str str long) ; missing in Win 7
|
||||||
@ stdcall GetNumaAvailableMemory(ptr long ptr) ; missing in Win 7
|
|
||||||
@ stdcall GetNumaAvailableMemoryNode(long ptr)
|
@ stdcall GetNumaAvailableMemoryNode(long ptr)
|
||||||
;@ stdcall GetNumaAvailableMemoryNodeEx ; Win 7
|
;@ stdcall GetNumaAvailableMemoryNodeEx ; Win 7
|
||||||
@ stdcall GetNumaHighestNodeNumber(ptr)
|
@ stdcall GetNumaHighestNodeNumber(ptr)
|
||||||
;@ stdcall GetNumaNodeNumberFromHandle ; Win 7
|
;@ stdcall GetNumaNodeNumberFromHandle ; Win 7
|
||||||
@ stdcall GetNumaNodeProcessorMask(long ptr)
|
@ stdcall GetNumaNodeProcessorMask(long ptr)
|
||||||
;@ stdcall GetNumaNodeProcessorMaskEx ; Win 7
|
;@ stdcall GetNumaNodeProcessorMaskEx ; Win 7
|
||||||
@ stdcall GetNumaProcessorMap(ptr long ptr) ; missing in Win 7
|
|
||||||
@ stdcall GetNumaProcessorNode(long ptr)
|
@ stdcall GetNumaProcessorNode(long ptr)
|
||||||
;@ stdcall GetNumaProcessorNodeEx ; Win 7
|
;@ stdcall GetNumaProcessorNodeEx ; Win 7
|
||||||
;@ stdcall GetNumaProximityNode ; Win 7
|
;@ stdcall GetNumaProximityNode ; Win 7
|
||||||
|
@ -921,7 +916,6 @@
|
||||||
;@ stdcall NotifyMountMgr ; Win 7
|
;@ stdcall NotifyMountMgr ; Win 7
|
||||||
@ stub NotifyNLSUserCache ; missing in XP SP3 and win 7
|
@ stub NotifyNLSUserCache ; missing in XP SP3 and win 7
|
||||||
;@ stdcall NotifyUILanguageChange ; Win 7
|
;@ stdcall NotifyUILanguageChange ; Win 7
|
||||||
@ stdcall NumaVirtualQueryNode(long long long long) ; missing in win 7
|
|
||||||
@ stdcall OpenConsoleW(wstr long long long)
|
@ stdcall OpenConsoleW(wstr long long long)
|
||||||
@ stdcall OpenDataFile(long long) ; missing in Win 7
|
@ stdcall OpenDataFile(long long) ; missing in Win 7
|
||||||
@ stdcall OpenEventA(long long str)
|
@ stdcall OpenEventA(long long str)
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
<file>thread.S</file>
|
<file>thread.S</file>
|
||||||
</directory>
|
</directory>
|
||||||
</if>
|
</if>
|
||||||
|
<file>appcache.c</file>
|
||||||
<file>atom.c</file>
|
<file>atom.c</file>
|
||||||
<file>compname.c</file>
|
<file>compname.c</file>
|
||||||
<file>debugger.c</file>
|
<file>debugger.c</file>
|
||||||
|
@ -46,6 +47,7 @@
|
||||||
<file>timerqueue.c</file>
|
<file>timerqueue.c</file>
|
||||||
<file>thread.c</file>
|
<file>thread.c</file>
|
||||||
<file>utils.c</file>
|
<file>utils.c</file>
|
||||||
|
<file>vdm.c</file>
|
||||||
<file>version.c</file>
|
<file>version.c</file>
|
||||||
<file>virtmem.c</file>
|
<file>virtmem.c</file>
|
||||||
<file>vista.c</file>
|
<file>vista.c</file>
|
||||||
|
@ -83,7 +85,6 @@
|
||||||
<file>muldiv.c</file>
|
<file>muldiv.c</file>
|
||||||
<file>profile.c</file>
|
<file>profile.c</file>
|
||||||
<file>res.c</file>
|
<file>res.c</file>
|
||||||
<file>stubs.c</file>
|
|
||||||
<file>time.c</file>
|
<file>time.c</file>
|
||||||
<file>toolhelp.c</file>
|
<file>toolhelp.c</file>
|
||||||
</directory>
|
</directory>
|
||||||
|
|
|
@ -70,8 +70,6 @@
|
||||||
;@ stdcall CallbackMayRunLong ; Win 7
|
;@ stdcall CallbackMayRunLong ; Win 7
|
||||||
@ stdcall CancelDeviceWakeupRequest(long)
|
@ stdcall CancelDeviceWakeupRequest(long)
|
||||||
@ stdcall CancelIo(long)
|
@ stdcall CancelIo(long)
|
||||||
@ stdcall CancelIoEx(long ptr)
|
|
||||||
@ stdcall CancelSynchronousIo(long)
|
|
||||||
;@ stdcall CancelThreadpoolIo(ptr) ntdll.TpCancelAsyncIoOperation; Win 7
|
;@ stdcall CancelThreadpoolIo(ptr) ntdll.TpCancelAsyncIoOperation; Win 7
|
||||||
@ stdcall CancelTimerQueueTimer(long long)
|
@ stdcall CancelTimerQueueTimer(long long)
|
||||||
@ stdcall CancelWaitableTimer(long)
|
@ stdcall CancelWaitableTimer(long)
|
||||||
|
@ -175,7 +173,6 @@
|
||||||
;@ stdcall CreateProcessAsUserW ; Win 7
|
;@ stdcall CreateProcessAsUserW ; Win 7
|
||||||
@ stdcall CreateProcessInternalA(ptr str str ptr ptr long long ptr str ptr ptr long)
|
@ stdcall CreateProcessInternalA(ptr str str ptr ptr long long ptr str ptr ptr long)
|
||||||
@ stdcall CreateProcessInternalW(ptr wstr wstr ptr ptr long long ptr wstr ptr ptr long)
|
@ stdcall CreateProcessInternalW(ptr wstr wstr ptr ptr long long ptr wstr ptr ptr long)
|
||||||
@ stdcall CreateProcessInternalWSecure() ; missing in Win 7
|
|
||||||
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr)
|
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr)
|
||||||
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr)
|
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr)
|
||||||
;@ stdcall CreateRemoteThreadEx api-ms-win-core-processthreads-l1-1-0.CreateRemoteThreadEx ; Win 7
|
;@ stdcall CreateRemoteThreadEx api-ms-win-core-processthreads-l1-1-0.CreateRemoteThreadEx ; Win 7
|
||||||
|
@ -570,14 +567,12 @@
|
||||||
;@ stdcall -arch=x86_64 GetNextUmsListItem
|
;@ stdcall -arch=x86_64 GetNextUmsListItem
|
||||||
@ stdcall GetNextVDMCommand(long)
|
@ stdcall GetNextVDMCommand(long)
|
||||||
@ stdcall GetNlsSectionName(long long long str str long) ; missing in Win 7
|
@ stdcall GetNlsSectionName(long long long str str long) ; missing in Win 7
|
||||||
@ stdcall GetNumaAvailableMemory(ptr long ptr) ; missing in Win 7
|
|
||||||
@ stdcall GetNumaAvailableMemoryNode(long ptr)
|
@ stdcall GetNumaAvailableMemoryNode(long ptr)
|
||||||
;@ stdcall GetNumaAvailableMemoryNodeEx ; Win 7
|
;@ stdcall GetNumaAvailableMemoryNodeEx ; Win 7
|
||||||
@ stdcall GetNumaHighestNodeNumber(ptr)
|
@ stdcall GetNumaHighestNodeNumber(ptr)
|
||||||
;@ stdcall GetNumaNodeNumberFromHandle ; Win 7
|
;@ stdcall GetNumaNodeNumberFromHandle ; Win 7
|
||||||
@ stdcall GetNumaNodeProcessorMask(long ptr)
|
@ stdcall GetNumaNodeProcessorMask(long ptr)
|
||||||
;@ stdcall GetNumaNodeProcessorMaskEx ; Win 7
|
;@ stdcall GetNumaNodeProcessorMaskEx ; Win 7
|
||||||
@ stdcall GetNumaProcessorMap(ptr long ptr) ; missing in Win 7
|
|
||||||
@ stdcall GetNumaProcessorNode(long ptr)
|
@ stdcall GetNumaProcessorNode(long ptr)
|
||||||
;@ stdcall GetNumaProcessorNodeEx ; Win 7
|
;@ stdcall GetNumaProcessorNodeEx ; Win 7
|
||||||
;@ stdcall GetNumaProximityNode ; Win 7
|
;@ stdcall GetNumaProximityNode ; Win 7
|
||||||
|
@ -919,7 +914,6 @@
|
||||||
;@ stdcall NotifyMountMgr ; Win 7
|
;@ stdcall NotifyMountMgr ; Win 7
|
||||||
;@ stub NotifyNLSUserCache ; missing in XP SP3 and win 7
|
;@ stub NotifyNLSUserCache ; missing in XP SP3 and win 7
|
||||||
;@ stdcall NotifyUILanguageChange ; Win 7
|
;@ stdcall NotifyUILanguageChange ; Win 7
|
||||||
@ stdcall NumaVirtualQueryNode(long long long long) ; missing in win 7
|
|
||||||
@ stdcall OpenConsoleW(wstr long long long)
|
@ stdcall OpenConsoleW(wstr long long long)
|
||||||
@ stdcall OpenDataFile(long long) ; missing in Win 7
|
@ stdcall OpenDataFile(long long) ; missing in Win 7
|
||||||
@ stdcall OpenEventA(long long str)
|
@ stdcall OpenEventA(long long str)
|
||||||
|
|
|
@ -2031,4 +2031,71 @@ IsDBCSLeadByte(BYTE TestByte)
|
||||||
return IntIsLeadByte(&AnsiCodePage.CodePageTable, TestByte);
|
return IntIsLeadByte(&AnsiCodePage.CodePageTable, TestByte);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
NTSTATUS WINAPI CreateNlsSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,ULONG Size,ULONG AccessMask)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
BOOL WINAPI IsValidUILanguage(LANGID langid)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
VOID WINAPI NlsConvertIntegerToString(ULONG Value,ULONG Base,ULONG strsize, LPWSTR str, ULONG strsize2)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @unimplemented
|
||||||
|
*/
|
||||||
|
UINT WINAPI SetCPGlobal(UINT CodePage)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
NlsResetProcessLocale(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
GetDefaultSortkeySize(LPVOID lpUnknown)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
lpUnknown = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
GetLinguistLangSize(LPVOID lpUnknown)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
lpUnknown = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULONG
|
||||||
|
WINAPI
|
||||||
|
NlsGetCacheUpdateCount(VOID)
|
||||||
|
{
|
||||||
|
STUB;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue