Author: tkreuzer
Date: Mon Jul 19 18:52:18 2010
New Revision: 48119
URL:
http://svn.reactos.org/svn/reactos?rev=48119&view=rev
Log:
[KERNEL32]
Merge r34770, r36475, r36990, r37019, r43852, r43952, r43954, r43979, r43981, r46868 from
amd64 branch:
- Multiple ULONG / SIZE_T fixes
- Use UlongToHandle / HandleToUlong to convert between DWORD ProcessId and
ClientId.UniqueProcess
- implement amd64 version of _dump_context
- Make IsConsoleHandle 64bit safe
- Update kernel32.pspec with a lot of Win7 (commented out) and some amd64 specific
exports, add some more comments and fix sorting
- Implement amd64 version of BaseThreadStartupThunk and BaseProcessStartThunk
- Stub amd64 version of SwitchToFiber
- Implement amd64 version of BasepInitializeContext
Added:
trunk/reactos/dll/win32/kernel32/thread/amd64/
- copied from r34770,
branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/
Modified:
trunk/reactos/ (props changed)
trunk/reactos/dll/win32/kernel32/debug/debugger.c
trunk/reactos/dll/win32/kernel32/except/except.c
trunk/reactos/dll/win32/kernel32/include/kernel32.h
trunk/reactos/dll/win32/kernel32/kernel32.pspec
trunk/reactos/dll/win32/kernel32/kernel32.rbuild
trunk/reactos/dll/win32/kernel32/misc/dllmain.c
trunk/reactos/dll/win32/kernel32/misc/toolhelp.c
trunk/reactos/dll/win32/kernel32/misc/utils.c
trunk/reactos/dll/win32/kernel32/process/proc.c
trunk/reactos/dll/win32/kernel32/process/procsup.c
trunk/reactos/dll/win32/kernel32/process/session.c
trunk/reactos/dll/win32/kernel32/thread/amd64/fiber.S
trunk/reactos/dll/win32/kernel32/thread/amd64/thread.S
trunk/reactos/dll/win32/kernel32/thread/fiber.c
trunk/reactos/dll/win32/kernel32/thread/thread.c
Propchange: trunk/reactos/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jul 19 18:52:18 2010
@@ -1,4 +1,4 @@
/branches/header-work:45691-47721
/branches/reactos-yarotows:46372,46848,46966,47800,48026,48064
/branches/ros-amd64-bringup:36852
-/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36445,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36992,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43965,43969,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,47472,47846-47847,47878,47882
+/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882
Modified: trunk/reactos/dll/win32/kernel32/debug/debugger.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/debug/d…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/debug/debugger.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/debug/debugger.c [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -232,11 +232,11 @@
CLIENT_ID ClientId;
/* If we don't have a PID, look it up */
- if (dwProcessId == MAXDWORD) dwProcessId = (DWORD)CsrGetProcessId();
+ if (dwProcessId == MAXDWORD) dwProcessId = (DWORD_PTR)CsrGetProcessId();
/* Open a handle to the process */
ClientId.UniqueThread = NULL;
- ClientId.UniqueProcess = (HANDLE)dwProcessId;
+ ClientId.UniqueProcess = UlongToHandle(dwProcessId);
InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL);
Status = NtOpenProcess(&Handle,
PROCESS_ALL_ACCESS,
Modified: trunk/reactos/dll/win32/kernel32/except/except.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/except/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/except/except.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/except/except.c [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -124,10 +124,11 @@
return psz;
}
-#ifdef _M_IX86
+
static VOID
_dump_context(PCONTEXT pc)
{
+#ifdef _M_IX86
/*
* Print out the CPU registers
*/
@@ -138,14 +139,19 @@
DbgPrint("EDX: %.8x EBP: %.8x ESI: %.8x ESP: %.8x\n", pc->Edx,
pc->Ebp, pc->Esi, pc->Esp);
DbgPrint("EDI: %.8x EFLAGS: %.8x\n", pc->Edi, pc->EFlags);
-}
+#elif defined(_M_AMD64)
+ DbgPrint("CS:RIP %x:%I64x\n", pc->SegCs&0xffff, pc->Rip );
+ DbgPrint("DS %x ES %x FS %x GS %x\n", pc->SegDs&0xffff,
pc->SegEs&0xffff,
+ pc->SegFs&0xffff, pc->SegGs&0xfff);
+ DbgPrint("RAX: %I64x RBX: %I64x RCX: %I64x RDI: %I64x\n", pc->Rax,
pc->Rbx, pc->Rcx, pc->Rdi);
+ DbgPrint("RDX: %I64x RBP: %I64x RSI: %I64x RSP: %I64x\n", pc->Rdx,
pc->Rbp, pc->Rsi, pc->Rsp);
+ DbgPrint("R8: %I64x R9: %I64x R10: %I64x R11: %I64x\n", pc->R8,
pc->R9, pc->R10, pc->R11);
+ DbgPrint("R12: %I64x R13: %I64x R14: %I64x R15: %I64x\n", pc->R12,
pc->R13, pc->R14, pc->R15);
+ DbgPrint("EFLAGS: %.8x\n", pc->EFlags);
#else
#warning Unknown architecture
-static VOID
-_dump_context(PCONTEXT pc)
-{
-}
#endif
+}
static LONG
BasepCheckForReadOnlyResource(IN PVOID Ptr)
@@ -275,7 +281,7 @@
LONG RetValue;
HANDLE DebugPort = NULL;
NTSTATUS ErrCode;
- ULONG ErrorParameters[4];
+ ULONG_PTR ErrorParameters[4];
ULONG ErrorResponse;
PEXCEPTION_RECORD ExceptionRecord = ExceptionInfo->ExceptionRecord;
@@ -326,7 +332,7 @@
/* Save exception code and address */
ErrorParameters[0] = (ULONG)ExceptionRecord->ExceptionCode;
- ErrorParameters[1] = (ULONG)ExceptionRecord->ExceptionAddress;
+ ErrorParameters[1] = (ULONG_PTR)ExceptionRecord->ExceptionAddress;
if ((NTSTATUS)ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION)
{
Modified: trunk/reactos/dll/win32/kernel32/include/kernel32.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/include…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -31,7 +31,7 @@
#endif
#define IsConsoleHandle(h) \
- (((((ULONG)h) & 0x10000003) == 0x3) ? TRUE : FALSE)
+ (((((ULONG_PTR)h) & 0x10000003) == 0x3) ? TRUE : FALSE)
#define HANDLE_DETACHED_PROCESS (HANDLE)-2
#define HANDLE_CREATE_NEW_CONSOLE (HANDLE)-3
@@ -110,8 +110,8 @@
NTSTATUS
WINAPI
BasepCreateStack(HANDLE hProcess,
- ULONG StackReserve,
- ULONG StackCommit,
+ SIZE_T StackReserve,
+ SIZE_T StackCommit,
PINITIAL_TEB InitialTeb);
VOID
Modified: trunk/reactos/dll/win32/kernel32/kernel32.pspec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel3…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/kernel32.pspec [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/kernel32.pspec [iso-8859-1] Mon Jul 19 18:52:18 2010
@@ -7,14 +7,21 @@
@ stdcall AddAtomW(wstr)
@ stdcall AddConsoleAliasA(str str str) ;check
@ stdcall AddConsoleAliasW(wstr wstr wstr) ;check
+;@ stdcall -arch=x86_64 AddIntegrityLabelToBoundaryDescriptor ; Win 7
@ stdcall AddLocalAlternateComputerNameA(str ptr)
@ stdcall AddLocalAlternateComputerNameW(wstr ptr)
@ stdcall AddRefActCtx(ptr)
+;@ stdcall AddSIDToBoundaryDescriptor ; Win 7
+;@ stdcall AddSecureMemoryCacheCallback ; Win 7
@ stdcall AddVectoredContinueHandler(long ptr) ntdll.RtlAddVectoredContinueHandler
@ stdcall AddVectoredExceptionHandler(long ptr) ntdll.RtlAddVectoredExceptionHandler
+;@ stdcall AdjustCalendarDate ; Win 7
@ stdcall AllocConsole()
-@ stub AllocLSCallback ; missing in XP SP3 and 2003 R2
+@ stub AllocLSCallback ; missing in XP SP3 and 2003 R2 and Win 7
@ stdcall AllocateUserPhysicalPages(long ptr ptr)
+;@ stdcall AllocateUserPhysicalPagesNuma ; Win 7
+;@ stdcall ApplicationRecoveryFinished ; Win 7
+;@ stdcall ApplicationRecoveryInProgress ; Win 7
@ stdcall AreFileApisANSI()
@ stdcall AssignProcessToJobObject(ptr ptr)
@ stdcall AttachConsole(long)
@@ -22,18 +29,36 @@
@ stdcall BackupSeek(ptr long long ptr ptr ptr)
@ stdcall BackupWrite(ptr ptr long ptr long long ptr)
@ stdcall BaseCheckAppcompatCache(long long long ptr) ;check
+;@ stdcall BaseCheckAppcompatCacheEx ; Win7
@ stub BaseCheckRunApp
-@ stdcall BaseCleanupAppcompatCache()
+@ stdcall BaseCleanupAppcompatCache() ; missing in Win 7
@ stdcall BaseCleanupAppcompatCacheSupport(ptr)
+;@ stdcall BaseDllReadWriteIniFile ; Win 7
@ stdcall BaseDumpAppcompatCache()
@ stdcall BaseFlushAppcompatCache()
-@ stdcall BaseInitAppcompatCache()
+;@ stdcall BaseFormatObjectAttributes ; Win 7
+;@ stdcall BaseFormatTimeOut ; Win 7
+;@ stdcall BaseGenerateAppCompatData ; Win 7
+;@ stdcall BaseGetNamedObjectDirectory ; Win 7
+@ stdcall BaseInitAppcompatCache() ; missing in Win 7
@ stdcall BaseInitAppcompatCacheSupport()
-@ stdcall BaseProcessInitPostImport()
+;@ stdcall BaseIsAppcompatInfrastructureDisabled ; Win 7
+@ stdcall BaseProcessInitPostImport() ; missing in Win 7
@ stdcall BaseQueryModuleData(str str ptr ptr ptr) ;check
+;@ stdcall BaseThreadInitThunk ; Win 7
+;@ stdcall BaseSetLastNTError ; Win 7, not 64 bit
@ stdcall BaseUpdateAppcompatCache(long long long)
+;@ stdcall BaseVerifyUnicodeString ; Win 7
+;@ stdcall Basep8BitStringToDynamicUnicodeString ; Win 7
+;@ stdcall BasepAllocateActivationContextActivationBlock ; Win 7
+;@ stdcall BasepAnsiStringToDynamicUnicodeString ; Win 7
+;@ stdcall BasepCheckAppCompat ; Win 7
+;@ stdcall BasepCheckBadapp ; Win 7
@ stub BasepCheckWinSaferRestrictions
-@ stub BasepDebugDump ; missing in XP SP3
+@ stub BasepDebugDump ; missing in XP SP3 and Win 7
+;@ stdcall BasepFreeActivationContextActivationBlock ; Win 7
+;@ stdcall BasepFreeAppCompatData ; Win 7
+;@ stdcall BasepMapModuleHandle ; Win 7
@ stdcall Beep(long long)
@ stdcall BeginUpdateResourceA(str long)
@ stdcall BeginUpdateResourceW(wstr long)
@@ -44,13 +69,18 @@
@ stdcall BuildCommDCBW(wstr ptr)
@ stdcall CallNamedPipeA(str ptr long ptr long ptr long)
@ stdcall CallNamedPipeW(wstr ptr long ptr long ptr long)
+;@ stdcall CallbackMayRunLong ; Win 7
@ stdcall CancelDeviceWakeupRequest(long)
@ stdcall CancelIo(long)
@ stdcall CancelIoEx(long ptr)
@ stdcall CancelSynchronousIo(long)
+;@ stdcall CancelThreadpoolIo(ptr) ntdll.TpCancelAsyncIoOperation; Win 7
@ stdcall CancelTimerQueueTimer(long long)
@ stdcall CancelWaitableTimer(long)
@ stdcall ChangeTimerQueueTimer(ptr ptr long long)
+;@ stdcall CheckElevation ; Win 7
+;@ stdcall CheckElevationEnabled ; Win 7
+;@ stdcall CheckForReadOnlyResource ; Win 7
@ stdcall CheckNameLegalDOS8Dot3A(str str long long long)
@ stdcall CheckNameLegalDOS8Dot3W(wstr str long long long)
@ stdcall CheckRemoteDebuggerPresent(long ptr)
@@ -58,33 +88,54 @@
@ stdcall ClearCommError(long ptr ptr)
@ stdcall CloseConsoleHandle(long)
@ stdcall CloseHandle(long)
+;@ stdcall ClosePrivateNamespace ; Win 7
@ stdcall CloseProfileUserMapping()
-@ stub CloseSystemHandle ; missing in XP SP3
+@ stub CloseSystemHandle ; missing in XP SP3 and Win 7
+;@ stdcall CloseThreadpool(ptr) ntdll.TpReleasePool ; Win 7
+;@ stdcall CloseThreadpoolCleanupGroup(ptr) ntdll.TpReleaseCleanupGroup ; Win 7
+;@ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr)
ntdll.TpReleaseCleanupGroupMembers ; Win 7
+;@ stdcall CloseThreadpoolIo ntdll.TpReleaseIoCompletion ; Win 7
+;@ stdcall CloseThreadpoolTimer ntdll.TpReleaseTimer ; Win 7
+;@ stdcall CloseThreadpoolWait ntdll.TpReleaseWait ; Win 7
+;@ stdcall CloseThreadpoolWork ntdll.TpReleaseWork ; Win 7
@ stdcall CmdBatNotification(long)
@ stdcall CommConfigDialogA(str long ptr)
@ stdcall CommConfigDialogW(wstr long ptr)
+;@ stdcall CompareCalendarDates ; Win 7
@ stdcall CompareFileTime(ptr ptr)
@ stdcall CompareStringA(long long str long str long)
+;@ stdcall CompareStringEx ; Win 7
+;@ stdcall CompareStringOrdinal ; Win 7
@ stdcall CompareStringW(long long wstr long wstr long)
@ stdcall ConnectNamedPipe(long ptr)
@ stdcall ConsoleMenuControl(long long long)
-@ stub ConsoleSubst ; missing in XP SP3
+@ stub ConsoleSubst ; missing in XP SP3 and Win 7
@ stdcall ContinueDebugEvent(long long long)
+;@ stdcall ConvertCalDateTimeToSystemTime ; Win 7
@ stdcall ConvertDefaultLocale (long)
@ stdcall ConvertFiberToThread()
+;@ stdcall ConvertNLSDayOfWeekToWin32DayOfWeek ; Win 7
+;@ stdcall ConvertSystemTimeToCalDateTime ; Win 7
@ stdcall ConvertThreadToFiber(ptr)
@ stdcall ConvertThreadToFiberEx(ptr long)
+;@ stdcall CopyExtendedContext ; Win 7
@ stdcall CopyFileA(str str long)
@ stdcall CopyFileExA (str str ptr ptr ptr long)
@ stdcall CopyFileExW (wstr wstr ptr ptr ptr long)
+;@ stdcall CopyFileTransactedA ; Win 7
+;@ stdcall CopyFileTransactedW ; Win 7
@ stdcall CopyFileW(wstr wstr long)
@ stdcall CopyLZFile(long long) LZCopy
@ stdcall CreateActCtxA(ptr)
@ stdcall CreateActCtxW(ptr)
+;@ stdcall CreateBoundaryDescriptorA ; Win 7
+;@ stdcall CreateBoundaryDescriptorW ; Win 7
@ stdcall CreateConsoleScreenBuffer(long long ptr long ptr)
@ stdcall CreateDirectoryA(str ptr)
@ stdcall CreateDirectoryExA(str str ptr)
@ stdcall CreateDirectoryExW(wstr wstr ptr)
+;@ stdcall CreateDirectoryTransactedA ; Win 7
+;@ stdcall CreateDirectoryTransactedW ; Win 7
@ stdcall CreateDirectoryW(wstr ptr)
@ stdcall CreateEventA(ptr long long str)
@ stdcall CreateEventExA(ptr str long long)
@@ -94,15 +145,21 @@
@ stdcall CreateFiberEx(long long long ptr ptr)
@ stdcall CreateFileA(str long long ptr long long long)
@ stdcall CreateFileMappingA(long ptr long long long str)
+;@ stdcall CreateFileMappingNumaA ; Win 7
+;@ stdcall CreateFileMappingNumaW ; Win 7
@ stdcall CreateFileMappingW(long ptr long long long wstr)
+;@ stdcall CreateFileTransactedA ; Win 7
+;@ stdcall CreateFileTransactedW ; Win 7
@ stdcall CreateFileW(wstr long long ptr long long long)
@ stdcall CreateHardLinkA(str str ptr)
+;@ stdcall CreateHardLinkTransactedA ; Win 7
+;@ stdcall CreateHardLinkTransactedW ; Win 7
@ stdcall CreateHardLinkW(wstr wstr ptr)
@ stdcall CreateIoCompletionPort(long long long long)
@ stdcall CreateJobObjectA(ptr str)
@ stdcall CreateJobObjectW(ptr wstr)
@ stdcall CreateJobSet(long ptr long)
-@ stub CreateKernelThread ; missing in XP SP3
+@ stub CreateKernelThread ; missing in XP SP3 and Win 7
@ stdcall CreateMailslotA(ptr long long ptr)
@ stdcall CreateMailslotW(ptr long long ptr)
@ stdcall CreateMemoryResourceNotification(long)
@@ -112,27 +169,41 @@
@ stdcall CreateMutexW(ptr long wstr)
@ stdcall CreateNamedPipeA(str long long long long long long ptr)
@ stdcall CreateNamedPipeW(wstr long long long long long long ptr)
-@ stdcall CreateNlsSecurityDescriptor(ptr long long)
+@ stdcall CreateNlsSecurityDescriptor(ptr long long) ; missing in Win 7
@ stdcall CreatePipe(ptr ptr ptr long)
+;@ stdcall CreatePrivateNamespaceA ; Win 7
+;@ stdcall CreatePrivateNamespaceW ; Win 7
@ stdcall CreateProcessA(str str ptr ptr long long ptr str ptr ptr)
+;@ stdcall CreateProcessAsUserW ; Win 7
@ 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 CreateProcessInternalWSecure()
+@ stdcall CreateProcessInternalWSecure() ; missing in Win 7
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr)
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr)
+;@ stdcall CreateRemoteThreadEx
api-ms-win-core-processthreads-l1-1-0.CreateRemoteThreadEx ; Win 7
@ stdcall CreateSemaphoreA(ptr long long str)
@ stdcall CreateSemaphoreExA(ptr long long str long long)
@ stdcall CreateSemaphoreExW(ptr long long wstr long long)
@ stdcall CreateSemaphoreW(ptr long long wstr)
@ stdcall CreateSocketHandle()
@ stdcall CreateSymbolicLinkA(str str long)
+;@ stdcall CreateSymbolicLinkTransactedA ; Win 7
+;@ stdcall CreateSymbolicLinkTransactedW ; Win 7
@ stdcall CreateSymbolicLinkW(wstr wstr long)
@ stdcall CreateTapePartition(long long long long)
@ stdcall CreateThread(ptr long ptr long long ptr)
+;@ stdcall CreateThreadpool ; Win 7
+;@ stdcall CreateThreadpoolCleanupGroup ; Win 7
+;@ stdcall CreateThreadpoolIo ; Win 7
+;@ stdcall CreateThreadpoolTimer ; Win 7
+;@ stdcall CreateThreadpoolWait ; Win 7
+;@ stdcall CreateThreadpoolWork ; Win 7
@ stdcall CreateTimerQueue ()
@ stdcall CreateTimerQueueTimer(ptr long ptr ptr long long long)
@ stdcall CreateToolhelp32Snapshot(long long)
-@ stdcall CreateVirtualBuffer(long long long)
+;@ stdcall arch=x86_64 CreateUmsCompletionList
+;@ stdcall arch=x86_64 CreateUmsThreadContext
+@ stdcall CreateVirtualBuffer(long long long) ; missing in Win 7
@ stdcall CreateWaitableTimerA(ptr long str)
@ stdcall CreateWaitableTimerExA(ptr str long long)
@ stdcall CreateWaitableTimerExW(ptr wstr long long)
@@ -149,17 +220,26 @@
@ stdcall DefineDosDeviceW(long wstr wstr)
@ stdcall DelayLoadFailureHook(str str)
@ stdcall DeleteAtom(long)
+;@ stdcall DeleteBoundaryDescriptor ntdll.RtlDeleteBoundaryDescriptor ; Win 7
@ stdcall DeleteCriticalSection(ptr) ntdll.RtlDeleteCriticalSection
@ stdcall DeleteFiber(ptr)
@ stdcall DeleteFileA(str)
+;@ stdcall DeleteFileTransactedA ; Win 7
+;@ stdcall DeleteFileTransactedW ; Win 7
@ stdcall DeleteFileW(wstr)
+;@ stdcall DeleteProcThreadAttributeList
api-ms-win-core-processthreads-l1-1-0.DeleteProcThreadAttributeList ; Win 7
@ stdcall DeleteTimerQueue(long)
@ stdcall DeleteTimerQueueEx (long long)
@ stdcall DeleteTimerQueueTimer(long long long)
+;@ stdcall -arch=x86_64 DeleteUmsCompletionList
+;@ stdcall -arch=x86_64 DeleteUmsThreadContext
@ stdcall DeleteVolumeMountPointA(str) ;check
@ stdcall DeleteVolumeMountPointW(wstr) ;check
+;@ stdcall -arch=x86_64 DequeueUmsCompletionListItems
@ stdcall DeviceIoControl(long long ptr long ptr long ptr ptr)
@ stdcall DisableThreadLibraryCalls(long)
+;@ stdcall DisableThreadProfiling ; Win 7
+;@ stdcall DisassociateCurrentThreadFromCallback ntdll.TpDisassociateCallback ; Win 7
@ stdcall DisconnectNamedPipe(long)
@ stdcall DnsHostnameToComputerNameA (str ptr ptr)
@ stdcall DnsHostnameToComputerNameW (wstr ptr ptr)
@@ -168,35 +248,48 @@
@ stdcall DosPathToSessionPathW(long wstr wstr)
@ stdcall DuplicateConsoleHandle(long long long long)
@ stdcall DuplicateHandle(long long long ptr long long long)
+;@ stdcall EnableThreadProfiling ; Win 7
@ stdcall EncodePointer(ptr) ntdll.RtlEncodePointer
@ stdcall EncodeSystemPointer(ptr) ntdll.RtlEncodeSystemPointer
@ stdcall EndUpdateResourceA(long long)
@ stdcall EndUpdateResourceW(long long)
@ stdcall EnterCriticalSection(ptr) ntdll.RtlEnterCriticalSection
+;@ stdcall -arch=x86_64 EnterUmsSchedulingMode
@ stdcall EnumCalendarInfoA(ptr long long long)
@ stdcall EnumCalendarInfoExA(ptr long long long)
+;@ stdcall EnumCalendarInfoExEx ; Win 7
@ stdcall EnumCalendarInfoExW(ptr long long long)
@ stdcall EnumCalendarInfoW(ptr long long long)
@ stdcall EnumDateFormatsA(ptr long long)
@ stdcall EnumDateFormatsExA(ptr long long)
+;@ stdcall EnumDateFormatsExEx ; Win 7
@ stdcall EnumDateFormatsExW(ptr long long)
@ stdcall EnumDateFormatsW(ptr long long)
@ stdcall EnumLanguageGroupLocalesA(ptr long long ptr)
@ stdcall EnumLanguageGroupLocalesW(ptr long long ptr)
@ stdcall EnumResourceLanguagesA(long str str ptr long)
+;@ stdcall EnumResourceLanguagesExA ; Win 7
+;@ stdcall EnumResourceLanguagesExW ; Win 7
@ stdcall EnumResourceLanguagesW(long wstr wstr ptr long)
@ stdcall EnumResourceNamesA(long str ptr long)
+;@ stdcall EnumResourceNamesExA ; Win 7
+;@ stdcall EnumResourceNamesExW ; Win 7
@ stdcall EnumResourceNamesW(long wstr ptr long)
@ stdcall EnumResourceTypesA(long ptr long)
+;@ stdcall EnumResourceTypesExA ; Win 7
+;@ stdcall EnumResourceTypesExW ; Win 7
@ stdcall EnumResourceTypesW(long ptr long)
@ stdcall EnumSystemCodePagesA(ptr long)
@ stdcall EnumSystemCodePagesW(ptr long)
+;@ stdcall EnumSystemFirmwareTables ; Win 7
@ stdcall EnumSystemGeoID(long long ptr)
@ stdcall EnumSystemLanguageGroupsA(ptr long ptr)
@ stdcall EnumSystemLanguageGroupsW(ptr long ptr)
@ stdcall EnumSystemLocalesA(ptr long)
+;@ stdcall EnumSystemLocalesEx ; Win 7
@ stdcall EnumSystemLocalesW(ptr long)
@ stdcall EnumTimeFormatsA(ptr long long)
+;@ stdcall EnumTimeFormatsEx ; Win 7
@ stdcall EnumTimeFormatsW(ptr long long)
@ stdcall EnumUILanguagesA(ptr long long)
@ stdcall EnumUILanguagesW(ptr long long)
@@ -204,14 +297,14 @@
@ stdcall EnumerateLocalComputerNamesW(ptr long wstr ptr)
@ stdcall EraseTape(ptr long long)
@ stdcall EscapeCommFunction(long long)
-@ stdcall ExitProcess(long)
-@ stdcall ExitThread(long)
+@ stdcall ExitProcess(long) ; FIXME: ntdll.RtlExitUserProcess
+@ stdcall ExitThread(long) ; FIXME: ntdll.RtlExitUserThread
@ stdcall ExitVDM(long long)
@ stdcall ExpandEnvironmentStringsA(str ptr long)
@ stdcall ExpandEnvironmentStringsW(wstr ptr long)
@ stdcall ExpungeConsoleCommandHistoryA(long)
@ stdcall ExpungeConsoleCommandHistoryW(long)
-@ stdcall ExtendVirtualBuffer(long long)
+@ stdcall ExtendVirtualBuffer(long long) ; missing in Win 7
@ stdcall FatalAppExitA(long str)
@ stdcall FatalAppExitW(long wstr)
@ stdcall FatalExit(long)
@@ -233,15 +326,24 @@
@ stdcall FindFirstFileA(str ptr)
@ stdcall FindFirstFileExA(str long ptr long ptr long)
@ stdcall FindFirstFileExW(wstr long ptr long ptr long)
+;@ stdcall FindFirstFileNameTransactedW ; Win 7
+;@ stdcall FindFirstFileNameW ; Win 7
+;@ stdcall FindFirstFileTransactedA ; Win 7
+;@ stdcall FindFirstFileTransactedW ; Win 7
@ stdcall FindFirstFileW(wstr ptr)
+;@ stdcall FindFirstStreamTransactedW ; Win 7
@ stdcall FindFirstStreamW(wstr ptr ptr long)
@ stdcall FindFirstVolumeA(ptr long)
@ stdcall FindFirstVolumeMountPointA(str ptr long)
@ stdcall FindFirstVolumeMountPointW(wstr ptr long)
@ stdcall FindFirstVolumeW(ptr long)
+;@ stdcall FindNLSString ; Win 7
+;@ stdcall FindNLSStringEx ; Win 7
@ stdcall FindNextChangeNotification(long)
@ stdcall FindNextFileA(long ptr)
+;@ stdcall FindNextFileNameW ; Win 7
@ stdcall FindNextFileW(long ptr)
+;@ stdcall FindNextStreamW ; Win 7
@ stdcall FindNextVolumeA(long ptr long)
@ stdcall FindNextVolumeMountPointA(long str long)
@ stdcall FindNextVolumeMountPointW(long wstr long)
@@ -250,6 +352,7 @@
@ stdcall FindResourceExA(long str str long)
@ stdcall FindResourceExW(long wstr wstr long)
@ stdcall FindResourceW(long wstr wstr)
+;@ stdcall FindStringOrdinal ; Win 7
@ stdcall FindVolumeClose(ptr)
@ stdcall FindVolumeMountPointClose(ptr)
;@ stdcall FlsAlloc(ptr) ; missing in XP SP3
@@ -259,6 +362,7 @@
@ stdcall FlushConsoleInputBuffer(long)
@ stdcall FlushFileBuffers(long)
@ stdcall FlushInstructionCache(long long long)
+;@ stdcall FlushProcessWriteBuffers ntdll.NtFlushProcessWriteBuffers ; Win 7
@ stdcall FlushViewOfFile(ptr long)
@ stdcall FoldStringA(long str long ptr long)
@ stdcall FoldStringW(long wstr long ptr long)
@@ -269,22 +373,35 @@
@ stdcall FreeEnvironmentStringsW(ptr)
@ stdcall FreeLibrary(long)
@ stdcall FreeLibraryAndExitThread(long long)
+;@ stdcall FreeLibraryWhenCallbackReturns ntdll.TpCallbackUnloadDllOnCompletion ; Win 7
@ stdcall FreeResource(long)
@ stdcall FreeUserPhysicalPages(long long long)
-@ stdcall FreeVirtualBuffer(ptr)
+@ stdcall FreeVirtualBuffer(ptr) ; missing in Win 7
@ stdcall GenerateConsoleCtrlEvent(long long)
@ stdcall GetACP()
+;@ stdcall GetActiveProcessorCount ; Win 7
+;@ stdcall GetActiveProcessorGroupCount ; Win 7
+;@ stdcall GetApplicationRecoveryCallback ; Win 7
+;@ stdcall GetApplicationRestartSettings ; Win 7
@ stdcall GetAtomNameA(long ptr long)
@ stdcall GetAtomNameW(long ptr long)
@ stdcall GetBinaryType(str ptr) GetBinaryTypeA
@ stdcall GetBinaryTypeA(str ptr)
@ stdcall GetBinaryTypeW(wstr ptr)
-@ stdcall GetCPFileNameFromRegistry(long wstr long) ;check
+@ stdcall GetCPFileNameFromRegistry(long wstr long) ;check missing in Win 7
@ stdcall GetCPInfo(long ptr)
@ stdcall GetCPInfoExA(long long ptr)
@ stdcall GetCPInfoExW(long long ptr)
+;@ stdcall GetCalendarDateFormat ; Win 7
+;@ stdcall GetCalendarDateFormatEx ; Win 7
+;@ stdcall GetCalendarDaysInMonth ; Win 7
+;@ stdcall GetCalendarDifferenceInDays ; Win 7
@ stdcall GetCalendarInfoA(long long long ptr long ptr)
+;@ stdcall GetCalendarInfoEx ; Win 7
@ stdcall GetCalendarInfoW(long long long ptr long ptr)
+;@ stdcall GetCalendarMonthsInYear ; Win 7
+;@ stdcall GetCalendarSupportedDateRange ; Win 7
+;@ stdcall GetCalendarWeekNumber ; Win 7
@ stdcall GetComPlusPackageInstallStatus()
@ stdcall GetCommConfig(long ptr long)
@ stdcall GetCommMask(long ptr)
@@ -295,6 +412,8 @@
@ stdcall GetCommandLineA()
@ stdcall GetCommandLineW()
@ stdcall GetCompressedFileSizeA(long ptr)
+;@ stdcall GetCompressedFileSizeTransactedA ; Win 7
+;@ stdcall GetCompressedFileSizeTransactedW ; Win 7
@ stdcall GetCompressedFileSizeW(long ptr)
@ stdcall GetComputerNameA(ptr ptr)
@ stdcall GetComputerNameExA(long ptr ptr)
@@ -330,30 +449,38 @@
@ stdcall GetConsoleKeyboardLayoutNameW(ptr)
@ stdcall GetConsoleMode(long ptr)
@ stdcall GetConsoleNlsMode(long ptr)
+;@ stdcall GetConsoleOriginalTitleA ; Win 7
+;@ stdcall GetConsoleOriginalTitleW ; Win 7
@ stdcall GetConsoleOutputCP()
@ stdcall GetConsoleProcessList(ptr long) ; missing in XP SP3
@ stdcall GetConsoleScreenBufferInfo(long ptr)
+;@ stdcall GetConsoleScreenBufferInfoEx ; Win 7
@ stdcall GetConsoleSelectionInfo(ptr)
@ stdcall GetConsoleTitleA(ptr long)
@ stdcall GetConsoleTitleW(ptr long)
@ stdcall GetConsoleWindow()
@ stdcall GetCurrencyFormatA(long long str ptr str long)
+;@ stdcall GetCurrencyFormatEx ; Win 7
@ stdcall GetCurrencyFormatW(long long str ptr str long)
@ stdcall GetCurrentActCtx(ptr)
@ stdcall GetCurrentConsoleFont(long long ptr)
+;@ stdcall GetCurrentConsoleFontEx ; Win 7
@ stdcall GetCurrentDirectoryA(long ptr)
@ stdcall GetCurrentDirectoryW(long ptr)
@ stdcall GetCurrentProcess()
@ stdcall GetCurrentProcessId()
@ stdcall GetCurrentProcessorNumber() ntdll.RtlGetCurrentProcessorNumber
+;@ stdcall GetCurrentProcessorNumberEx ntdll.RtlGetCurrentProcessorNumberEx ; Win 7
@ stdcall GetCurrentThread()
@ stdcall GetCurrentThreadId()
+;@ stdcall GetCurrentUmsThread
@ stdcall GetDateFormatA(long long ptr str ptr long)
+;@ stdcall GetDateFormatEx ; Win 7
@ stdcall GetDateFormatW(long long ptr wstr ptr long)
-@ stub GetDaylightFlag ; missing in XP SP3
+@ stub GetDaylightFlag ; missing in XP SP3 and Win 7
@ stdcall GetDefaultCommConfigA(str ptr long)
@ stdcall GetDefaultCommConfigW(wstr ptr long)
-@ stdcall GetDefaultSortkeySize(ptr)
+@ stdcall GetDefaultSortkeySize(ptr) ; missing in Win 7
@ stdcall GetDevicePowerState(long ptr)
@ stdcall GetDiskFreeSpaceA(str ptr ptr ptr ptr)
@ stdcall GetDiskFreeSpaceExA (str ptr ptr ptr)
@@ -363,23 +490,35 @@
@ stdcall GetDllDirectoryW(long ptr)
@ stdcall GetDriveTypeA(str)
@ stdcall GetDriveTypeW(wstr)
+;@ stdcall GetDurationFormat ; Win 7
+;@ stdcall GetDurationFormatEx ; Win 7
+;@ stdcall GetDynamicTimeZoneInformation ; Win 7
+;@ stdcall GetEnabledExtendedFeatures
api-ms-win-core-xstate-l1-1-0.RtlGetEnabledExtendedFeatures ; Win 7
@ stdcall GetEnvironmentStrings()
@ stdcall GetEnvironmentStringsA() GetEnvironmentStrings
@ stdcall GetEnvironmentStringsW()
@ stdcall GetEnvironmentVariableA(str ptr long)
@ stdcall GetEnvironmentVariableW(wstr ptr long)
+;@ stdcall GetEraNameCountedString ; Win 7
@ stdcall GetErrorMode()
@ stdcall GetExitCodeProcess(long ptr)
@ stdcall GetExitCodeThread(long ptr)
@ stdcall GetExpandedNameA(str ptr)
@ stdcall GetExpandedNameW(wstr ptr)
+;@ stdcall GetExtendedContextLength ; Win 7
+;@ stdcall GetExtendedFeaturesMask
api-ms-win-core-xstate-l1-1-0.RtlGetExtendedFeaturesMask ; Win 7
@ stdcall GetFileAttributesA(str)
-@ stdcall GetFileAttributesByHandle(long ptr long)
+@ stdcall GetFileAttributesByHandle(long ptr long) ; missing in Win 7
@ stdcall GetFileAttributesExA(str long ptr)
@ stdcall GetFileAttributesExW(wstr long ptr)
+;@ stdcall GetFileAttributesTransactedA ; Win 7
+;@ stdcall GetFileAttributesTransactedW ; Win 7
@ stdcall GetFileAttributesW(wstr)
@ stdcall GetFileBandwidthReservation(long ptr ptr ptr ptr ptr)
@ stdcall GetFileInformationByHandle(long ptr)
+;@ stdcall GetFileInformationByHandleEx ; Win 7
+;@ stdcall GetFileMUIInfo ; Win 7
+;@ stdcall GetFileMUIPath ; Win 7
@ stdcall GetFileSize(long ptr)
@ stdcall GetFileSizeEx(long ptr)
@ stdcall GetFileTime(long ptr ptr ptr)
@@ -389,53 +528,78 @@
@ stdcall GetFirmwareEnvironmentVariableA(str str ptr long)
@ stdcall GetFirmwareEnvironmentVariableW(wstr wstr ptr long)
@ stdcall GetFullPathNameA(str long ptr ptr)
+;@ stdcall GetFullPathNameTransactedA ; Win 7
+;@ stdcall GetFullPathNameTransactedW ; Win 7
@ stdcall GetFullPathNameW(wstr long ptr ptr)
@ stdcall GetGeoInfoA(long long ptr long long)
@ stdcall GetGeoInfoW(long long ptr long long)
-@ stdcall GetHandleContext(long)
+@ stdcall GetHandleContext(long) ; missing on x64
@ stdcall GetHandleInformation(long ptr)
-@ stub GetSCallbackTarget ; missing in XP SP3
-@ stub GetSCallbackTemplate ; missing in XP SP3
+@ stub GetSCallbackTarget ; missing in XP SP3 and Win 7
+@ stub GetSCallbackTemplate ; missing in XP SP3 and Win 7
@ stdcall GetLargePageMinimum()
@ stdcall GetLargestConsoleWindowSize(long)
@ stdcall GetLastError() ntdll.RtlGetLastWin32Error
-@ stdcall GetLinguistLangSize(ptr)
+@ stdcall GetLinguistLangSize(ptr) ; missing in Win 7
@ stdcall GetLocalTime(ptr)
@ stdcall GetLocaleInfoA(long long ptr long)
+@ stdcall GetLocaleInfoEx(wstr long wstr long) ; Vista+
@ stdcall GetLocaleInfoW(long long ptr long)
-@ stdcall GetLocaleInfoEx(wstr long wstr long)
@ stdcall GetLogicalDriveStringsA(long ptr)
@ stdcall GetLogicalDriveStringsW(long ptr)
@ stdcall GetLogicalDrives()
@ stdcall GetLogicalProcessorInformation(ptr ptr)
+;@ stdcall GetLogicalProcessorInformationEx
api-ms-win-core-sysinfo-l1-1-0.GetLogicalProcessorInformationEx ; Win 7
@ stdcall GetLongPathNameA (str long long)
+;@ stdcall GetLongPathNameTransactedA ; Win 7
+;@ stdcall GetLongPathNameTransactedW ; Win 7
@ stdcall GetLongPathNameW (wstr long long)
@ stdcall GetMailslotInfo(long ptr ptr ptr ptr)
+;@ stdcall GetMaximumProcessorCount ; Win 7
+;@ stdcall GetMaximumProcessorGroupCount ; Win 7
@ stdcall GetModuleFileNameA(long ptr long)
@ stdcall GetModuleFileNameW(long ptr long)
@ stdcall GetModuleHandleA(str)
@ stdcall GetModuleHandleExA(long ptr ptr)
@ stdcall GetModuleHandleExW(long ptr ptr)
@ stdcall GetModuleHandleW(wstr)
+;@ stdcall GetNLSVersion ; Win 7
+;@ stdcall GetNLSVersionEx ; Win 7
+;@ stdcall GetNamedPipeAttribute ; Win 7
+;@ stdcall GetNamedPipeClientComputerNameA ; Win 7
+;@ stdcall GetNamedPipeClientComputerNameW ; Win 7
+;@ stdcall GetNamedPipeClientProcessId ; Win 7
+;@ stdcall GetNamedPipeClientSessionId ; Win 7
@ stdcall GetNamedPipeHandleStateA(long ptr ptr ptr ptr str long)
@ stdcall GetNamedPipeHandleStateW(long ptr ptr ptr ptr wstr long)
@ stdcall GetNamedPipeInfo(long ptr ptr ptr ptr)
+;@ stdcall GetNamedPipeServerProcessId ; Win 7
+;@ stdcall GetNamedPipeServerSessionId ; Win 7
@ stdcall GetNativeSystemInfo(ptr)
+;@ stdcall -arch=x86_64 GetNextUmsListItem
@ stdcall GetNextVDMCommand(long)
-@ stdcall GetNlsSectionName(long long double str str double)
-@ stdcall GetNumaAvailableMemory(ptr double ptr)
+@ stdcall GetNlsSectionName(long long double str str double) ; missing in Win 7
+@ stdcall GetNumaAvailableMemory(ptr double ptr) ; missing in Win 7
@ stdcall GetNumaAvailableMemoryNode(double ptr)
+;@ stdcall GetNumaAvailableMemoryNodeEx ; Win 7
@ stdcall GetNumaHighestNodeNumber(ptr)
+;@ stdcall GetNumaNodeNumberFromHandle ; Win 7
@ stdcall GetNumaNodeProcessorMask(double ptr)
-@ stdcall GetNumaProcessorMap(ptr double ptr)
+;@ stdcall GetNumaNodeProcessorMaskEx ; Win 7
+@ stdcall GetNumaProcessorMap(ptr double ptr) ; missing in Win 7
@ stdcall GetNumaProcessorNode(double ptr)
+;@ stdcall GetNumaProcessorNodeEx ; Win 7
+;@ stdcall GetNumaProximityNode ; Win 7
+;@ stdcall GetNumaProximityNodeEx ; Win 7
@ stdcall GetNumberFormatA(long long str ptr ptr long)
+;@ stdcall GetNumberFormatEx ; Win 7
@ stdcall GetNumberFormatW(long long wstr ptr ptr long)
@ stdcall GetNumberOfConsoleFonts()
@ stdcall GetNumberOfConsoleInputEvents(long ptr)
@ stdcall GetNumberOfConsoleMouseButtons(ptr)
@ stdcall GetOEMCP()
@ stdcall GetOverlappedResult(long ptr ptr long)
+;@ stdcall GetPhysicallyInstalledSystemMemory ; Win 7
@ stdcall GetPriorityClass(long)
@ stdcall GetPrivateProfileIntA(str str long str)
@ stdcall GetPrivateProfileIntW(wstr wstr long wstr)
@@ -450,16 +614,22 @@
@ stdcall GetProcAddress(long str)
@ stdcall GetProcessAffinityMask(long ptr ptr)
@ stdcall GetProcessFlags(long)
+;@ stdcall GetProcessDEPPolicy ; Win 7
+;@ stdcall GetProcessGroupAffinity ; Win 7
@ stdcall GetProcessHandleCount(long ptr)
@ stdcall GetProcessHeap()
@ stdcall GetProcessHeaps(long ptr)
@ stdcall GetProcessId(long)
+;@ stdcall GetProcessIdOfThread ; Win 7
@ stdcall GetProcessIoCounters(long ptr)
+;@ stdcall GetProcessPreferredUILanguages ; Win 7
@ stdcall GetProcessPriorityBoost(long ptr)
@ stdcall GetProcessShutdownParameters(ptr ptr)
@ stdcall GetProcessTimes(long ptr ptr ptr ptr)
@ stdcall GetProcessVersion(long)
@ stdcall GetProcessWorkingSetSize(long ptr ptr)
+;@ stdcall GetProcessWorkingSetSizeEx ; Win 7
+;@ stdcall GetProcessorSystemCycleTime ; Win 7
@ stdcall GetProductInfo(long long long long ptr)
@ stub GetProductName
@ stdcall GetProfileIntA(str str long)
@@ -469,24 +639,31 @@
@ stdcall GetProfileStringA(str str str ptr long)
@ stdcall GetProfileStringW(wstr wstr wstr ptr long)
@ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long)
-@ stub GetLSCallbackTarget ; missing in XP SP3
-@ stub GetLSCallbackTemplate ; missing in XP SP3
+;@ stdcall GetQueuedCompletionStatusEx ; Win 7
+@ stub GetLSCallbackTarget ; missing in XP SP3 and Win 7
+@ stub GetLSCallbackTemplate ; missing in XP SP3 and Win 7
@ stdcall GetShortPathNameA(str ptr long)
@ stdcall GetShortPathNameW(wstr ptr long)
@ stdcall GetStartupInfoA(ptr)
@ stdcall GetStartupInfoW(ptr)
@ stdcall GetStdHandle(long)
+;@ stdcall GetStringScripts ; Win 7
@ stdcall GetStringTypeA(long long str long ptr)
@ stdcall GetStringTypeExA(long long str long ptr)
@ stdcall GetStringTypeExW(long long wstr long ptr)
@ stdcall GetStringTypeW(long wstr long ptr)
+;@ stdcall GetSystemDEPPolicy ; Win 7
@ stdcall GetSystemDefaultLCID()
@ stdcall GetSystemDefaultLangID()
+;@ stdcall GetSystemDefaultLocaleName ; Win 7
@ stdcall GetSystemDefaultUILanguage()
@ stdcall GetSystemDirectoryA(ptr long)
@ stdcall GetSystemDirectoryW(ptr long)
+;@ stdcall GetSystemFileCacheSize ; Win 7
+;@ stdcall GetSystemFirmwareTable ; Win 7
@ stdcall GetSystemInfo(ptr)
@ stdcall GetSystemPowerStatus(ptr)
+;@ stdcall GetSystemPreferredUILanguages ; Win 7
@ stdcall GetSystemRegistryQuota(ptr ptr)
@ stdcall GetSystemTime(ptr)
@ stdcall GetSystemTimeAdjustment(ptr ptr ptr)
@@ -505,27 +682,38 @@
@ stdcall GetTempPathW(long ptr)
@ stdcall GetThreadContext(long ptr)
@ stdcall GetThreadErrorMode()
+;@ stdcall GetThreadGroupAffinity ; Win 7
+@ stdcall GetThreadIOPendingFlag(long ptr)
@ stdcall GetThreadId(ptr)
-@ stdcall GetThreadIOPendingFlag(long ptr)
+;@ stdcall GetThreadIdealProcessorEx ; Win 7
@ stdcall GetThreadLocale()
+;@ stdcall GetThreadPreferredUILanguages ; Win 7
@ stdcall GetThreadPriority(long)
@ stdcall GetThreadPriorityBoost(long ptr)
@ stdcall GetThreadSelectorEntry(long long ptr)
@ stdcall GetThreadTimes(long ptr ptr ptr ptr)
+;@ stdcall GetThreadUILanguage ; Win 7
@ stdcall GetTickCount()
@ stdcall -ret64 GetTickCount64()
@ stdcall GetTimeFormatA(long long ptr str ptr long)
+;@ stdcall GetTimeFormatEx ; Win 7
@ stdcall GetTimeFormatW(long long ptr wstr ptr long)
@ stdcall GetTimeZoneInformation(ptr)
+;@ stdcall GetTimeZoneInformationForYear ; Win 7
+;@ stdcall GetUILanguageInfo ; Win 7
+;@ stdcall -arch=x86_64 GetUmsCompletionListEvent
@ stdcall GetUserDefaultLCID()
@ stdcall GetUserDefaultLangID()
+;@ stdcall GetUserDefaultLocaleName ; Win 7
@ stdcall GetUserDefaultUILanguage()
@ stdcall GetUserGeoID(long)
+;@ stdcall GetUserPreferredUILanguages ; Win 7
@ stdcall GetVDMCurrentDirectories(long long)
@ stdcall GetVersion()
@ stdcall GetVersionExA(ptr)
@ stdcall GetVersionExW(ptr)
@ stdcall GetVolumeInformationA(str ptr long ptr ptr ptr ptr long)
+;@ stdcall GetVolumeInformationByHandleW ; Win 7
@ stdcall GetVolumeInformationW(wstr ptr long ptr ptr ptr ptr long)
@ stdcall GetVolumeNameForVolumeMountPointA(str ptr long)
@ stdcall GetVolumeNameForVolumeMountPointW(wstr ptr long)
@@ -565,26 +753,36 @@
@ stdcall HeapAlloc(long long long) ntdll.RtlAllocateHeap
@ stdcall HeapCompact(long long)
@ stdcall HeapCreate(long long long)
-@ stdcall HeapCreateTagsW(long long wstr wstr)
+@ stdcall HeapCreateTagsW(long long wstr wstr) ; missing in Win 7
@ stdcall HeapDestroy(long)
-@ stdcall HeapExtend(long long ptr long)
+@ stdcall HeapExtend(long long ptr long) ; missing in Win 7
@ stdcall HeapFree(long long long) ntdll.RtlFreeHeap
@ stdcall HeapLock(long)
@ stdcall HeapQueryInformation(long long ptr long ptr)
-@ stdcall HeapQueryTagW(long long long long ptr)
+@ stdcall HeapQueryTagW(long long long long ptr) ; missing in Win 7
@ stdcall HeapReAlloc(long long ptr long) ntdll.RtlReAllocateHeap
-@ stub HeapSetFlags ; missing in XP SP3
+@ stub HeapSetFlags ; missing in XP SP3 and Win 7
@ stdcall HeapSetInformation(ptr long ptr long)
@ stdcall HeapSize(long long ptr) ntdll.RtlSizeHeap
@ stdcall HeapSummary(long long ptr)
@ stdcall HeapUnlock(long)
-@ stdcall HeapUsage(long long long long ptr)
+@ stdcall HeapUsage(long long long long ptr) ; missing in Win 7
@ stdcall HeapValidate(long long ptr)
@ stdcall HeapWalk(long ptr)
+;@ stdcall IdnToAscii ; Win 7
+;@ stdcall IdnToNameprepUnicode ; Win 7
+;@ stdcall IdnToUnicode ; Win 7
@ stdcall InitAtomTable(long)
-@ stdcall InitializeCriticalSection(ptr)
+;@ stdcall InitOnceBeginInitialize ; Win 7
+;@ stdcall InitOnceComplete ; Win 7
+;@ stdcall InitOnceExecuteOnce ; Win 7
+;@ stdcall InitOnceInitialize ntdll.RtlRunOnceInitialize ; Win 7
+;@ stdcall InitializeConditionVariable ntdll.RtlInitializeConditionVariable ; Win 7
+@ stdcall InitializeCriticalSection(ptr) ; FIXME: ntdll.RtlInitializeCriticalSection
@ stdcall InitializeCriticalSectionAndSpinCount(ptr long)
@ stdcall InitializeCriticalSectionEx(ptr long long)
+;@ stdcall InitializeExtendedContext ; Win 7
+;@ stdcall InitializeProcThreadAttributeList
api-ms-win-core-processthreads-l1-1-0.InitializeProcThreadAttributeList ; Win 7
@ stdcall InitializeSListHead(ptr) ntdll.RtlInitializeSListHead
@ stdcall InitializeSRWLock(ptr) ntdll.RtlInitializeSRWLock
@ stdcall -arch=i386 InterlockedCompareExchange (ptr long long)
@@ -596,8 +794,9 @@
@ stdcall -arch=i386 InterlockedIncrement(ptr)
@ stdcall InterlockedPopEntrySList(ptr) ntdll.RtlInterlockedPopEntrySList
@ stdcall InterlockedPushEntrySList(ptr ptr) ntdll.RtlInterlockedPushEntrySList
+;@ stdcall InterlockedPushListSList ntdll.RtlInterlockedPushListSList ; Win 7
@ stdcall InvalidateConsoleDIBits(long long)
-@ stub InvalidateNSCache ; missing in XP SP3
+@ stub InvalidateNSCache ; missing in XP SP3 and Win 7
@ stdcall IsBadCodePtr(ptr)
@ stdcall IsBadHugeReadPtr(ptr long)
@ stdcall IsBadHugeWritePtr(ptr long)
@@ -605,39 +804,81 @@
@ stdcall IsBadStringPtrA(ptr long)
@ stdcall IsBadStringPtrW(ptr long)
@ stdcall IsBadWritePtr(ptr long)
+;@ stdcall IsCalendarLeapDay ; Win 7
+;@ stdcall IsCalendarLeapMonth ; Win 7
+;@ stdcall IsCalendarLeapYear ; Win 7
@ stdcall IsDBCSLeadByte(long)
@ stdcall IsDBCSLeadByteEx(long long)
@ stdcall IsDebuggerPresent()
+;@ stdcall IsNLSDefinedString ; Win 7
+;@ stdcall IsNormalizedString ; Win 7
@ stdcall IsProcessInJob(long long ptr)
@ stdcall IsProcessorFeaturePresent(long)
@ stdcall IsSystemResumeAutomatic()
@ stdcall IsThreadAFiber()
+;@ stdcall IsThreadAFiber ; Win 7
+;@ stdcall IsThreadpoolTimerSet ntdll.TpIsTimerSet ; Win 7
+;@ stdcall IsTimeZoneRedirectionEnabled ; Win 7
+;@ stdcall IsValidCalDateTime ; Win 7
@ stdcall IsValidCodePage(long)
@ stdcall IsValidLanguageGroup(long long)
@ stdcall IsValidLocale(long long)
-@ stdcall IsValidUILanguage(long)
+;@ stdcall IsValidLocaleName ; Win 7
+@ stdcall IsValidUILanguage(long) ; missing in Win 7
@ stdcall IsWow64Process(ptr ptr)
+;@ stdcall K32EmptyWorkingSet ; Win 7
+;@ stdcall K32EnumDeviceDrivers ; Win 7
+;@ stdcall K32EnumPageFilesA ; Win 7
+;@ stdcall K32EnumPageFilesW ; Win 7
+;@ stdcall K32EnumProcessModules ; Win 7
+;@ stdcall K32EnumProcessModulesEx ; Win 7
+;@ stdcall K32EnumProcesses ; Win 7
+;@ stdcall K32GetDeviceDriverBaseNameA ; Win 7
+;@ stdcall K32GetDeviceDriverBaseNameW ; Win 7
+;@ stdcall K32GetDeviceDriverFileNameA ; Win 7
+;@ stdcall K32GetDeviceDriverFileNameW ; Win 7
+;@ stdcall K32GetMappedFileNameA ; Win 7
+;@ stdcall K32GetMappedFileNameW ; Win 7
+;@ stdcall K32GetModuleBaseNameA ; Win 7
+;@ stdcall K32GetModuleBaseNameW ; Win 7
+;@ stdcall K32GetModuleFileNameExA ; Win 7
+;@ stdcall K32GetModuleFileNameExW ; Win 7
+;@ stdcall K32GetModuleInformation ; Win 7
+;@ stdcall K32GetPerformanceInfo ; Win 7
+;@ stdcall K32GetProcessImageFileNameA ; Win 7
+;@ stdcall K32GetProcessImageFileNameW ; Win 7
+;@ stdcall K32GetProcessMemoryInfo ; Win 7
+;@ stdcall K32GetWsChanges ; Win 7
+;@ stdcall K32GetWsChangesEx ; Win 7
+;@ stdcall K32InitializeProcessForWsWatch ; Win 7
+;@ stdcall K32QueryWorkingSet ; Win 7
+;@ stdcall K32QueryWorkingSetEx ; Win 7
@ stdcall LCIDToLocaleName(long wstr long long) ; needed for wine gecko; missing in XP
SP3
@ stdcall LCMapStringA(long long str long ptr long)
+;@ stdcall LCMapStringEx ; Win 7
@ stdcall LCMapStringW(long long wstr long ptr long)
@ stdcall LZClose(long)
-; @ stub LZCloseFile
+;@ stdcall LZCloseFile ; Win 7
@ stdcall LZCopy(long long)
-; @ stub LZCreateFileW
+;@ stdcall LZCreateFileW ; Win 7
@ stdcall LZDone()
@ stdcall LZInit(long)
@ stdcall LZOpenFileA(str ptr long)
@ stdcall LZOpenFileW(wstr ptr long)
-@ stdcall LZRead(long ptr long)
+@ stdcall LZRead(long str long)
@ stdcall LZSeek(long long long)
@ stdcall LZStart()
@ stdcall LeaveCriticalSection(ptr) ntdll.RtlLeaveCriticalSection
+;@ stdcall LeaveCriticalSectionWhenCallbackReturns
ntdll.TpCallbackLeaveCriticalSectionOnCompletion ; Win 7
+;@ stdcall LoadAppInitDlls ; Win 7
@ stdcall LoadLibraryA(str)
@ stdcall LoadLibraryExA( str long long)
@ stdcall LoadLibraryExW(wstr long long)
@ stdcall LoadLibraryW(wstr)
@ stdcall LoadModule(str ptr)
@ stdcall LoadResource(long long)
+;@ stdcall LoadStringBaseExW ; Win 7
+;@ stdcall LoadStringBaseW ; Win 7
@ stdcall LocalAlloc(long long)
@ stdcall LocalCompact(long)
@ stdcall LocalFileTimeToFileTime(ptr ptr)
@@ -650,6 +891,8 @@
@ stdcall LocalSize(long)
@ stdcall LocalUnlock(long)
;@ stub LocaleNameToLCID ; missing in XP SP3
+;@ stdcall LocateExtendedFeature api-ms-win-core-xstate-l1-1-0.RtlLocateExtendedFeature ;
Win 7
+;@ stdcall LocateLegacyContext api-ms-win-core-xstate-l1-1-0.RtlLocateLegacyContext ; Win
7
@ stdcall LockFile(long long long long long)
@ stdcall LockFileEx(long long long long long ptr)
@ stdcall LockResource(long)
@@ -659,6 +902,7 @@
@ stdcall MapUserPhysicalPagesScatter(ptr long ptr)
@ stdcall MapViewOfFile(long long long long long)
@ stdcall MapViewOfFileEx(long long long long long ptr)
+;@ stdcall MapViewOfFileExNuma ; Win 7
@ stdcall Module32First(long ptr)
@ stdcall Module32FirstW(long ptr)
@ stdcall Module32Next(long ptr)
@@ -666,6 +910,8 @@
@ stdcall MoveFileA(str str)
@ stdcall MoveFileExA(str str long)
@ stdcall MoveFileExW(wstr wstr long)
+;@ stdcall MoveFileTransactedA ; Win 7
+;@ stdcall MoveFileTransactedW ; Win 7
@ stdcall MoveFileW(wstr wstr)
@ stdcall MoveFileWithProgressA(str str ptr ptr long)
@ stdcall MoveFileWithProgressW(wstr wstr ptr ptr long)
@@ -673,27 +919,40 @@
@ stdcall MultiByteToWideChar(long long str long ptr long)
@ stdcall NeedCurrentDirectoryForExePathA(str)
@ stdcall NeedCurrentDirectoryForExePathW(wstr)
-@ stdcall NlsConvertIntegerToString(double double double wstr double)
+;@ stdcall NlsCheckPolicy ; Win 7
+@ stdcall NlsConvertIntegerToString(double double double wstr double) ; missing in Win 7
+;@ stdcall NlsEventDataDescCreate ; Win 7
@ stdcall NlsGetCacheUpdateCount()
-@ stub NlsResetProcessLocale ; missing in XP SP3
-@ stub NotifyNLSUserCache ; missing in XP SP3
-@ stdcall NumaVirtualQueryNode(long long long long)
+@ stub NlsResetProcessLocale ; missing in XP SP3 and Win 7
+;@ stdcall NlsUpdateLocale ; Win 7
+;@ stdcall NlsUpdateSystemLocale ; Win 7
+;@ stdcall NlsWriteEtwEvent ; Win 7
+;@ stdcall NormalizeString ; Win 7
+;@ stdcall NotifyMountMgr ; Win 7
+@ stub NotifyNLSUserCache ; missing in XP SP3 and win 7
+;@ stdcall NotifyUILanguageChange ; Win 7
+@ stdcall NumaVirtualQueryNode(long long long long) ; missing in win 7
@ stdcall OpenConsoleW(wstr long long long)
-@ stdcall OpenDataFile(long long)
+@ stdcall OpenDataFile(long long) ; missing in Win 7
@ stdcall OpenEventA(long long str)
@ stdcall OpenEventW(long long wstr)
@ stdcall OpenFile(str ptr long)
+;@ stdcall OpenFileById ; Win 7
@ stdcall OpenFileMappingA(long long str)
@ stdcall OpenFileMappingW(long long wstr)
@ stdcall OpenJobObjectA(long long str)
@ stdcall OpenJobObjectW(long long wstr)
@ stdcall OpenMutexA(long long str)
@ stdcall OpenMutexW(long long wstr)
+;@ stdcall OpenPrivateNamespaceA ; Win 7
+;@ stdcall OpenPrivateNamespaceW ; Win 7
@ stdcall OpenProcess(long long long)
+;@ stdcall OpenProcessToken api-ms-win-core-processthreads-l1-1-0.OpenProcessToken ; Win
7
@ stdcall OpenProfileUserMapping()
@ stdcall OpenSemaphoreA(long long str)
@ stdcall OpenSemaphoreW(long long wstr)
@ stdcall OpenThread(long long long)
+;@ stdcall OpenThreadToken api-ms-win-core-processthreads-l1-1-0.OpenThreadToken ; win 7
@ stdcall OpenWaitableTimerA(long long str)
@ stdcall OpenWaitableTimerW(long long wstr)
@ stdcall OutputDebugStringA(str)
@@ -702,6 +961,9 @@
@ stdcall PeekConsoleInputW(ptr ptr long ptr)
@ stdcall PeekNamedPipe(long ptr long ptr ptr ptr)
@ stdcall PostQueuedCompletionStatus(long long ptr ptr)
+;@ stdcall PowerClearRequest ; Win 7
+;@ stdcall PowerCreateRequest ; Win 7
+;@ stdcall PowerSetRequest ; Win 7
@ stdcall PrepareTape(ptr long long)
@ stdcall PrivCopyFileExW(wstr wstr ptr ptr long long)
@ stdcall PrivMoveFileIdentityW(long long long)
@@ -712,22 +974,34 @@
@ stdcall ProcessIdToSessionId(long ptr)
@ stdcall PulseEvent(long)
@ stdcall PurgeComm(long long)
+;@ stdcall QueryActCtxSettingsW ; Win 7
+;@ stdcall QueryActCtxW(long ptr ptr long ptr long ptr)
@ stdcall QueryActCtxW(long ptr ptr long ptr long ptr)
@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList
@ stdcall QueryDosDeviceA(str ptr long)
@ stdcall QueryDosDeviceW(wstr ptr long)
-@ stdcall QueryFullProcessImageNameA(ptr long ptr ptr)
-@ stdcall QueryFullProcessImageNameW(ptr long ptr ptr)
+@ stdcall QueryFullProcessImageNameA(ptr long str ptr) ; Vista and later
+@ stdcall QueryFullProcessImageNameW(ptr long wstr ptr) ; Vista and later
+;@ stdcall QueryIdleProcessorCycleTime ; Win 7
+;@ stdcall QueryIdleProcessorCycleTimeEx ; Win 7
@ stdcall QueryInformationJobObject(long long ptr long ptr)
@ stdcall QueryMemoryResourceNotification(ptr ptr)
-@ stub QueryNumberOfEventLogRecords ; missing in XP SP3
-@ stub QueryOldestEventLogRecord ; missing in XP SP3
+@ stub QueryNumberOfEventLogRecords ; missing in XP SP3 and Win 7
+@ stub QueryOldestEventLogRecord ; missing in XP SP3 and Win 7
@ stdcall QueryPerformanceCounter(ptr)
@ stdcall QueryPerformanceFrequency(ptr)
-@ stdcall QueryWin31IniFilesMappedToRegistry(long long long long)
+;@ stdcall QueryProcessAffinityUpdateMode ; Win 7
+;@ stdcall QueryProcessCycleTime ; Win 7
+;@ stdcall QueryThreadCycleTime ; Win 7
+;@ stdcall QueryThreadProfiling ; Win 7
+;@ stdcall QueryThreadpoolStackInformation ; Win 7
+;@ stdcall -arch=x86_64 QueryUmsThreadInformation
+;@ stdcall QueryUnbiasedInterruptTime ; Win 7
+@ stdcall QueryWin31IniFilesMappedToRegistry(long long long long) ; missing in Win 7
@ stdcall QueueUserAPC(ptr long long)
@ stdcall QueueUserWorkItem(ptr ptr long)
@ stdcall RaiseException(long long long ptr)
+;@ stdcall RaiseFailFastException ; Win 7
@ stub ReOpenFile ;@ stdcall ReOpenFile(ptr long long long)
@ stdcall ReadConsoleA(long ptr long ptr ptr)
@ stdcall ReadConsoleInputA(long ptr long ptr)
@@ -745,12 +1019,56 @@
@ stdcall ReadFileEx(long ptr long ptr ptr)
@ stdcall ReadFileScatter(long ptr long ptr ptr)
@ stdcall ReadProcessMemory(long ptr ptr long ptr)
+;@ stdcall ReadThreadProfilingData ; Win 7
+;@ stdcall RegCloseKey ; Win 7
+;@ stdcall RegCreateKeyExA ; Win 7
+;@ stdcall RegCreateKeyExW ; Win 7
+;@ stdcall RegDeleteKeyExA ; Win 7
+;@ stdcall RegDeleteKeyExW ; Win 7
+;@ stdcall RegDeleteTreeA ; Win 7
+;@ stdcall RegDeleteTreeW ; Win 7
+;@ stdcall RegDeleteValueA ; Win 7
+;@ stdcall RegDeleteValueW ; Win 7
+;@ stdcall RegDisablePredefinedCacheEx ; Win 7
+;@ stdcall RegEnumKeyExA ; Win 7
+;@ stdcall RegEnumKeyExW ; Win 7
+;@ stdcall RegEnumValueA ; Win 7
+;@ stdcall RegEnumValueW ; Win 7
+;@ stdcall RegFlushKey ; Win 7
+;@ stdcall RegGetKeySecurity ; Win 7
+;@ stdcall RegGetValueA ; Win 7
+;@ stdcall RegGetValueW ; Win 7
+;@ stdcall RegKrnGetGlobalState ; Win 7
+;@ stdcall RegKrnInitialize ; Win 7
+;@ stdcall RegLoadKeyA ; Win 7
+;@ stdcall RegLoadKeyW ; Win 7
+;@ stdcall RegLoadMUIStringA ; Win 7
+;@ stdcall RegLoadMUIStringW ; Win 7
+;@ stdcall RegNotifyChangeKeyValue ; Win 7
+;@ stdcall RegOpenCurrentUser ; Win 7
+;@ stdcall RegOpenKeyExA ; Win 7
+;@ stdcall RegOpenKeyExW ; Win 7
+;@ stdcall RegOpenUserClassesRoot ; Win 7
+;@ stdcall RegQueryInfoKeyA ; Win 7
+;@ stdcall RegQueryInfoKeyW ; Win 7
+;@ stdcall RegQueryValueExA ; Win 7
+;@ stdcall RegQueryValueExW ; Win 7
+;@ stdcall RegRestoreKeyA ; Win 7
+;@ stdcall RegRestoreKeyW ; Win 7
+;@ stdcall RegSaveKeyExA ; Win 7
+;@ stdcall RegSaveKeyExW ; Win 7
+;@ stdcall RegSetKeySecurity ; Win 7
+;@ stdcall RegSetValueExA ; Win 7
+;@ stdcall RegSetValueExW ; Win 7
+;@ stdcall RegUnLoadKeyA ; Win 7
+;@ stdcall RegUnLoadKeyW ; Win 7
+;@ stdcall RegisterApplicationRecoveryCallback ; Win 7
@ stdcall RegisterApplicationRestart(wstr long)
@ stdcall RegisterConsoleIME(ptr ptr)
@ stdcall RegisterConsoleOS2(long)
@ stdcall RegisterConsoleVDM(long long long long long long long long long long long)
-;@ stub RegisterServiceProcess ; missing in XP SP3
-@ stub RegisterSysMsgHandler ; missing in XP SP3
+;@ stub RegisterServiceProcess ; missing in XP SP3 and Win 7
+@ stub RegisterSysMsgHandler ; missing in XP SP3 and win 7
@ stdcall RegisterWaitForInputIdle(ptr)
@ stdcall RegisterWaitForSingleObject(ptr long ptr ptr long long)
@ stdcall RegisterWaitForSingleObjectEx(long ptr ptr long long)
@@ -759,22 +1077,29 @@
@ stdcall ReinitializeCriticalSection(ptr)
@ stdcall ReleaseActCtx(ptr)
@ stdcall ReleaseMutex(long)
-@ stdcall ReleaseSemaphore(long long ptr)
+;@ stdcall ReleaseMutexWhenCallbackReturns ntdll.TpCallbackReleaseMutexOnCompletion ; Win
7
@ stdcall ReleaseSRWLockExclusive(ptr) ntdll.RtlReleaseSRWLockExclusive
@ stdcall ReleaseSRWLockShared(ptr) ntdll.RtlReleaseSRWLockShared
+@ stdcall ReleaseSemaphore(long long ptr)
+;@ stdcall ReleaseSemaphoreWhenCallbackReturns
ntdll.TpCallbackReleaseSemaphoreOnCompletion ; Win 7
@ stdcall RemoveDirectoryA(str)
+;@ stdcall RemoveDirectoryTransactedA ; Win 7
+;@ stdcall RemoveDirectoryTransactedW ; Win 7
@ stdcall RemoveDirectoryW(wstr)
@ stdcall RemoveLocalAlternateComputerNameA(str long)
@ stdcall RemoveLocalAlternateComputerNameW(wstr long)
+;@ stdcall RemoveSecureMemoryCacheCallback ; Win 7
@ stdcall RemoveVectoredContinueHandler(ptr) ntdll.RtlRemoveVectoredContinueHandler
@ stdcall RemoveVectoredExceptionHandler(ptr) ntdll.RtlRemoveVectoredExceptionHandler
@ stdcall ReplaceFile(wstr wstr wstr long ptr ptr) ReplaceFileW
@ stdcall ReplaceFileA(str str str long ptr ptr)
@ stdcall ReplaceFileW(wstr wstr wstr long ptr ptr)
+;@ stdcall ReplacePartitionUnit ; Win 7
@ stdcall RequestDeviceWakeup(long)
@ stdcall RequestWakeupLatency(long)
@ stdcall ResetEvent(long)
@ stdcall ResetWriteWatch(ptr long)
+;@ stdcall ResolveLocaleName ; Win 7
@ stdcall RestoreLastError(long) ntdll.RtlRestoreLastWin32Error
@ stdcall ResumeThread(long)
@ cdecl -arch=x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable
@@ -798,7 +1123,7 @@
@ stdcall ScrollConsoleScreenBufferW(long ptr ptr ptr ptr)
@ stdcall SearchPathA(str str str long ptr ptr)
@ stdcall SearchPathW(wstr wstr wstr long ptr ptr)
-@ stdcall SetCPGlobal(long)
+@ stdcall SetCPGlobal(long) ; missing in Win 7
@ stdcall SetCalendarInfoA(long long long str)
@ stdcall SetCalendarInfoW(long long long wstr)
@ stdcall SetClientTimeZoneInformation(ptr)
@@ -814,7 +1139,7 @@
@ stdcall SetComputerNameW(wstr)
@ stdcall SetConsoleActiveScreenBuffer(long)
@ stdcall SetConsoleCP(long)
-@ stub SetConsoleCommandHistoryMode
+@ stdcall SetConsoleCommandHistoryMode(long) ; missing in win 7
@ stdcall SetConsoleCtrlHandler(ptr long)
@ stdcall SetConsoleCursor(long long)
@ stdcall SetConsoleCursorInfo(long ptr)
@@ -838,28 +1163,41 @@
@ stdcall SetConsoleOS2OemFormat(long)
@ stdcall SetConsoleOutputCP(long)
@ stdcall SetConsolePalette(long long long)
+;@ stdcall SetConsoleScreenBufferInfoEx ; Win 7
@ stdcall SetConsoleScreenBufferSize(long long)
@ stdcall SetConsoleTextAttribute(long long)
@ stdcall SetConsoleTitleA(str)
@ stdcall SetConsoleTitleW(wstr)
@ stdcall SetConsoleWindowInfo(long long ptr)
@ stdcall SetCriticalSectionSpinCount(ptr long) ntdll.RtlSetCriticalSectionSpinCount
+;@ stdcall SetCurrentConsoleFontEx ; Win 7
@ stdcall SetCurrentDirectoryA(str)
@ stdcall SetCurrentDirectoryW(wstr)
-@ stub SetDaylightFlag ; missing in XP SP3
+@ stub SetDaylightFlag ; missing in XP SP3 and Win 7
@ stdcall SetDefaultCommConfigA(str ptr long)
@ stdcall SetDefaultCommConfigW(wstr ptr long)
@ stdcall SetDllDirectoryA(str)
@ stdcall SetDllDirectoryW(wstr)
+;@ stdcall SetDynamicTimeZoneInformation ; Win 7
@ stdcall SetEndOfFile(long)
+;@ stdcall SetEnvironmentStringsA ; Win 7
+;@ stdcall SetEnvironmentStringsW ; Win 7
@ stdcall SetEnvironmentVariableA(str str)
@ stdcall SetEnvironmentVariableW(wstr wstr)
@ stdcall SetErrorMode(long)
@ stdcall SetEvent(long)
+;@ stdcall SetEventWhenCallbackReturns ntdll.TpCallbackSetEventOnCompletion ; Win 7
+;@ stdcall SetExtendedFeaturesMask
api-ms-win-core-xstate-l1-1-0.RtlSetExtendedFeaturesMask ; Win 7
@ stdcall SetFileApisToANSI()
@ stdcall SetFileApisToOEM()
@ stdcall SetFileAttributesA(str long)
+;@ stdcall SetFileAttributesTransactedA ; Win 7
+;@ stdcall SetFileAttributesTransactedW ; Win 7
@ stdcall SetFileAttributesW(wstr long)
+;@ stdcall SetFileBandwidthReservation ; Win 7
+;@ stdcall SetFileCompletionNotificationModes ; Win 7
+;@ stdcall SetFileInformationByHandle ; Win 7
+;@ stdcall SetFileIoOverlappedRange ; Win 7
@ stdcall SetFilePointer(long long ptr long)
@ stdcall SetFilePointerEx(long double ptr long)
@ stdcall SetFileShortNameA(long str)
@@ -868,7 +1206,7 @@
@ stdcall SetFileValidData(long double)
@ stdcall SetFirmwareEnvironmentVariableA(str str ptr long)
@ stdcall SetFirmwareEnvironmentVariableW(wstr wstr ptr long)
-@ stdcall SetHandleContext(long long)
+@ stdcall SetHandleContext(long long) ; missing in Win 7 x64
@ stdcall SetHandleCount(long)
@ stdcall SetHandleInformation(long long long)
@ stdcall SetInformationJobObject(long long ptr long)
@@ -881,13 +1219,21 @@
@ stdcall SetLocaleInfoW(long long wstr)
@ stdcall SetMailslotInfo(long long)
@ stdcall SetMessageWaitingIndicator(long double)
+;@ stdcall SetNamedPipeAttribute ; Win 7
@ stdcall SetNamedPipeHandleState(long ptr ptr ptr)
@ stdcall SetPriorityClass(long long)
@ stdcall SetProcessAffinityMask(long long)
+;@ stdcall SetProcessAffinityUpdateMode ; Win 7
+;@ stdcall SetProcessDEPPolicy ; Win 7
+;@ stdcall SetProcessPreferredUILanguages ; Win 7
@ stdcall SetProcessPriorityBoost(long long)
@ stdcall SetProcessShutdownParameters(long long)
@ stdcall SetProcessWorkingSetSize(long long long)
+;@ stdcall SetProcessWorkingSetSizeEx ; Win 7
+;@ stdcall SetSearchPathMode ; Win 7
@ stdcall SetStdHandle(long long)
+;@ stdcall SetStdHandleEx ; Win 7
+;@ stdcall SetSystemFileCacheSize ; Win 7
@ stdcall SetSystemPowerState(long long)
@ stdcall SetSystemTime(ptr)
@ stdcall SetSystemTimeAdjustment(long long)
@@ -898,13 +1244,24 @@
@ stdcall SetThreadContext(long ptr)
@ stdcall SetThreadErrorMode(long ptr)
@ stdcall SetThreadExecutionState(long)
+;@ stdcall SetThreadGroupAffinity ; Win 7
@ stdcall SetThreadIdealProcessor(long long)
+;@ stdcall SetThreadIdealProcessorEx ; Win 7
@ stdcall SetThreadLocale(long)
+;@ stdcall SetThreadPreferredUILanguages ; Win 7
@ stdcall SetThreadPriority(long long)
@ stdcall SetThreadPriorityBoost(long long)
+;@ stdcall SetThreadStackGuarantee ; Win 7
+;@ stdcall SetThreadToken api-ms-win-core-processthreads-l1-1-0.SetThreadToken ; Win 7
@ stdcall SetThreadUILanguage(long)
+;@ stdcall SetThreadpoolStackInformation ; Win 7
+;@ stdcall SetThreadpoolThreadMaximum ntdll.TpSetPoolMaxThreads ; Win 7
+;@ stdcall SetThreadpoolThreadMinimum ; Win 7
+;@ stdcall SetThreadpoolTimer ntdll.TpSetTimer ; Win 7
+;@ stdcall SetThreadpoolWait ntdll.TpSetWait ; Win 7
@ stdcall SetTimeZoneInformation(ptr)
@ stdcall SetTimerQueueTimer(long ptr ptr long long long)
+;@ stdcall -arch?x86_64 SetUmsThreadInformation
@ stdcall SetUnhandledExceptionFilter(ptr)
@ stdcall SetUserGeoID(long)
@ stdcall SetVDMCurrentDirectories(long long)
@@ -913,12 +1270,19 @@
@ stdcall SetVolumeMountPointA(str str)
@ stdcall SetVolumeMountPointW(wstr wstr)
@ stdcall SetWaitableTimer(long ptr long ptr ptr long)
+;@ stdcall SetWaitableTimerEx api-ms-win-core-threadpool-l1-1-0.SetWaitableTimerEx ; Win
7
@ stdcall SetupComm(long long long)
@ stdcall ShowConsoleCursor(long long)
@ stdcall SignalObjectAndWait(long long long long)
@ stdcall SizeofResource(long long)
@ stdcall Sleep(long)
+;@ stdcall SleepConditionVariableCS ; Win 7
+;@ stdcall SleepConditionVariableSRW ; Win 7
@ stdcall SleepEx(long long)
+;@ stdcall SortCloseHandle ; Win 7
+;@ stdcall SortGetHandle ; Win 7
+;@ stdcall StartThreadpoolIo ntdll.TpStartAsyncIoOperation ; Win 7
+;@ stdcall SubmitThreadpoolWork ntdll.TpPostWork ; Win 7
@ stdcall SuspendThread(long)
@ stdcall SwitchToFiber(ptr)
@ stdcall SwitchToThread()
@@ -931,42 +1295,52 @@
@ stdcall Thread32First(long ptr)
@ stdcall Thread32Next(long ptr)
@ stdcall TlsAlloc()
-@ stub TlsAllocInternal ; missing in XP SP3
+@ stub TlsAllocInternal ; missing in XP SP3 and Win 7
@ stdcall TlsFree(long)
-@ stub TlsFreeInternal ; missing in XP SP3
+@ stub TlsFreeInternal ; missing in XP SP3 and Win 7
@ stdcall TlsGetValue(long)
@ stdcall TlsSetValue(long ptr)
@ stdcall Toolhelp32ReadProcessMemory(long ptr ptr long ptr)
@ stdcall TransactNamedPipe(long ptr long ptr long ptr ptr)
@ stdcall TransmitCommChar(long long)
-@ stdcall TrimVirtualBuffer(ptr)
+@ stdcall TrimVirtualBuffer(ptr) ; missing in Win 7
+;@ stdcall TryAcquireSRWLockExclusive ntdll.RtlTryAcquireSRWLockExclusive ; Win 7
+;@ stdcall TryAcquireSRWLockShared ntdll.RtlTryAcquireSRWLockShared ; Win 7
@ stdcall TryEnterCriticalSection(ptr) ntdll.RtlTryEnterCriticalSection
+;@ stdcall TrySubmitThreadpoolCallback ; Win 7
@ stdcall TzSpecificLocalTimeToSystemTime(ptr ptr ptr)
@ stdcall UTRegister(long str str str ptr ptr ptr)
@ stdcall UTUnRegister(long)
+;@ stdcall -arch=x86_64 UmsThreadYield
@ stdcall UnhandledExceptionFilter(ptr)
@ stdcall UninitializeCriticalSection(ptr)
@ stdcall UnlockFile(long long long long long)
@ stdcall UnlockFileEx(long long long long ptr)
@ stdcall UnmapViewOfFile(ptr)
+;@ stdcall UnregisterApplicationRecoveryCallback ; Win 7
+;@ stdcall UnregisterApplicationRestart ; Win 7
@ stdcall UnregisterConsoleIME()
@ stdcall UnregisterWait(long)
@ stdcall UnregisterWaitEx(long long)
+;@ stdcall UpdateCalendarDayOfWeek ; Win 7
+;@ stdcall UpdateProcThreadAttribute
api-ms-win-core-processthreads-l1-1-0.UpdateProcThreadAttribute ; Win 7
@ stdcall UpdateResourceA(long str str long ptr long)
@ stdcall UpdateResourceW(long wstr wstr long ptr long)
@ stdcall VDMConsoleOperation(long long)
@ stdcall VDMOperationStarted(long)
-@ stub ValidateCType ; missing in XP SP3
-@ stub ValidateLocale ; missing in XP SP3
+@ stub ValidateCType ; missing in XP SP3 and Win 7
+@ stub ValidateLocale ; missing in XP SP3 and Win 7
@ stdcall VerLanguageNameA(long str long)
@ stdcall VerLanguageNameW(long wstr long)
@ stdcall -ret64 VerSetConditionMask(long long long long) ntdll.VerSetConditionMask
@ stdcall VerifyConsoleIoHandle(long)
+;@ stdcall VerifyScripts ; Win 7
@ stdcall VerifyVersionInfoA(long long double)
@ stdcall VerifyVersionInfoW(long long double)
@ stdcall VirtualAlloc(ptr long long long)
@ stdcall VirtualAllocEx(long ptr long long long)
-@ stdcall VirtualBufferExceptionHandler(long long long)
+;@ stdcall VirtualAllocExNuma ; Win 7
+@ stdcall VirtualBufferExceptionHandler(long long long) ; missing in Win 7
@ stdcall VirtualFree(ptr long long)
@ stdcall VirtualFreeEx(long ptr long long)
@ stdcall VirtualLock(ptr long)
@@ -975,21 +1349,44 @@
@ stdcall VirtualQuery(ptr ptr long)
@ stdcall VirtualQueryEx(long ptr ptr long)
@ stdcall VirtualUnlock(ptr long)
-@ stdcall WakeAllConditionVariable(ptr) ntdll.RtlWakeAllConditionVariable
-@ stdcall WakeConditionVariable(ptr) ntdll.RtlWakeConditionVariable
+;@ stdcall WTSGetActiveConsoleSessionId ; Win 7
@ stdcall WaitCommEvent(long ptr ptr)
@ stdcall WaitForDebugEvent(ptr long)
@ stdcall WaitForMultipleObjects(long ptr long long)
@ stdcall WaitForMultipleObjectsEx(long ptr long long long)
@ stdcall WaitForSingleObject(long long)
@ stdcall WaitForSingleObjectEx(long long long)
+;@ stdcall WaitForThreadpoolIoCallbacks ntdll.TpWaitForIoCompletion ; Win 7
+;@ stdcall WaitForThreadpoolTimerCallbacks ntdll.TpWaitForTimer ; Win 7
+;@ stdcall WaitForThreadpoolWaitCallbacks ntdll.TpWaitForWait ; Win 7
+;@ stdcall WaitForThreadpoolWorkCallbacks ntdll.TpWaitForWork ; Win 7
@ stdcall WaitNamedPipeA (str long)
@ stdcall WaitNamedPipeW (wstr long)
+@ stdcall WakeAllConditionVariable(ptr) ntdll.RtlWakeAllConditionVariable
+@ stdcall WakeConditionVariable(ptr) ntdll.RtlWakeConditionVariable
+;@ stdcall WerGetFlags ; Win 7
+;@ stdcall WerRegisterFile ; Win 7
+;@ stdcall WerRegisterMemoryBlock ; Win 7
+;@ stdcall WerRegisterRuntimeExceptionModule ; Win 7
+;@ stdcall WerSetFlags ; Win 7
+;@ stdcall WerUnregisterFile ; Win 7
+;@ stdcall WerUnregisterMemoryBlock ; Win 7
+;@ stdcall WerUnregisterRuntimeExceptionModule ; Win 7
+;@ stdcall WerpCleanupMessageMapping ; Win 7
+;@ stdcall WerpInitiateRemoteRecovery ; Win 7
+;@ stdcall WerpNotifyLoadStringResource ; Win 7
+;@ stdcall WerpNotifyLoadStringResourceEx ; Win 7
+;@ stdcall WerpNotifyUseStringResource ; Win 7
+;@ stdcall WerpStringLookup ; Win 7
@ stdcall WideCharToMultiByte(long long wstr long ptr long ptr ptr)
@ stdcall WinExec(str long)
+@ stdcall Wow64DisableWow64FsRedirection(ptr)
@ stdcall Wow64EnableWow64FsRedirection(long)
-@ stdcall Wow64DisableWow64FsRedirection(ptr)
+;@ stdcall Wow64GetThreadContext ; Win 7
+;@ stdcall Wow64GetThreadSelectorEntry ; Win 7
@ stdcall Wow64RevertWow64FsRedirection(ptr)
+;@ stdcall Wow64SetThreadContext ; Win 7
+;@ stdcall Wow64SuspendThread ; Win 7
@ stdcall WriteConsoleA(long ptr long ptr ptr)
@ stdcall WriteConsoleInputA(long ptr long ptr)
@ stdcall WriteConsoleInputVDMA(long long long long)
@@ -1016,19 +1413,23 @@
@ stdcall WriteProfileStringA(str str str)
@ stdcall WriteProfileStringW(wstr wstr wstr)
@ stdcall WriteTapemark(ptr long long long)
-@ stdcall WTSGetActiveConsoleSessionId()
+@ stdcall WTSGetActiveConsoleSessionId() ; missing in win 7
@ stdcall ZombifyActCtx(ptr)
-@ stub _DebugOut ; missing in XP SP3
-@ stub _DebugPrintf ; missing in XP SP3
+;@ stdcall -arch=x86_64 __C_specific_handler ntdll.__C_specific_handler
+;@ stdcall -arch=x86_64 __chkstk ntdll.__chkstk
+;@ stdcall -arch=x86_64 __misaligned_access ntdll.__misaligned_access
+@ stub _DebugOut ; missing in XP SP3 and Win 7
+@ stub _DebugPrintf ; missing in XP SP3 and Win 7
@ stdcall _hread(long ptr long)
@ stdcall _hwrite(long ptr long)
@ stdcall _lclose(long)
@ stdcall _lcreat(str long)
@ stdcall _llseek(long long long)
+;@ stdcall -arch=x86_64 _local_unwind ntdll._local_unwind; Win 7
@ stdcall _lopen(str long)
@ stdcall _lread(long ptr long) _hread
@ stdcall _lwrite(long ptr long) _hwrite
-@ stub dprintf ; missing in XP SP3
+@ stub dprintf ; missing in XP SP3 and Win 7
@ stdcall lstrcat(str str) lstrcatA
@ stdcall lstrcatA(str str)
@ stdcall lstrcatW(wstr wstr)
@@ -1047,4 +1448,12 @@
@ stdcall lstrlen(str) lstrlenA
@ stdcall lstrlenA(str)
@ stdcall lstrlenW(wstr)
+;@ stdcall -arch=x86_64 uaw_lstrcmpW ; Win 7
+;@ stdcall -arch=x86_64 uaw_lstrcmpiW ; Win 7
+;@ stdcall -arch=x86_64 uaw_lstrlenW ; Win 7
+;@ stdcall -arch=x86_64 uaw_wcschr ; Win 7
+;@ stdcall -arch=x86_64 uaw_wcscpy ; Win 7
+;@ stdcall -arch=x86_64 uaw_wcsicmp ; Win 7
+;@ stdcall -arch=x86_64 uaw_wcslen ; Win 7
+;@ stdcall -arch=x86_64 uaw_wcsrchr ; Win 7
Modified: trunk/reactos/dll/win32/kernel32/kernel32.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel3…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/kernel32.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/kernel32.rbuild [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -130,6 +130,12 @@
<file>thread.S</file>
</directory>
</if>
+ <if property="ARCH" value="amd64">
+ <directory name="amd64">
+ <file>fiber.S</file>
+ <file>thread.S</file>
+ </directory>
+ </if>
</directory>
<directory name="misc">
<file>icustubs.cpp</file>
Modified: trunk/reactos/dll/win32/kernel32/misc/dllmain.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/dl…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/misc/dllmain.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/misc/dllmain.c [iso-8859-1] Mon Jul 19 18:52:18 2010
@@ -432,6 +432,7 @@
return _InterlockedDecrement(lpAddend);
}
+#undef InterlockedExchange
LONG
WINAPI
InterlockedExchange(IN OUT LONG volatile *Target,
Modified: trunk/reactos/dll/win32/kernel32/misc/toolhelp.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/to…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/misc/toolhelp.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/misc/toolhelp.c [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -225,8 +225,8 @@
HANDLE hSection;
PTH32SNAPSHOT Snapshot;
ULONG_PTR DataOffset;
- ULONG ViewSize, i;
- ULONG nProcesses = 0, nThreads = 0, nHeaps = 0, nModules = 0;
+ SIZE_T ViewSize;
+ ULONG i, nProcesses = 0, nThreads = 0, nHeaps = 0, nModules = 0;
ULONG RequiredSnapshotSize = sizeof(TH32SNAPSHOT);
PRTL_PROCESS_HEAPS hi = NULL;
PRTL_PROCESS_MODULES mi = NULL;
@@ -670,7 +670,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lphl, sizeof(HEAPLIST32));
@@ -724,7 +724,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lphl, sizeof(HEAPLIST32));
@@ -811,7 +811,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lpme, sizeof(MODULEENTRY32W));
@@ -898,7 +898,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lpme, sizeof(MODULEENTRY32W));
@@ -985,7 +985,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lppe, sizeof(PROCESSENTRY32W));
@@ -1074,7 +1074,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lppe, sizeof(PROCESSENTRY32W));
@@ -1128,7 +1128,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lpte, sizeof(THREADENTRY32));
@@ -1182,7 +1182,7 @@
{
PTH32SNAPSHOT Snapshot;
LARGE_INTEGER SOffset;
- ULONG ViewSize;
+ SIZE_T ViewSize;
NTSTATUS Status;
CHECK_PARAM_SIZE(lpte, sizeof(THREADENTRY32));
@@ -1233,7 +1233,7 @@
BOOL
WINAPI
Toolhelp32ReadProcessMemory(DWORD th32ProcessID, LPCVOID lpBaseAddress,
- LPVOID lpBuffer, DWORD cbRead, LPDWORD lpNumberOfBytesRead)
+ LPVOID lpBuffer, SIZE_T cbRead, SIZE_T* lpNumberOfBytesRead)
{
HANDLE hProcess = OpenProcess(PROCESS_VM_READ, FALSE, th32ProcessID);
if(hProcess != NULL)
Modified: trunk/reactos/dll/win32/kernel32/misc/utils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/ut…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] Mon Jul 19 18:52:18 2010
@@ -11,6 +11,8 @@
#include <k32.h>
#ifdef _M_IX86
#include "i386/ketypes.h"
+#elif defined _M_AMD64
+#include "amd64/ketypes.h"
#endif
#define NDEBUG
@@ -189,8 +191,8 @@
NTSTATUS
WINAPI
BasepCreateStack(HANDLE hProcess,
- ULONG StackReserve,
- ULONG StackCommit,
+ SIZE_T StackReserve,
+ SIZE_T StackCommit,
PINITIAL_TEB InitialTeb)
{
NTSTATUS Status;
@@ -290,7 +292,7 @@
/* Create a guard page */
if (UseGuard)
{
- ULONG GuardPageSize = SystemBasicInfo.PageSize;
+ SIZE_T GuardPageSize = SystemBasicInfo.PageSize;
ULONG Dummy;
/* Attempt maximum space possible */
@@ -318,7 +320,7 @@
BasepFreeStack(HANDLE hProcess,
PINITIAL_TEB InitialTeb)
{
- ULONG Dummy = 0;
+ SIZE_T Dummy = 0;
/* Free the Stack */
NtFreeVirtualMemory(hProcess,
@@ -376,6 +378,44 @@
/* Give it some room for the Parameter */
Context->Esp -= sizeof(PVOID);
+#elif defined(_M_AMD64)
+ DPRINT("BasepInitializeContext: %p\n", Context);
+
+ /* Setup the Initial Win32 Thread Context */
+ Context->Rax = (ULONG_PTR)StartAddress;
+ Context->Rbx = (ULONG_PTR)Parameter;
+ Context->Rsp = (ULONG_PTR)StackAddress;
+ /* The other registers are undefined */
+
+ /* Setup the Segments */
+ Context->SegGs = KGDT64_R3_DATA | RPL_MASK;
+ Context->SegEs = KGDT64_R3_DATA | RPL_MASK;
+ Context->SegDs = KGDT64_R3_DATA | RPL_MASK;
+ Context->SegCs = KGDT64_R3_CODE | RPL_MASK;
+ Context->SegSs = KGDT64_R3_DATA | RPL_MASK;
+ Context->SegFs = KGDT64_R3_CMTEB | RPL_MASK;
+
+ /* Set the EFLAGS */
+ Context->EFlags = 0x3000; /* IOPL 3 */
+
+ if (ContextType == 1) /* For Threads */
+ {
+ Context->Rip = (ULONG_PTR)BaseThreadStartupThunk;
+ }
+ else if (ContextType == 2) /* For Fibers */
+ {
+ Context->Rip = (ULONG_PTR)BaseFiberStartup;
+ }
+ else /* For first thread in a Process */
+ {
+ Context->Rip = (ULONG_PTR)BaseProcessStartThunk;
+ }
+
+ /* Set the Context Flags */
+ Context->ContextFlags = CONTEXT_FULL;
+
+ /* Give it some room for the Parameter */
+ Context->Rsp -= sizeof(PVOID);
#else
#warning Unknown architecture
UNIMPLEMENTED;
Modified: trunk/reactos/dll/win32/kernel32/process/proc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/process/proc.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/process/proc.c [iso-8859-1] Mon Jul 19 18:52:18 2010
@@ -36,8 +36,8 @@
BOOL
WINAPI
GetProcessAffinityMask(HANDLE hProcess,
- LPDWORD lpProcessAffinityMask,
- LPDWORD lpSystemAffinityMask)
+ PDWORD_PTR lpProcessAffinityMask,
+ PDWORD_PTR lpSystemAffinityMask)
{
PROCESS_BASIC_INFORMATION ProcessInfo;
SYSTEM_BASIC_INFORMATION SystemInfo;
@@ -77,7 +77,7 @@
BOOL
WINAPI
SetProcessAffinityMask(HANDLE hProcess,
- DWORD dwProcessAffinityMask)
+ DWORD_PTR dwProcessAffinityMask)
{
NTSTATUS Status;
@@ -284,7 +284,7 @@
WINAPI
GetCurrentProcessId(VOID)
{
- return (DWORD)GetTeb()->ClientId.UniqueProcess;
+ return HandleToUlong(GetTeb()->ClientId.UniqueProcess);
}
@@ -355,7 +355,7 @@
OBJECT_ATTRIBUTES ObjectAttributes;
CLIENT_ID ClientId;
- ClientId.UniqueProcess = (HANDLE)dwProcessId;
+ ClientId.UniqueProcess = UlongToHandle(dwProcessId);
ClientId.UniqueThread = 0;
InitializeObjectAttributes(&ObjectAttributes,
@@ -559,7 +559,7 @@
WINAPI
FlushInstructionCache(HANDLE hProcess,
LPCVOID lpBaseAddress,
- DWORD dwSize)
+ SIZE_T dwSize)
{
NTSTATUS Status;
Modified: trunk/reactos/dll/win32/kernel32/process/procsup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/process/procsup.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/process/procsup.c [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -325,7 +325,7 @@
{
NTSTATUS Status;
HANDLE DuplicatedHandle;
- ULONG Dummy;
+ SIZE_T Dummy;
DPRINT("BasepDuplicateAndWriteHandle. hProcess: %lx, Handle: %lx,"
"Address: %p\n", ProcessHandle, StandardHandle, Address);
Modified: trunk/reactos/dll/win32/kernel32/process/session.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/process/session.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/process/session.c [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -73,7 +73,7 @@
return FALSE;
}
- ClientId.UniqueProcess = (HANDLE)dwProcessId;
+ ClientId.UniqueProcess = UlongToHandle(dwProcessId);
ClientId.UniqueThread = 0;
InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL);
Modified: trunk/reactos/dll/win32/kernel32/thread/amd64/fiber.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/thread/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/thread/amd64/fiber.S [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/thread/amd64/fiber.S [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -9,116 +9,9 @@
#include <ndk/asm.h>
-#define CONTEXT_FULL 0x10007
-#define CONTEXT_FLOATING_POINT 0xF
-
-.globl _SwitchToFiber@4
+.globl SwitchToFiber
.intel_syntax noprefix
-_SwitchToFiber@4:
- /* Get the TEB */
- mov edx, fs:[KGDT_R3_TEB]
-
- /* Get the Fiber */
- mov eax, [edx+TEB_FIBER_DATA]
-
- /* Save the non-volatile registers */
- mov [eax+FIBER_CONTEXT_EBX], ebx
- mov [eax+FIBER_CONTEXT_ESI], esi
- mov [eax+FIBER_CONTEXT_EDI], edi
- mov [eax+FIBER_CONTEXT_EBP], ebp
-
- /* Check if we're to save FPU State */
- cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL + CONTEXT_FLOATING_POINT
- jnz NoFpuStateSave
-
- /* Save the FPU State (Status and Control)*/
- fstsw [eax+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD]
- fstcw [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD]
-
- /* Check if the CPU supports SIMD MXCSR State Save */
- cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0
- jnz NoFpuStateSave
- stmxcsr [eax+FIBER_CONTEXT_DR6]
-
-NoFpuStateSave:
-
- /* Save stack since we're not touching it anymore */
- mov [eax+FIBER_CONTEXT_ESP], esp
-
- /* Transfer some data from the TEB */
- mov ecx, [edx+TEB_FLS_DATA]
- mov [eax+FIBER_FLS_DATA], ecx
- mov ecx, [edx+TEB_ACTIVATION_CONTEXT_STACK_POINTER]
- mov [eax+FIBER_ACTIVATION_CONTEXT_STACK], ecx
-
- /* Transfer some data related to the Stack */
- mov ecx, [edx+TEB_EXCEPTION_LIST]
- mov [eax+FIBER_EXCEPTION_LIST], ecx
- mov ecx, [edx+TEB_STACK_LIMIT]
- mov [eax+FIBER_STACK_LIMIT], ecx
- mov ecx, [edx+TEB_GUARANTEED_STACK_BYTES]
- mov [eax+FIBER_GUARANTEED_STACK_BYTES], ecx
-
- /* Switch to the new fiber */
- mov ecx, [esp+4]
- mov [edx+TEB_FIBER_DATA], ecx
-
- /* Switch Fiber Data */
- mov esi, [ecx+FIBER_EXCEPTION_LIST]
- mov [edx+TEB_EXCEPTION_LIST], esi
- mov esi, [ecx+FIBER_STACK_BASE]
- mov [edx+TEB_STACK_BASE], esi
- mov esi, [ecx+FIBER_STACK_LIMIT]
- mov [edx+TEB_STACK_LIMIT], esi
- mov esi, [ecx+FIBER_DEALLOCATION_STACK]
- mov [edx+TEB_DEALLOCATION_STACK], esi
- mov esi, [ecx+FIBER_GUARANTEED_STACK_BYTES]
- mov [edx+TEB_GUARANTEED_STACK_BYTES], esi
- mov esi, [ecx+FIBER_ACTIVATION_CONTEXT_STACK]
- mov [edx+TEB_ACTIVATION_CONTEXT_STACK_POINTER], esi
-
- /* Restore FPU State */
- cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL + CONTEXT_FLOATING_POINT
- jnz NoFpuStateRestore
-
- /* Check if the Status Word Changed */
- mov esi, [eax+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD]
- cmp si, word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD]
- jnz StatusWordChanged
-
- /* Check if the Control Word Changed */
- mov esi, [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD]
- cmp si, word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD]
- jz ControlWordEqual
-
-StatusWordChanged:
-
- /* Load the new one */
- mov word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD], 0xFFFF
- fldenv [ecx+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD]
-
-ControlWordEqual:
-
- /* Load the new one */
- cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0
- jnz NoFpuStateRestore
- ldmxcsr [ecx+FIBER_CONTEXT_DR6]
-
-NoFpuStateRestore:
-
- /* Restore non-volatile registers */
- mov esi, [ecx+FIBER_CONTEXT_ESI]
- mov edi, [ecx+FIBER_CONTEXT_EDI]
- mov ebx, [ecx+FIBER_CONTEXT_EBX]
- mov ebp, [ecx+FIBER_CONTEXT_EBP]
- mov esp, [ecx+FIBER_CONTEXT_ESP]
-
- /* Restore FLS Data */
- mov eax, [ecx+FIBER_FLS_DATA]
- mov [edx+TEB_FLS_DATA], eax
-
- /* Return */
+SwitchToFiber:
+ /* FIXME: TODO */
ret 4
-
-/* EOF */
Modified: trunk/reactos/dll/win32/kernel32/thread/amd64/thread.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/thread/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/thread/amd64/thread.S [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/thread/amd64/thread.S [iso-8859-1] Mon Jul 19
18:52:18 2010
@@ -6,11 +6,11 @@
* PROGRAMMER: Alex Ionescu (alex(a)relsoft.net)
*/
-.globl _BaseThreadStartupThunk@0
-.globl _BaseProcessStartThunk@0
+.globl BaseThreadStartupThunk
+.globl BaseProcessStartThunk
.intel_syntax noprefix
-_BaseThreadStartupThunk@0:
+BaseThreadStartupThunk:
/* Start out fresh */
xor rbp, rbp
@@ -18,15 +18,15 @@
push rbx /* lpParameter */
push rax /* lpStartAddress */
push 0 /* Return RIP */
- jmp _BaseThreadStartup
+ jmp BaseThreadStartup
-_BaseProcessStartThunk@0:
+BaseProcessStartThunk:
/* Start out fresh */
xor rbp, rbp
push rax /* lpStartAddress */
push 0 /* Return RIP */
- jmp _BaseProcessStartup
+ jmp BaseProcessStartup
/* EOF */
Modified: trunk/reactos/dll/win32/kernel32/thread/fiber.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/thread/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/thread/fiber.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/thread/fiber.c [iso-8859-1] Mon Jul 19 18:52:18 2010
@@ -258,6 +258,13 @@
DPRINT("Starting Fiber\n");
BaseThreadStartup((LPTHREAD_START_ROUTINE)Fiber->Context.Eax,
(LPVOID)Fiber->Context.Ebx);
+#elif defined(_M_AMD64)
+ PFIBER Fiber = GetFiberData();
+
+ /* Call the Thread Startup Routine */
+ DPRINT1("Starting Fiber\n");
+ BaseThreadStartup((LPTHREAD_START_ROUTINE)Fiber->Context.Rax,
+ (LPVOID)Fiber->Context.Rbx);
#else
#warning Unknown architecture
UNIMPLEMENTED;
Modified: trunk/reactos/dll/win32/kernel32/thread/thread.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/thread/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/thread/thread.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/thread/thread.c [iso-8859-1] Mon Jul 19 18:52:18
2010
@@ -232,7 +232,7 @@
}
/* Success */
- if(lpThreadId) *lpThreadId = (DWORD)ClientId.UniqueThread;
+ if(lpThreadId) *lpThreadId = HandleToUlong(ClientId.UniqueThread);
/* Resume it if asked */
if (!(dwCreationFlags & CREATE_SUSPENDED))
@@ -344,7 +344,7 @@
WINAPI
GetCurrentThreadId(VOID)
{
- return (DWORD)(NtCurrentTeb()->ClientId).UniqueThread;
+ return HandleToUlong(NtCurrentTeb()->ClientId.UniqueThread);
}
/*
@@ -684,6 +684,7 @@
IN DWORD dwSelector,
OUT LPLDT_ENTRY lpSelectorEntry)
{
+#ifdef _M_IX86
DESCRIPTOR_TABLE_ENTRY DescriptionTableEntry;
NTSTATUS Status;
@@ -704,6 +705,10 @@
/* Success, return the selector */
*lpSelectorEntry = DescriptionTableEntry.Descriptor;
return TRUE;
+#else
+ DPRINT1("Calling GetThreadSelectorEntry!\n");
+ return FALSE;
+#endif
}
/*
@@ -749,7 +754,7 @@
return 0;
}
- return (DWORD)ThreadBasic.ClientId.UniqueProcess;
+ return HandleToUlong(ThreadBasic.ClientId.UniqueProcess);
}
/*
@@ -772,7 +777,7 @@
return 0;
}
- return (DWORD)ThreadBasic.ClientId.UniqueThread;
+ return HandleToUlong(ThreadBasic.ClientId.UniqueThread);
}
/*