- Add APIs new to Windows 2003/SP1 (including XP SP1)

- Add missing NtGetCurrentProcessorNumber to ntdll
- Update headers with missing structures

svn path=/trunk/; revision=35817
This commit is contained in:
Stefan Ginsberg 2008-08-30 20:29:57 +00:00
parent 53b639b3cf
commit d53b0eb9e6
10 changed files with 196 additions and 5 deletions

View file

@ -291,6 +291,7 @@ NtWriteFileGather
NtWriteRequestData NtWriteRequestData
NtWriteVirtualMemory NtWriteVirtualMemory
NtYieldExecution NtYieldExecution
NtGetCurrentProcessorNumber
;PfxFindPrefix ;PfxFindPrefix
;PfxInitialize ;PfxInitialize
;PfxInsertPrefix ;PfxInsertPrefix

View file

@ -291,6 +291,7 @@ NtWriteFileGather@36
NtWriteRequestData@24 NtWriteRequestData@24
NtWriteVirtualMemory@20 NtWriteVirtualMemory@20
NtYieldExecution@0 NtYieldExecution@0
NtGetCurrentProcessorNumber@0
;PfxFindPrefix ;PfxFindPrefix
;PfxInitialize ;PfxInitialize
;PfxInsertPrefix ;PfxInsertPrefix

View file

@ -107,6 +107,7 @@ CreateProcessAsUserA@44
;CreateProcessAsUserSecure ;CreateProcessAsUserSecure
CreateProcessAsUserW@44 CreateProcessAsUserW@44
;CreateProcessWithLogonW ;CreateProcessWithLogonW
CreateProcessWithTokenW@36
CreateRestrictedToken@36 CreateRestrictedToken@36
CreateServiceA@52 CreateServiceA@52
CreateServiceW@52 CreateServiceW@52

View file

@ -670,4 +670,18 @@ GetSiteSidFromToken(IN HANDLE TokenHandle)
return PSiteSid; return PSiteSid;
} }
BOOL
WINAPI
CreateProcessWithTokenW(IN HANDLE hToken,
IN DWORD dwLogonFlags,
IN LPCWSTR lpApplicationName OPTIONAL,
IN OUT LPWSTR lpCommandLine OPTIONAL,
IN DWORD dwCreationFlags,
IN LPVOID lpEnvironment OPTIONAL,
IN LPCWSTR lpCurrentDirectory OPTIONAL,
IN LPSTARTUPINFOW lpStartupInfo,
OUT LPPROCESS_INFORMATION lpProcessInfo)
{
UNIMPLEMENTED;
return FALSE;
}

View file

@ -97,6 +97,7 @@ ContinueDebugEvent@12
ConvertDefaultLocale@4 ConvertDefaultLocale@4
ConvertFiberToThread@0 ConvertFiberToThread@0
ConvertThreadToFiber@4 ConvertThreadToFiber@4
ConvertThreadToFiberEx@8
CopyFileA@12 CopyFileA@12
CopyFileExA@24 CopyFileExA@24
CopyFileExW@24 CopyFileExW@24
@ -210,6 +211,7 @@ EnumResourceTypesA@12
EnumResourceTypesW@12 EnumResourceTypesW@12
EnumSystemCodePagesA@8 EnumSystemCodePagesA@8
EnumSystemCodePagesW@8 EnumSystemCodePagesW@8
EnumSystemFirmwareTables@12
EnumSystemGeoID@12 EnumSystemGeoID@12
EnumSystemLanguageGroupsA@12 EnumSystemLanguageGroupsA@12
EnumSystemLanguageGroupsW@12 EnumSystemLanguageGroupsW@12
@ -272,10 +274,10 @@ FindResourceExW@16
FindResourceW@12 FindResourceW@12
FindVolumeClose@4 FindVolumeClose@4
FindVolumeMountPointClose@4 FindVolumeMountPointClose@4
;FlsAlloc@4 ;new for 2003 FlsAlloc@4
;FlsFree@4 ;new for 2003 FlsFree@4
;FlsGetValue@4 ;new for 2003 FlsGetValue@4
;FlsSetValue@8 ;new for 2003 FlsSetValue@8
FlushConsoleInputBuffer@4 FlushConsoleInputBuffer@4
FlushFileBuffers@4 FlushFileBuffers@4
FlushInstructionCache@12 FlushInstructionCache@12
@ -366,6 +368,7 @@ GetCurrentDirectoryA@8
GetCurrentDirectoryW@8 GetCurrentDirectoryW@8
GetCurrentProcess@0 GetCurrentProcess@0
GetCurrentProcessId@0 GetCurrentProcessId@0
GetCurrentProcessorNumber@0
GetCurrentThread@0 GetCurrentThread@0
GetCurrentThreadId@0 GetCurrentThreadId@0
GetDateFormatA@24 GetDateFormatA@24
@ -423,6 +426,7 @@ GetLocaleInfoEx@16
GetLogicalDriveStringsA@8 GetLogicalDriveStringsA@8
GetLogicalDriveStringsW@8 GetLogicalDriveStringsW@8
GetLogicalDrives@0 GetLogicalDrives@0
GetLogicalProcessorInformation@8
GetLongPathNameA@12 GetLongPathNameA@12
GetLongPathNameW@12 GetLongPathNameW@12
GetMailslotInfo@20 GetMailslotInfo@20
@ -438,6 +442,7 @@ GetNamedPipeInfo@20
GetNativeSystemInfo@4 GetNativeSystemInfo@4
GetNextVDMCommand@4 GetNextVDMCommand@4
GetNlsSectionName@24 GetNlsSectionName@24
GetNumaAvailableMemoryNode@8
GetNumaHighestNodeNumber@4 GetNumaHighestNodeNumber@4
GetNumaNodeProcessorMask@8 GetNumaNodeProcessorMask@8
;GetNumaProcessorMap ;GetNumaProcessorMap
@ -473,6 +478,7 @@ GetProcessShutdownParameters@8
GetProcessTimes@20 GetProcessTimes@20
GetProcessVersion@4 GetProcessVersion@4
GetProcessWorkingSetSize@12 GetProcessWorkingSetSize@12
GetProcessWorkingSetSizeEx@16
GetProfileIntA@12 GetProfileIntA@12
GetProfileIntW@12 GetProfileIntW@12
GetProfileSectionA@12 GetProfileSectionA@12
@ -494,6 +500,8 @@ GetSystemDefaultLangID@0
GetSystemDefaultUILanguage@0 GetSystemDefaultUILanguage@0
GetSystemDirectoryA@8 GetSystemDirectoryA@8
GetSystemDirectoryW@8 GetSystemDirectoryW@8
GetSystemFileCacheSize@12
GetSystemFirmwareTable@16
GetSystemInfo@4 GetSystemInfo@4
GetSystemPowerStatus@4 GetSystemPowerStatus@4
GetSystemRegistryQuota@8 GetSystemRegistryQuota@8
@ -763,6 +771,7 @@ RemoveDirectoryW@4
;RemoveLocalAlternateComputerNameA ;RemoveLocalAlternateComputerNameA
;RemoveLocalAlternateComputerNameW ;RemoveLocalAlternateComputerNameW
RemoveVectoredExceptionHandler@4=NTDLL.RtlRemoveVectoredExceptionHandler RemoveVectoredExceptionHandler@4=NTDLL.RtlRemoveVectoredExceptionHandler
ReOpenFile@16
ReplaceFile=ReplaceFileW@24 ReplaceFile=ReplaceFileW@24
ReplaceFileA@24 ReplaceFileA@24
ReplaceFileW@24 ReplaceFileW@24
@ -874,7 +883,9 @@ SetProcessAffinityMask@8
SetProcessPriorityBoost@8 SetProcessPriorityBoost@8
SetProcessShutdownParameters@8 SetProcessShutdownParameters@8
SetProcessWorkingSetSize@12 SetProcessWorkingSetSize@12
SetProcessWorkingSetSizeEx@16
SetStdHandle@8 SetStdHandle@8
SetSystemFileCacheSize@12
SetSystemPowerState@8 SetSystemPowerState@8
SetSystemTime@4 SetSystemTime@4
SetSystemTimeAdjustment@8 SetSystemTimeAdjustment@8
@ -888,6 +899,7 @@ SetThreadIdealProcessor@8
SetThreadLocale@4 SetThreadLocale@4
SetThreadPriority@8 SetThreadPriority@8
SetThreadPriorityBoost@8 SetThreadPriorityBoost@8
SetThreadStackGuarantee@4
SetThreadUILanguage@4 SetThreadUILanguage@4
SetTimerQueueTimer@24 SetTimerQueueTimer@24
SetTimeZoneInformation@4 SetTimeZoneInformation@4

View file

@ -1402,3 +1402,104 @@ Wow64RevertWow64FsRedirection (VOID * pv)
STUB; STUB;
return FALSE; return FALSE;
} }
UINT
WINAPI
EnumSystemFirmwareTables(IN DWORD FirmwareTableProviderSignature,
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;
}
UINT
WINAPI
GetSystemFirmwareTable(IN DWORD FirmwareTableProviderSignature,
IN DWORD FirmwareTableID,
OUT PVOID pFirmwareTableBuffer,
IN DWORD BufferSize)
{
STUB;
return 0;
}
BOOL
WINAPI
SetSystemFileCacheSize(IN SIZE_T MinimumFileCacheSize,
IN SIZE_T MaximumFileCacheSize,
IN DWORD Flags)
{
STUB;
return FALSE;
}
BOOL
WINAPI
SetThreadStackGuarantee(IN OUT PULONG StackSizeInBytes)
{
STUB;
return FALSE;
}
HANDLE
WINAPI
ReOpenFile(IN HANDLE hOriginalFile,
IN DWORD dwDesiredAccess,
IN DWORD dwShareMode,
IN DWORD dwFlags)
{
STUB;
return INVALID_HANDLE_VALUE;
}
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;
}
BOOL
WINAPI
GetLogicalProcessorInformation(OUT PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer,
IN OUT PDWORD ReturnLength)
{
STUB;
return FALSE;
}
BOOL
WINAPI
GetNumaAvailableMemoryNode(IN UCHAR Node,
OUT PULONGLONG AvailableBytes)
{
STUB;
return FALSE;
}

View file

@ -233,4 +233,12 @@ GetNativeSystemInfo(
GetSystemInfo(lpSystemInfo); GetSystemInfo(lpSystemInfo);
} }
DWORD
WINAPI
GetCurrentProcessorNumber(VOID)
{
/* Forward to kernel */
return NtGetCurrentProcessorNumber();
}
/* EOF */ /* EOF */

View file

@ -1398,4 +1398,17 @@ QueryWorkingSet(HANDLE hProcess,
return TRUE; return TRUE;
} }
/*
* @unimplemented
*/
BOOL
WINAPI
QueryWorkingSetEx(IN HANDLE hProcess,
IN OUT PVOID pv,
IN DWORD cb)
{
UNIMPLEMENTED;
return FALSE;
}
/* EOF */ /* EOF */

View file

@ -32,3 +32,4 @@ GetProcessMemoryInfo@12 @21
GetWsChanges@12 @22 GetWsChanges@12 @22
InitializeProcessForWsWatch@4 @23 InitializeProcessForWsWatch@4 @23
QueryWorkingSet@12 @24 QueryWorkingSet@12 @24
QueryWorkingSetEx@12 @25

View file

@ -4400,6 +4400,45 @@ typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
ULONGLONG WINAPI VerSetConditionMask(ULONGLONG,DWORD,BYTE); ULONGLONG WINAPI VerSetConditionMask(ULONGLONG,DWORD,BYTE);
#endif #endif
typedef enum _PROCESSOR_CACHE_TYPE {
CacheUnified,
CacheInstruction,
CacheData,
CacheTrace
} PROCESSOR_CACHE_TYPE;
typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP {
RelationProcessorCore,
RelationNumaNode,
RelationCache,
RelationProcessorPackage
} LOGICAL_PROCESSOR_RELATIONSHIP;
#define CACHE_FULLY_ASSOCIATIVE 0xFF
typedef struct _CACHE_DESCRIPTOR {
BYTE Level;
BYTE Associativity;
WORD LineSize;
DWORD Size;
PROCESSOR_CACHE_TYPE Type;
} CACHE_DESCRIPTOR, *PCACHE_DESCRIPTOR;
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
ULONG_PTR ProcessorMask;
LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
union {
struct {
BYTE Flags;
} ProcessorCore;
struct {
DWORD NodeNumber;
} NumaNode;
CACHE_DESCRIPTOR Cache;
ULONGLONG Reserved[2];
};
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
NTSYSAPI NTSYSAPI
SIZE_T SIZE_T
STDCALL STDCALL