mirror of
https://github.com/WinDurango/WinDurango.git
synced 2026-01-28 06:08:45 -06:00
Merge pull request #11 from AleBello7276/main
First batch of many kernelx export functions + Should Fix Check build error
This commit is contained in:
@@ -2,7 +2,85 @@ LIBRARY kernelx
|
||||
EXPORTS
|
||||
AcquireSRWLockExclusive = AcquireSRWLockExclusive_X @1
|
||||
AcquireSRWLockShared = AcquireSRWLockShared_X @2
|
||||
CloseHandle = CloseHandle_X @14
|
||||
CreateDirectoryW = CreateDirectoryW_X @34
|
||||
CreateEventExW = CreateEventExW_X @37
|
||||
CreateEventW = CreateEventW_X @38
|
||||
CreateFileW = CreateFileW_X @44
|
||||
CreateThread = CreateThread_X @60
|
||||
DebugBreak = DebugBreak_X @71
|
||||
DecodePointer = NTDLL.RtlDecodePointer @72
|
||||
DeleteCriticalSection = NTDLL.RtlDeleteCriticalSection@74
|
||||
DeleteFileW = DeleteFileW_X @77
|
||||
EventRegister = NTDLL.EtwEventRegister @95
|
||||
EventUnregister = NTDLL.EtwEventUnregister @97
|
||||
EnterCriticalSection = EnterCriticalSection_X @87
|
||||
ExitProcess = ExitProcess_X @102
|
||||
FileTimeToSystemTime = FileTimeToSystemTime_X @107
|
||||
FindClose = FindClose_X @109
|
||||
FindFirstFileW = FindFirstFileW_X @113
|
||||
FindNextFileW = FindNextFileW_X @117
|
||||
GetConsoleType = GetConsoleType_X @140
|
||||
GetCurrentProcess = GetCurrentProcess_X @144
|
||||
GetCurrentProcessId = GetCurrentProcessId_X @145
|
||||
GetCurrentThread = GetCurrentThread_X @148
|
||||
GetCurrentThreadId = GetCurrentThreadId_X @149
|
||||
GetExitCodeThread = GetExitCodeThread_X @163
|
||||
GetFileAttributesExW = GetFileAttributesExW_X @166
|
||||
GetFileAttributesW = GetFileAttributesW_X @167
|
||||
GetFileSizeEx = GetFileSizeEx_X @171
|
||||
GetLastError = GetLastError_X @178
|
||||
GetLocalTime = GetLocalTime_X @179
|
||||
GetModuleHandleW = GetModuleHandleW_X @189
|
||||
GetProcessHeap = GetProcessHeap_X @199
|
||||
GetProcessId = GetProcessId_X @201
|
||||
GetStartupInfoW = GetStartupInfoW_X @208
|
||||
GetSystemTime = GetSystemTime_X @216
|
||||
GetSystemTimeAsFileTime = GetSystemTimeAsFileTime_X @218
|
||||
GetTickCount = GetTickCount_X @231
|
||||
GetUserDefaultLocaleName = GetUserDefaultLocaleName_X @242
|
||||
GetUserGeoID = GetUserGeoID_X @243
|
||||
InitializeConditionVariable = NTDDLL.RtlInitializeConditionVariable @269
|
||||
InitializeCriticalSection = NTDLL.RtlInitializeCriticalSection @271
|
||||
InitializeCriticalSectionAndSpinCount = InitializeCriticalSectionAndSpinCount_X @272
|
||||
InitializeSListHead = NTDLL.RtlInitializeSListHead @275
|
||||
InitializeSRWLock = NTDLL.InitializeSRWLock @276
|
||||
IsDebuggerPresent = IsDebuggerPresent_X @283
|
||||
IsProcessorFeaturePresent = IsProcessorFeaturePresent_X @284
|
||||
LeaveCriticalSection = NTDLL.RtlLeaveCriticalSection @293
|
||||
MultiByteToWideChar = MultiByteToWideChar_X @313
|
||||
OutputDebugStringW = OutputDebugStringW_X @328
|
||||
QueryPerformanceCounter = QueryPerformanceCounter_X @333
|
||||
QueryPerformanceFrequency = QueryPerformanceFrequency_X @334
|
||||
RaiseException = RaiseException_X @339
|
||||
ReadFile = ReadFile_X @344
|
||||
ReleaseSRWLockExclusive = NTDLL.RtlReleaseSRWLockExclusive @366
|
||||
ResetEvent = ResetEvent_X @374
|
||||
ResumeThread = ResumeThread_X @377
|
||||
RtlCaptureContext = RtlCaptureContext_X @378
|
||||
RtlLookupFunctionEntry = RtlLookupFunctionEntry @380
|
||||
RtlVirtualUnwind = NTDLL.RtlVirtualUnwind @386
|
||||
SetFilePointer = SetFilePointer_X @404
|
||||
SetLastError = NTDLL.RtlSetLastWin32Error @409
|
||||
SetThreadAffinityMask = SetThreadAffinityMask_X @418
|
||||
SetThreadPriority = SetThreadPriority_X @424
|
||||
SetUnhandledExceptionFilter = SetUnhandledExceptionFilter_X @433
|
||||
Sleep = Sleep_X @440
|
||||
SleepConditionVariableCS = API-MS-WIN-CORE-SYNCH-L1-2-0.SleepConditionVariableCS @441
|
||||
SystemTimeToFileTime = SystemTimeToFileTime_X @449
|
||||
TerminateProcess = TerminateProcess_X @451
|
||||
TlsAlloc = TlsAlloc_X @454
|
||||
TlsGetValue = TlsGetValue_X @456
|
||||
TlsSetValue = TlsSetValue_X @457
|
||||
TryEnterCriticalSection = NTDLL.RtlTryEnterCriticalSection @464
|
||||
UnhandledExceptionFilter = UnhandledExceptionFilter_X @467
|
||||
VirtualAlloc = VirtualAlloc_X @474
|
||||
VirtualFree = VirtualFree_X @476
|
||||
WaitForMultipleObjects = WaitForMultipleObjects_X @482
|
||||
WaitForSingleObject = WaitForSingleObject_X @484
|
||||
WaitForSingleObjectEx = WaitForSingleObjectEx_X @485
|
||||
WakeAllConditionVariable = NTDLL.RtlWakeAllConditionVariable @492
|
||||
WriteFile = WriteFile_X @500
|
||||
XMemAlloc = XMemAlloc_X @501
|
||||
XMemAllocDefault = XMemAllocDefault_X @505
|
||||
XMemAllocDefault = XMemAllocDefault_X @505
|
||||
XMemFreeDefault = XMemFreeDefault_X @508
|
||||
|
||||
@@ -30,6 +30,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD forwardReason, LPVOID lpvReserved
|
||||
DestinationString->Length = 0LL;
|
||||
DestinationString->Buffer = 0LL;
|
||||
}
|
||||
//Probably have to change this to SetUnhandledExceptionFilter
|
||||
RtlSetUnhandledExceptionFilter(UnhandledExceptionFilter);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -36,11 +36,351 @@ PVOID XMemAllocDefault_X(ULONG_PTR a1, UINT64 a2)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//TODO
|
||||
PVOID XMemAlloc_X(SIZE_T dwSize, ULONGLONG dwAttributes)
|
||||
{
|
||||
return XMemAllocDefault_X(dwSize, dwAttributes);
|
||||
}
|
||||
|
||||
//TODO
|
||||
BOOL XMemFreeDefault_X(PVOID P, unsigned __int64 a2)
|
||||
{
|
||||
//STUB
|
||||
return 0;
|
||||
}
|
||||
|
||||
LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter_X(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter)
|
||||
{
|
||||
return SetUnhandledExceptionFilter(lpTopLevelExceptionFilter);
|
||||
}
|
||||
|
||||
BOOL TerminateProcess_X(HANDLE hProcess, UINT uExitCode)
|
||||
{
|
||||
return TerminateProcess(hProcess, uExitCode);
|
||||
}
|
||||
|
||||
HANDLE GetCurrentProcess_X()
|
||||
{
|
||||
return GetCurrentProcess();
|
||||
}
|
||||
|
||||
LONG UnhandledExceptionFilter_X(_EXCEPTION_POINTERS* ExceptionInfo)
|
||||
{
|
||||
return UnhandledExceptionFilter(ExceptionInfo);
|
||||
}
|
||||
|
||||
DWORD GetTickCount_X()
|
||||
{
|
||||
return GetTickCount();
|
||||
}
|
||||
|
||||
void RtlCaptureContext_X(PCONTEXT ContextRecord)
|
||||
{
|
||||
return RtlCaptureContext(ContextRecord);
|
||||
}
|
||||
|
||||
PRUNTIME_FUNCTION RtlLookupFunctionEntry_X(DWORD64 ControlPc, PDWORD64 ImageBase, PUNWIND_HISTORY_TABLE HistoryTable)
|
||||
{
|
||||
return RtlLookupFunctionEntry(ControlPc, ImageBase, HistoryTable);
|
||||
}
|
||||
|
||||
DWORD GetProcessId_X(HANDLE Process)
|
||||
{
|
||||
return GetProcessId(Process);
|
||||
}
|
||||
|
||||
void GetSystemTimeAsFileTime_X(LPFILETIME lpSystemTimeAsFileTime)
|
||||
{
|
||||
return GetSystemTimeAsFileTime(lpSystemTimeAsFileTime);
|
||||
}
|
||||
|
||||
DWORD WaitForSingleObjectEx_X(HANDLE hHandle, DWORD dwMilliseconds, BOOL bAlertable)
|
||||
{
|
||||
return WaitForSingleObjectEx(hHandle, dwMilliseconds, bAlertable);
|
||||
}
|
||||
|
||||
void GetStartupInfoW_X(LPSTARTUPINFOW lpStartupInfo)
|
||||
{
|
||||
GetStartupInfoW(lpStartupInfo);
|
||||
}
|
||||
|
||||
HMODULE GetModuleHandleW_X(LPCWSTR lpModuleName)
|
||||
{
|
||||
return GetModuleHandleW(lpModuleName);
|
||||
}
|
||||
|
||||
void GetLocalTime_X(LPSYSTEMTIME lpSystemTime)
|
||||
{
|
||||
GetLocalTime(lpSystemTime);
|
||||
}
|
||||
|
||||
DWORD GetLastError_X()
|
||||
{
|
||||
return GetLastError();
|
||||
}
|
||||
|
||||
BOOL GetFileSizeEx_X(HANDLE hFile, PLARGE_INTEGER lpFileSize)
|
||||
{
|
||||
return GetFileSizeEx(hFile, lpFileSize);
|
||||
}
|
||||
|
||||
DWORD GetFileAttributesW_X(LPCWSTR lpFileName)
|
||||
{
|
||||
return GetFileAttributesW(lpFileName);
|
||||
}
|
||||
|
||||
BOOL GetFileAttributesExW_X(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation)
|
||||
{
|
||||
return GetFileAttributesExW(lpFileName, fInfoLevelId, lpFileInformation);
|
||||
}
|
||||
|
||||
BOOL GetExitCodeThread_X(HANDLE hThread, LPDWORD lpExitCode)
|
||||
{
|
||||
return GetExitCodeThread(hThread, lpExitCode);
|
||||
}
|
||||
|
||||
HANDLE GetCurrentThread_X()
|
||||
{
|
||||
return GetCurrentThread();
|
||||
}
|
||||
|
||||
DWORD GetCurrentThreadId_X()
|
||||
{
|
||||
return GetCurrentThreadId();
|
||||
}
|
||||
|
||||
DWORD GetCurrentProcessId_X()
|
||||
{
|
||||
return GetCurrentProcessId();
|
||||
}
|
||||
|
||||
BOOL FindNextFileW_X(HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData)
|
||||
{
|
||||
return FindNextFileW(hFindFile, lpFindFileData);
|
||||
}
|
||||
|
||||
HANDLE FindFirstFileW_X(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData)
|
||||
{
|
||||
return FindFirstFileW(lpFileName, lpFindFileData);
|
||||
}
|
||||
|
||||
BOOL FindClose_X(HANDLE hFindFile)
|
||||
{
|
||||
return FindClose(hFindFile);
|
||||
}
|
||||
|
||||
BOOL FileTimeToSystemTime_X(FILETIME* lpFileTime, LPSYSTEMTIME lpSystemTime)
|
||||
{
|
||||
return FileTimeToSystemTime(lpFileTime, lpSystemTime);
|
||||
}
|
||||
|
||||
void ExitProcess_X(UINT uExitCode)
|
||||
{
|
||||
ExitProcess(uExitCode);
|
||||
}
|
||||
|
||||
BOOL DeleteFileW_X(LPCWSTR lpFileName)
|
||||
{
|
||||
return DeleteFileW(lpFileName);
|
||||
}
|
||||
|
||||
void DebugBreak_X()
|
||||
{
|
||||
return DebugBreak();
|
||||
}
|
||||
|
||||
HANDLE CreateThread_X(LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId)
|
||||
{
|
||||
return CreateThread(lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpThreadId);
|
||||
}
|
||||
|
||||
HANDLE CreateFileW_X(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
|
||||
{
|
||||
return CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
|
||||
}
|
||||
|
||||
HANDLE CreateEventW_X(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCWSTR lpName)
|
||||
{
|
||||
return CreateEventW(lpEventAttributes, bManualReset, bInitialState, lpName);
|
||||
}
|
||||
|
||||
HANDLE CreateEventExW_X(LPSECURITY_ATTRIBUTES lpEventAttributes, LPCWSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess)
|
||||
{
|
||||
return CreateEventExW(lpEventAttributes, lpName, dwFlags, dwDesiredAccess);
|
||||
}
|
||||
|
||||
BOOL CreateDirectoryW_X(LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
|
||||
{
|
||||
return CreateDirectoryW(lpPathName, lpSecurityAttributes);
|
||||
}
|
||||
|
||||
BOOL CloseHandle_X(HANDLE hObject)
|
||||
{
|
||||
return CloseHandle(hObject);
|
||||
}
|
||||
|
||||
BOOL VirtualFree_X(LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType)
|
||||
{
|
||||
//Get rid of Warnings i guess TODO
|
||||
//if (dwFreeType == 0) return;
|
||||
return VirtualFree(lpAddress, dwSize, dwFreeType);
|
||||
}
|
||||
|
||||
BOOL TlsSetValue_X(DWORD dwTlsIndex, LPVOID lpTlsValue)
|
||||
{
|
||||
return TlsSetValue(dwTlsIndex, lpTlsValue);
|
||||
}
|
||||
|
||||
LPVOID VirtualAlloc_X(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect)
|
||||
{
|
||||
return VirtualAlloc(lpAddress, dwSize, flAllocationType, flProtect);
|
||||
}
|
||||
|
||||
|
||||
BOOL WriteFile_X(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped)
|
||||
{
|
||||
return WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped);
|
||||
}
|
||||
|
||||
DWORD WaitForSingleObject_X(HANDLE hHandle, DWORD dwMilliseconds)
|
||||
{
|
||||
return WaitForSingleObject(hHandle, dwMilliseconds);
|
||||
}
|
||||
|
||||
DWORD WaitForMultipleObjects_X(DWORD nCount, HANDLE* lpHandles, BOOL bWaitAll, DWORD dwMilliseconds)
|
||||
{
|
||||
return WaitForMultipleObjects(nCount, lpHandles, bWaitAll, dwMilliseconds);
|
||||
}
|
||||
|
||||
LPVOID TlsGetValue_X(DWORD dwTlsIndex)
|
||||
{
|
||||
return TlsGetValue(dwTlsIndex);
|
||||
}
|
||||
|
||||
DWORD TlsAlloc_X()
|
||||
{
|
||||
return TlsAlloc();
|
||||
}
|
||||
|
||||
BOOL SystemTimeToFileTime_X(SYSTEMTIME* lpSystemTime, LPFILETIME lpFileTime)
|
||||
{
|
||||
return SystemTimeToFileTime(lpSystemTime, lpFileTime);
|
||||
}
|
||||
|
||||
void Sleep_X(DWORD dwMilliseconds)
|
||||
{
|
||||
return Sleep(dwMilliseconds);
|
||||
}
|
||||
|
||||
BOOL SetThreadPriority_X(HANDLE hThread, int nPriority)
|
||||
{
|
||||
return SetThreadPriority(hThread, nPriority);
|
||||
}
|
||||
|
||||
DWORD_PTR SetThreadAffinityMask_X(HANDLE hThread, DWORD_PTR dwThreadAffinityMask)
|
||||
{
|
||||
return SetThreadAffinityMask(hThread, dwThreadAffinityMask);
|
||||
}
|
||||
|
||||
DWORD SetFilePointer_X(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod)
|
||||
{
|
||||
return SetFilePointer(hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod);
|
||||
}
|
||||
|
||||
DWORD ResumeThread_X(HANDLE hThread)
|
||||
{
|
||||
return ResumeThread(hThread);
|
||||
}
|
||||
|
||||
BOOL ResetEvent_X(HANDLE hEvent)
|
||||
{
|
||||
return ResetEvent(hEvent);
|
||||
}
|
||||
|
||||
BOOL ReadFile_X(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped)
|
||||
{
|
||||
return ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped);
|
||||
}
|
||||
|
||||
void RaiseException_X(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, ULONG_PTR* lpArguments)
|
||||
{
|
||||
return RaiseException(dwExceptionCode, dwExceptionFlags, nNumberOfArguments, lpArguments);
|
||||
}
|
||||
|
||||
BOOL QueryPerformanceFrequency_X(LARGE_INTEGER* lpFrequency)
|
||||
{
|
||||
return QueryPerformanceFrequency(lpFrequency);
|
||||
}
|
||||
|
||||
BOOL QueryPerformanceCounter_X(LARGE_INTEGER* lpPerformanceCount)
|
||||
{
|
||||
return QueryPerformanceCounter(lpPerformanceCount);
|
||||
}
|
||||
|
||||
void OutputDebugStringW_X(LPCWSTR lpOutputString)
|
||||
{
|
||||
OutputDebugStringW(lpOutputString);
|
||||
}
|
||||
|
||||
int MultiByteToWideChar_X(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar)
|
||||
{
|
||||
return MultiByteToWideChar(CodePage, dwFlags, lpMultiByteStr, cbMultiByte, lpWideCharStr, cchWideChar);
|
||||
}
|
||||
|
||||
BOOL IsProcessorFeaturePresent_X(DWORD ProcessorFeature)
|
||||
{
|
||||
return IsProcessorFeaturePresent(ProcessorFeature);
|
||||
}
|
||||
|
||||
BOOL IsDebuggerPresent_X()
|
||||
{
|
||||
return IsDebuggerPresent();
|
||||
}
|
||||
|
||||
BOOL InitializeCriticalSectionAndSpinCount_X(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount)
|
||||
{
|
||||
return InitializeCriticalSectionAndSpinCount(lpCriticalSection, dwSpinCount);
|
||||
}
|
||||
|
||||
GEOID GetUserGeoID_X(GEOCLASS GeoClass)
|
||||
{
|
||||
return GetUserGeoID(GeoClass);
|
||||
}
|
||||
|
||||
int GetUserDefaultLocaleName_X(LPWSTR lpLocaleName, int cchLocaleName)
|
||||
{
|
||||
return GetUserDefaultLocaleName(lpLocaleName, cchLocaleName);
|
||||
}
|
||||
|
||||
void GetSystemTime_X(LPSYSTEMTIME lpSystemTime)
|
||||
{
|
||||
GetSystemTime(lpSystemTime);
|
||||
}
|
||||
|
||||
|
||||
__int64 GetConsoleType_X()
|
||||
{
|
||||
//STUB
|
||||
return 1;
|
||||
/*unsigned int v5; // ecx
|
||||
|
||||
_RAX = 1073741837LL;
|
||||
__asm { cpuid }
|
||||
v5 = WORD1(_RCX);
|
||||
if (v5 >= 0x32)
|
||||
{
|
||||
switch (v5)
|
||||
{
|
||||
case '@':
|
||||
return 2LL;
|
||||
case 'P':
|
||||
return 3LL;
|
||||
case 'X':
|
||||
return 4LL;
|
||||
}
|
||||
}
|
||||
return 1LL;*/
|
||||
}
|
||||
|
||||
|
||||
// !!!!!
|
||||
|
||||
@@ -16,6 +16,136 @@ extern "C" PVOID XMemAllocDefault_X(ULONG_PTR a1, UINT64 a2);
|
||||
|
||||
extern "C" PVOID XMemAlloc_X(SIZE_T dwSize, ULONGLONG dwAttributes);
|
||||
|
||||
extern "C" LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter_X(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
|
||||
|
||||
extern "C" BOOL TerminateProcess_X(HANDLE hProcess, UINT uExitCode);
|
||||
|
||||
extern "C" HANDLE GetCurrentProcess_X();
|
||||
|
||||
extern "C" LONG UnhandledExceptionFilter_X(_EXCEPTION_POINTERS* ExceptionInfo);
|
||||
|
||||
extern "C" DWORD GetTickCount_X();
|
||||
|
||||
extern "C" void RtlCaptureContext_X(PCONTEXT ContextRecord);
|
||||
|
||||
extern "C" PRUNTIME_FUNCTION RtlLookupFunctionEntry_X(DWORD64 ControlPc, PDWORD64 ImageBase, PUNWIND_HISTORY_TABLE HistoryTable);
|
||||
|
||||
extern "C" DWORD GetProcessId_X(HANDLE Process);
|
||||
|
||||
extern "C" void GetSystemTimeAsFileTime_X(LPFILETIME lpSystemTimeAsFileTime);
|
||||
|
||||
extern "C" DWORD WaitForSingleObjectEx_X(HANDLE hHandle, DWORD dwMilliseconds, BOOL bAlertable);
|
||||
|
||||
extern "C" void GetStartupInfoW_X(LPSTARTUPINFOW lpStartupInfo);
|
||||
|
||||
extern "C" BOOL VirtualFree_X(LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType);
|
||||
|
||||
extern "C" BOOL TlsSetValue_X(DWORD dwTlsIndex, LPVOID lpTlsValue);
|
||||
|
||||
extern "C" LPVOID VirtualAlloc_X(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
|
||||
|
||||
extern "C" BOOL XMemFreeDefault_X(PVOID P, unsigned __int64 a2);
|
||||
|
||||
extern "C" BOOL WriteFile_X(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
|
||||
|
||||
extern "C" DWORD WaitForSingleObject_X(HANDLE hHandle, DWORD dwMilliseconds);
|
||||
|
||||
extern "C" DWORD WaitForMultipleObjects_X(DWORD nCount, HANDLE* lpHandles, BOOL bWaitAll, DWORD dwMilliseconds);
|
||||
|
||||
extern "C" LPVOID TlsGetValue_X(DWORD dwTlsIndex);
|
||||
|
||||
extern "C" DWORD TlsAlloc_X();
|
||||
|
||||
extern "C" BOOL SystemTimeToFileTime_X(SYSTEMTIME* lpSystemTime, LPFILETIME lpFileTime);
|
||||
|
||||
extern "C" void Sleep_X(DWORD dwMilliseconds);
|
||||
|
||||
extern "C" BOOL SetThreadPriority_X(HANDLE hThread, int nPriority);
|
||||
|
||||
extern "C" DWORD_PTR SetThreadAffinityMask_X(HANDLE hThread, DWORD_PTR dwThreadAffinityMask);
|
||||
|
||||
extern "C" DWORD SetFilePointer_X(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod);
|
||||
|
||||
extern "C" DWORD ResumeThread_X(HANDLE hThread);
|
||||
|
||||
extern "C" BOOL ResetEvent_X(HANDLE hEvent);
|
||||
|
||||
extern "C" BOOL ReadFile_X(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
|
||||
|
||||
extern "C" void RaiseException_X(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, ULONG_PTR* lpArguments);
|
||||
|
||||
extern "C" BOOL QueryPerformanceFrequency_X(LARGE_INTEGER* lpFrequency);
|
||||
|
||||
extern "C" BOOL QueryPerformanceCounter_X(LARGE_INTEGER* lpPerformanceCount);
|
||||
|
||||
extern "C" void OutputDebugStringW_X(LPCWSTR lpOutputString);
|
||||
|
||||
extern "C" int MultiByteToWideChar_X(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar);
|
||||
|
||||
extern "C" BOOL IsProcessorFeaturePresent_X(DWORD ProcessorFeature);
|
||||
|
||||
extern "C" BOOL IsDebuggerPresent_X();
|
||||
|
||||
extern "C" BOOL InitializeCriticalSectionAndSpinCount_X(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount);
|
||||
|
||||
extern "C" GEOID GetUserGeoID_X(GEOCLASS GeoClass);
|
||||
|
||||
extern "C" int GetUserDefaultLocaleName_X(LPWSTR lpLocaleName, int cchLocaleName);
|
||||
|
||||
extern "C" void GetSystemTime_X(LPSYSTEMTIME lpSystemTime);
|
||||
|
||||
extern "C" void GetStartupInfoW_X(LPSTARTUPINFOW lpStartupInfo);
|
||||
|
||||
extern "C" HMODULE GetModuleHandleW_X(LPCWSTR lpModuleName);
|
||||
|
||||
extern "C" void GetLocalTime_X(LPSYSTEMTIME lpSystemTime);
|
||||
|
||||
extern "C" DWORD GetLastError_X();
|
||||
|
||||
extern "C" BOOL GetFileSizeEx_X(HANDLE hFile, PLARGE_INTEGER lpFileSize);
|
||||
|
||||
extern "C" DWORD GetFileAttributesW_X(LPCWSTR lpFileName);
|
||||
|
||||
extern "C" BOOL GetFileAttributesExW_X(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
|
||||
|
||||
extern "C" BOOL GetExitCodeThread_X(HANDLE hThread, LPDWORD lpExitCode);
|
||||
|
||||
extern "C" HANDLE GetCurrentThread_X();
|
||||
|
||||
extern "C" DWORD GetCurrentThreadId_X();
|
||||
|
||||
extern "C" DWORD GetCurrentProcessId_X();
|
||||
|
||||
extern "C" BOOL FindNextFileW_X(HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData);
|
||||
|
||||
extern "C" HANDLE FindFirstFileW_X(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData);
|
||||
|
||||
extern "C" BOOL FindClose_X(HANDLE hFindFile);
|
||||
|
||||
extern "C" BOOL FileTimeToSystemTime_X(FILETIME* lpFileTime, LPSYSTEMTIME lpSystemTime);
|
||||
|
||||
extern "C" void ExitProcess_X(UINT uExitCode);
|
||||
|
||||
extern "C" BOOL DeleteFileW_X(LPCWSTR lpFileName);
|
||||
|
||||
extern "C" void DebugBreak_X();
|
||||
|
||||
extern "C" HANDLE CreateThread_X(LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
|
||||
|
||||
extern "C" HANDLE CreateFileW_X(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
|
||||
|
||||
extern "C" HANDLE CreateEventW_X(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCWSTR lpName);
|
||||
|
||||
extern "C" HANDLE CreateEventExW_X(LPSECURITY_ATTRIBUTES lpEventAttributes, LPCWSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess);
|
||||
|
||||
extern "C" BOOL CreateDirectoryW_X(LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
|
||||
extern "C" BOOL CloseHandle_X(HANDLE hObject);
|
||||
|
||||
extern "C" __int64 GetConsoleType_X();
|
||||
|
||||
|
||||
//extern "C" BOOL TerminateProcess(HANDLE hProcess, UINT uExitCode);
|
||||
// EXE EXPORTS END
|
||||
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;NTDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
||||
Reference in New Issue
Block a user