' PBXA64 V23 declarations for kernel32.pbi
#IF NOT %DEF(PBX_KERNEL32_PBI)
#DEFINE PBX_KERNEL32_PBI
#INCLUDE ONCE "Legacy/Platform/win_types.inc"
#INCLUDE ONCE "Legacy/Platform/win_consts.inc"

DECLARE FUNCTION CloseHandle LIB "kernel32.dll" ALIAS "CloseHandle" (BYVAL hObject AS QUAD) AS LONG
DECLARE FUNCTION GetLastError LIB "kernel32.dll" ALIAS "GetLastError" () AS DWORD
DECLARE SUB SetLastError LIB "kernel32.dll" ALIAS "SetLastError" (BYVAL dwErrCode AS DWORD)
DECLARE FUNCTION GetStdHandle LIB "kernel32.dll" ALIAS "GetStdHandle" (BYVAL nStdHandle AS DWORD) AS QUAD
DECLARE FUNCTION SetStdHandle LIB "kernel32.dll" ALIAS "SetStdHandle" (BYVAL nStdHandle AS DWORD, BYVAL hHandle AS QUAD) AS LONG
DECLARE FUNCTION ReadFile LIB "kernel32.dll" ALIAS "ReadFile" (BYVAL hFile AS QUAD, BYVAL lpBuffer AS QUAD, BYVAL nNumberOfBytesToRead AS DWORD, BYVAL lpNumberOfBytesRead AS QUAD, BYVAL lpOverlapped AS QUAD) AS LONG
DECLARE FUNCTION WriteFile LIB "kernel32.dll" ALIAS "WriteFile" (BYVAL hFile AS QUAD, BYVAL lpBuffer AS QUAD, BYVAL nNumberOfBytesToWrite AS DWORD, BYVAL lpNumberOfBytesWritten AS QUAD, BYVAL lpOverlapped AS QUAD) AS LONG
DECLARE FUNCTION FlushFileBuffers LIB "kernel32.dll" ALIAS "FlushFileBuffers" (BYVAL hFile AS QUAD) AS LONG
DECLARE FUNCTION SetEndOfFile LIB "kernel32.dll" ALIAS "SetEndOfFile" (BYVAL hFile AS QUAD) AS LONG
DECLARE FUNCTION CreateFileA LIB "kernel32.dll" ALIAS "CreateFileA" (BYVAL lpFileName AS ASCIIZ PTR, BYVAL dwDesiredAccess AS DWORD, BYVAL dwShareMode AS DWORD, BYVAL lpSecurityAttributes AS QUAD, BYVAL dwCreationDisposition AS DWORD, BYVAL dwFlagsAndAttributes AS DWORD, BYVAL hTemplateFile AS QUAD) AS QUAD
DECLARE FUNCTION CreateFileW LIB "kernel32.dll" ALIAS "CreateFileW" (BYVAL lpFileName AS WSTRING, BYVAL dwDesiredAccess AS DWORD, BYVAL dwShareMode AS DWORD, BYVAL lpSecurityAttributes AS QUAD, BYVAL dwCreationDisposition AS DWORD, BYVAL dwFlagsAndAttributes AS DWORD, BYVAL hTemplateFile AS QUAD) AS QUAD
DECLARE FUNCTION DeleteFileA LIB "kernel32.dll" ALIAS "DeleteFileA" (BYVAL lpFileName AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION DeleteFileW LIB "kernel32.dll" ALIAS "DeleteFileW" (BYVAL lpFileName AS WSTRING) AS LONG
DECLARE FUNCTION CopyFileA LIB "kernel32.dll" ALIAS "CopyFileA" (BYVAL lpExistingFileName AS ASCIIZ PTR, BYVAL lpNewFileName AS ASCIIZ PTR, BYVAL bFailIfExists AS LONG) AS LONG
DECLARE FUNCTION CopyFileW LIB "kernel32.dll" ALIAS "CopyFileW" (BYVAL lpExistingFileName AS WSTRING, BYVAL lpNewFileName AS WSTRING, BYVAL bFailIfExists AS LONG) AS LONG
DECLARE FUNCTION MoveFileA LIB "kernel32.dll" ALIAS "MoveFileA" (BYVAL lpExistingFileName AS ASCIIZ PTR, BYVAL lpNewFileName AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION MoveFileW LIB "kernel32.dll" ALIAS "MoveFileW" (BYVAL lpExistingFileName AS WSTRING, BYVAL lpNewFileName AS WSTRING) AS LONG
DECLARE FUNCTION MoveFileExA LIB "kernel32.dll" ALIAS "MoveFileExA" (BYVAL lpExistingFileName AS ASCIIZ PTR, BYVAL lpNewFileName AS ASCIIZ PTR, BYVAL dwFlags AS DWORD) AS LONG
DECLARE FUNCTION MoveFileExW LIB "kernel32.dll" ALIAS "MoveFileExW" (BYVAL lpExistingFileName AS WSTRING, BYVAL lpNewFileName AS WSTRING, BYVAL dwFlags AS DWORD) AS LONG
DECLARE FUNCTION GetFileAttributesA LIB "kernel32.dll" ALIAS "GetFileAttributesA" (BYVAL lpFileName AS ASCIIZ PTR) AS DWORD
DECLARE FUNCTION GetFileAttributesW LIB "kernel32.dll" ALIAS "GetFileAttributesW" (BYVAL lpFileName AS WSTRING) AS DWORD
DECLARE FUNCTION SetFileAttributesA LIB "kernel32.dll" ALIAS "SetFileAttributesA" (BYVAL lpFileName AS ASCIIZ PTR, BYVAL dwFileAttributes AS DWORD) AS LONG
DECLARE FUNCTION SetFileAttributesW LIB "kernel32.dll" ALIAS "SetFileAttributesW" (BYVAL lpFileName AS WSTRING, BYVAL dwFileAttributes AS DWORD) AS LONG
DECLARE FUNCTION GetFileAttributesExA LIB "kernel32.dll" ALIAS "GetFileAttributesExA" (BYVAL lpFileName AS ASCIIZ PTR, BYVAL fInfoLevelId AS LONG, BYVAL lpFileInformation AS QUAD) AS LONG
DECLARE FUNCTION GetFileAttributesExW LIB "kernel32.dll" ALIAS "GetFileAttributesExW" (BYVAL lpFileName AS WSTRING, BYVAL fInfoLevelId AS LONG, BYVAL lpFileInformation AS QUAD) AS LONG
DECLARE FUNCTION GetFileSize LIB "kernel32.dll" ALIAS "GetFileSize" (BYVAL hFile AS QUAD, BYVAL lpFileSizeHigh AS QUAD) AS DWORD
DECLARE FUNCTION GetFileSizeEx LIB "kernel32.dll" ALIAS "GetFileSizeEx" (BYVAL hFile AS QUAD, BYVAL lpFileSize AS QUAD) AS LONG
DECLARE FUNCTION SetFilePointer LIB "kernel32.dll" ALIAS "SetFilePointer" (BYVAL hFile AS QUAD, BYVAL lDistanceToMove AS LONG, BYVAL lpDistanceToMoveHigh AS QUAD, BYVAL dwMoveMethod AS DWORD) AS DWORD
DECLARE FUNCTION SetFilePointerEx LIB "kernel32.dll" ALIAS "SetFilePointerEx" (BYVAL hFile AS QUAD, BYVAL liDistanceToMove AS QUAD, BYVAL lpNewFilePointer AS QUAD, BYVAL dwMoveMethod AS DWORD) AS LONG
DECLARE FUNCTION FindFirstFileA LIB "kernel32.dll" ALIAS "FindFirstFileA" (BYVAL lpFileName AS ASCIIZ PTR, BYVAL lpFindFileData AS QUAD) AS QUAD
DECLARE FUNCTION FindFirstFileW LIB "kernel32.dll" ALIAS "FindFirstFileW" (BYVAL lpFileName AS WSTRING, BYVAL lpFindFileData AS QUAD) AS QUAD
DECLARE FUNCTION FindNextFileA LIB "kernel32.dll" ALIAS "FindNextFileA" (BYVAL hFindFile AS QUAD, BYVAL lpFindFileData AS QUAD) AS LONG
DECLARE FUNCTION FindNextFileW LIB "kernel32.dll" ALIAS "FindNextFileW" (BYVAL hFindFile AS QUAD, BYVAL lpFindFileData AS QUAD) AS LONG
DECLARE FUNCTION FindClose LIB "kernel32.dll" ALIAS "FindClose" (BYVAL hFindFile AS QUAD) AS LONG
DECLARE FUNCTION CreateDirectoryA LIB "kernel32.dll" ALIAS "CreateDirectoryA" (BYVAL lpPathName AS ASCIIZ PTR, BYVAL lpSecurityAttributes AS QUAD) AS LONG
DECLARE FUNCTION CreateDirectoryW LIB "kernel32.dll" ALIAS "CreateDirectoryW" (BYVAL lpPathName AS WSTRING, BYVAL lpSecurityAttributes AS QUAD) AS LONG
DECLARE FUNCTION RemoveDirectoryA LIB "kernel32.dll" ALIAS "RemoveDirectoryA" (BYVAL lpPathName AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION RemoveDirectoryW LIB "kernel32.dll" ALIAS "RemoveDirectoryW" (BYVAL lpPathName AS WSTRING) AS LONG
DECLARE FUNCTION SetCurrentDirectoryA LIB "kernel32.dll" ALIAS "SetCurrentDirectoryA" (BYVAL lpPathName AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION SetCurrentDirectoryW LIB "kernel32.dll" ALIAS "SetCurrentDirectoryW" (BYVAL lpPathName AS WSTRING) AS LONG
DECLARE FUNCTION GetCurrentDirectoryA LIB "kernel32.dll" ALIAS "GetCurrentDirectoryA" (BYVAL nBufferLength AS DWORD, BYVAL lpBuffer AS QUAD) AS DWORD
DECLARE FUNCTION GetCurrentDirectoryW LIB "kernel32.dll" ALIAS "GetCurrentDirectoryW" (BYVAL nBufferLength AS DWORD, BYVAL lpBuffer AS QUAD) AS DWORD
DECLARE FUNCTION GetTempPathA LIB "kernel32.dll" ALIAS "GetTempPathA" (BYVAL nBufferLength AS DWORD, BYVAL lpBuffer AS QUAD) AS DWORD
DECLARE FUNCTION GetTempPathW LIB "kernel32.dll" ALIAS "GetTempPathW" (BYVAL nBufferLength AS DWORD, BYVAL lpBuffer AS QUAD) AS DWORD
DECLARE FUNCTION GetTempFileNameA LIB "kernel32.dll" ALIAS "GetTempFileNameA" (BYVAL lpPathName AS ASCIIZ PTR, BYVAL lpPrefixString AS ASCIIZ PTR, BYVAL uUnique AS LONG, BYVAL lpTempFileName AS QUAD) AS LONG
DECLARE FUNCTION GetTempFileNameW LIB "kernel32.dll" ALIAS "GetTempFileNameW" (BYVAL lpPathName AS WSTRING, BYVAL lpPrefixString AS WSTRING, BYVAL uUnique AS LONG, BYVAL lpTempFileName AS QUAD) AS LONG
DECLARE FUNCTION GetModuleHandleA LIB "kernel32.dll" ALIAS "GetModuleHandleA" (BYVAL lpModuleName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION GetModuleHandleW LIB "kernel32.dll" ALIAS "GetModuleHandleW" (BYVAL lpModuleName AS WSTRING) AS QUAD
DECLARE FUNCTION GetModuleFileNameA LIB "kernel32.dll" ALIAS "GetModuleFileNameA" (BYVAL hModule AS QUAD, BYVAL lpFilename AS QUAD, BYVAL nSize AS DWORD) AS DWORD
DECLARE FUNCTION GetModuleFileNameW LIB "kernel32.dll" ALIAS "GetModuleFileNameW" (BYVAL hModule AS QUAD, BYVAL lpFilename AS QUAD, BYVAL nSize AS DWORD) AS DWORD
DECLARE FUNCTION LoadLibraryA LIB "kernel32.dll" ALIAS "LoadLibraryA" (BYVAL lpLibFileName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION LoadLibraryW LIB "kernel32.dll" ALIAS "LoadLibraryW" (BYVAL lpLibFileName AS WSTRING) AS QUAD
DECLARE FUNCTION FreeLibrary LIB "kernel32.dll" ALIAS "FreeLibrary" (BYVAL hLibModule AS QUAD) AS LONG
DECLARE FUNCTION GetProcAddress LIB "kernel32.dll" ALIAS "GetProcAddress" (BYVAL hModule AS QUAD, BYVAL lpProcName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION VirtualAlloc LIB "kernel32.dll" ALIAS "VirtualAlloc" (BYVAL lpAddress AS QUAD, BYVAL dwSize AS QUAD, BYVAL flAllocationType AS DWORD, BYVAL flProtect AS DWORD) AS QUAD
DECLARE FUNCTION VirtualFree LIB "kernel32.dll" ALIAS "VirtualFree" (BYVAL lpAddress AS QUAD, BYVAL dwSize AS QUAD, BYVAL dwFreeType AS DWORD) AS LONG
DECLARE FUNCTION VirtualProtect LIB "kernel32.dll" ALIAS "VirtualProtect" (BYVAL lpAddress AS QUAD, BYVAL dwSize AS QUAD, BYVAL flNewProtect AS DWORD, BYVAL lpflOldProtect AS QUAD) AS LONG
DECLARE FUNCTION VirtualQuery LIB "kernel32.dll" ALIAS "VirtualQuery" (BYVAL lpAddress AS QUAD, BYVAL lpBuffer AS QUAD, BYVAL dwLength AS QUAD) AS QUAD
DECLARE FUNCTION GetProcessHeap LIB "kernel32.dll" ALIAS "GetProcessHeap" () AS QUAD
DECLARE FUNCTION HeapAlloc LIB "kernel32.dll" ALIAS "HeapAlloc" (BYVAL hHeap AS QUAD, BYVAL dwFlags AS DWORD, BYVAL dwBytes AS QUAD) AS QUAD
DECLARE FUNCTION HeapReAlloc LIB "kernel32.dll" ALIAS "HeapReAlloc" (BYVAL hHeap AS QUAD, BYVAL dwFlags AS DWORD, BYVAL lpMem AS QUAD, BYVAL dwBytes AS QUAD) AS QUAD
DECLARE FUNCTION HeapFree LIB "kernel32.dll" ALIAS "HeapFree" (BYVAL hHeap AS QUAD, BYVAL dwFlags AS DWORD, BYVAL lpMem AS QUAD) AS LONG
DECLARE FUNCTION HeapSize LIB "kernel32.dll" ALIAS "HeapSize" (BYVAL hHeap AS QUAD, BYVAL dwFlags AS DWORD, BYVAL lpMem AS QUAD) AS QUAD
DECLARE FUNCTION GlobalAlloc LIB "kernel32.dll" ALIAS "GlobalAlloc" (BYVAL uFlags AS LONG, BYVAL dwBytes AS QUAD) AS QUAD
DECLARE FUNCTION GlobalFree LIB "kernel32.dll" ALIAS "GlobalFree" (BYVAL hMem AS QUAD) AS QUAD
DECLARE FUNCTION GlobalLock LIB "kernel32.dll" ALIAS "GlobalLock" (BYVAL hMem AS QUAD) AS QUAD
DECLARE FUNCTION GlobalUnlock LIB "kernel32.dll" ALIAS "GlobalUnlock" (BYVAL hMem AS QUAD) AS LONG
DECLARE FUNCTION LocalAlloc LIB "kernel32.dll" ALIAS "LocalAlloc" (BYVAL uFlags AS LONG, BYVAL uBytes AS QUAD) AS QUAD
DECLARE FUNCTION LocalFree LIB "kernel32.dll" ALIAS "LocalFree" (BYVAL hMem AS QUAD) AS QUAD
DECLARE SUB Sleep LIB "kernel32.dll" ALIAS "Sleep" (BYVAL dwMilliseconds AS DWORD)
DECLARE FUNCTION GetTickCount LIB "kernel32.dll" ALIAS "GetTickCount" () AS DWORD
DECLARE FUNCTION GetTickCount64 LIB "kernel32.dll" ALIAS "GetTickCount64" () AS QUAD
DECLARE FUNCTION QueryPerformanceCounter LIB "kernel32.dll" ALIAS "QueryPerformanceCounter" (BYVAL lpPerformanceCount AS QUAD) AS LONG
DECLARE FUNCTION QueryPerformanceFrequency LIB "kernel32.dll" ALIAS "QueryPerformanceFrequency" (BYVAL lpFrequency AS QUAD) AS LONG
DECLARE FUNCTION GetCurrentProcess LIB "kernel32.dll" ALIAS "GetCurrentProcess" () AS QUAD
DECLARE FUNCTION GetCurrentThread LIB "kernel32.dll" ALIAS "GetCurrentThread" () AS QUAD
DECLARE FUNCTION GetCurrentProcessId LIB "kernel32.dll" ALIAS "GetCurrentProcessId" () AS DWORD
DECLARE FUNCTION GetCurrentThreadId LIB "kernel32.dll" ALIAS "GetCurrentThreadId" () AS DWORD
DECLARE FUNCTION OpenProcess LIB "kernel32.dll" ALIAS "OpenProcess" (BYVAL dwDesiredAccess AS DWORD, BYVAL bInheritHandle AS LONG, BYVAL dwProcessId AS DWORD) AS QUAD
DECLARE FUNCTION TerminateProcess LIB "kernel32.dll" ALIAS "TerminateProcess" (BYVAL hProcess AS QUAD, BYVAL uExitCode AS LONG) AS LONG
DECLARE SUB ExitProcess LIB "kernel32.dll" ALIAS "ExitProcess" (BYVAL uExitCode AS LONG)
DECLARE FUNCTION CreateProcessA LIB "kernel32.dll" ALIAS "CreateProcessA" (BYVAL lpApplicationName AS ASCIIZ PTR, BYVAL lpCommandLine AS ASCIIZ PTR, BYVAL lpProcessAttributes AS QUAD, BYVAL lpThreadAttributes AS QUAD, BYVAL bInheritHandles AS LONG, BYVAL dwCreationFlags AS DWORD, BYVAL lpEnvironment AS QUAD, BYVAL lpCurrentDirectory AS ASCIIZ PTR, BYVAL lpStartupInfo AS QUAD, BYVAL lpProcessInformation AS QUAD) AS LONG
DECLARE FUNCTION CreateProcessW LIB "kernel32.dll" ALIAS "CreateProcessW" (BYVAL lpApplicationName AS WSTRING, BYVAL lpCommandLine AS WSTRING, BYVAL lpProcessAttributes AS QUAD, BYVAL lpThreadAttributes AS QUAD, BYVAL bInheritHandles AS LONG, BYVAL dwCreationFlags AS DWORD, BYVAL lpEnvironment AS QUAD, BYVAL lpCurrentDirectory AS WSTRING, BYVAL lpStartupInfo AS QUAD, BYVAL lpProcessInformation AS QUAD) AS LONG
DECLARE FUNCTION WaitForSingleObject LIB "kernel32.dll" ALIAS "WaitForSingleObject" (BYVAL hHandle AS QUAD, BYVAL dwMilliseconds AS DWORD) AS DWORD
DECLARE FUNCTION WaitForMultipleObjects LIB "kernel32.dll" ALIAS "WaitForMultipleObjects" (BYVAL nCount AS DWORD, BYVAL lpHandles AS QUAD, BYVAL bWaitAll AS LONG, BYVAL dwMilliseconds AS DWORD) AS DWORD
DECLARE FUNCTION CreateEventA LIB "kernel32.dll" ALIAS "CreateEventA" (BYVAL lpEventAttributes AS QUAD, BYVAL bManualReset AS LONG, BYVAL bInitialState AS LONG, BYVAL lpName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION CreateEventW LIB "kernel32.dll" ALIAS "CreateEventW" (BYVAL lpEventAttributes AS QUAD, BYVAL bManualReset AS LONG, BYVAL bInitialState AS LONG, BYVAL lpName AS WSTRING) AS QUAD
DECLARE FUNCTION SetEvent LIB "kernel32.dll" ALIAS "SetEvent" (BYVAL hEvent AS QUAD) AS LONG
DECLARE FUNCTION ResetEvent LIB "kernel32.dll" ALIAS "ResetEvent" (BYVAL hEvent AS QUAD) AS LONG
DECLARE FUNCTION CreateMutexA LIB "kernel32.dll" ALIAS "CreateMutexA" (BYVAL lpMutexAttributes AS QUAD, BYVAL bInitialOwner AS LONG, BYVAL lpName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION CreateMutexW LIB "kernel32.dll" ALIAS "CreateMutexW" (BYVAL lpMutexAttributes AS QUAD, BYVAL bInitialOwner AS LONG, BYVAL lpName AS WSTRING) AS QUAD
DECLARE FUNCTION ReleaseMutex LIB "kernel32.dll" ALIAS "ReleaseMutex" (BYVAL hMutex AS QUAD) AS LONG
DECLARE FUNCTION CreateSemaphoreA LIB "kernel32.dll" ALIAS "CreateSemaphoreA" (BYVAL lpSemaphoreAttributes AS QUAD, BYVAL lInitialCount AS LONG, BYVAL lMaximumCount AS LONG, BYVAL lpName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION CreateSemaphoreW LIB "kernel32.dll" ALIAS "CreateSemaphoreW" (BYVAL lpSemaphoreAttributes AS QUAD, BYVAL lInitialCount AS LONG, BYVAL lMaximumCount AS LONG, BYVAL lpName AS WSTRING) AS QUAD
DECLARE FUNCTION ReleaseSemaphore LIB "kernel32.dll" ALIAS "ReleaseSemaphore" (BYVAL hSemaphore AS QUAD, BYVAL lReleaseCount AS LONG, BYVAL lpPreviousCount AS QUAD) AS LONG
DECLARE FUNCTION GetEnvironmentVariableA LIB "kernel32.dll" ALIAS "GetEnvironmentVariableA" (BYVAL lpName AS ASCIIZ PTR, BYVAL lpBuffer AS QUAD, BYVAL nSize AS DWORD) AS DWORD
DECLARE FUNCTION GetEnvironmentVariableW LIB "kernel32.dll" ALIAS "GetEnvironmentVariableW" (BYVAL lpName AS WSTRING, BYVAL lpBuffer AS QUAD, BYVAL nSize AS DWORD) AS DWORD
DECLARE FUNCTION SetEnvironmentVariableA LIB "kernel32.dll" ALIAS "SetEnvironmentVariableA" (BYVAL lpName AS ASCIIZ PTR, BYVAL lpValue AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION SetEnvironmentVariableW LIB "kernel32.dll" ALIAS "SetEnvironmentVariableW" (BYVAL lpName AS WSTRING, BYVAL lpValue AS WSTRING) AS LONG
DECLARE FUNCTION ExpandEnvironmentStringsA LIB "kernel32.dll" ALIAS "ExpandEnvironmentStringsA" (BYVAL lpSrc AS ASCIIZ PTR, BYVAL lpDst AS QUAD, BYVAL nSize AS DWORD) AS DWORD
DECLARE FUNCTION ExpandEnvironmentStringsW LIB "kernel32.dll" ALIAS "ExpandEnvironmentStringsW" (BYVAL lpSrc AS WSTRING, BYVAL lpDst AS QUAD, BYVAL nSize AS DWORD) AS DWORD
DECLARE FUNCTION GetCommandLineA LIB "kernel32.dll" ALIAS "GetCommandLineA" () AS QUAD
DECLARE FUNCTION GetCommandLineW LIB "kernel32.dll" ALIAS "GetCommandLineW" () AS QUAD
DECLARE FUNCTION MultiByteToWideChar LIB "kernel32.dll" ALIAS "MultiByteToWideChar" (BYVAL CodePage AS LONG, BYVAL dwFlags AS DWORD, BYVAL lpMultiByteStr AS ASCIIZ PTR, BYVAL cbMultiByte AS LONG, BYVAL lpWideCharStr AS QUAD, BYVAL cchWideChar AS LONG) AS LONG
DECLARE FUNCTION WideCharToMultiByte LIB "kernel32.dll" ALIAS "WideCharToMultiByte" (BYVAL CodePage AS LONG, BYVAL dwFlags AS DWORD, BYVAL lpWideCharStr AS WSTRING, BYVAL cchWideChar AS LONG, BYVAL lpMultiByteStr AS QUAD, BYVAL cbMultiByte AS LONG, BYVAL lpDefaultChar AS ASCIIZ PTR, BYVAL lpUsedDefaultChar AS QUAD) AS LONG
DECLARE FUNCTION FormatMessageA LIB "kernel32.dll" ALIAS "FormatMessageA" (BYVAL dwFlags AS DWORD, BYVAL lpSource AS QUAD, BYVAL dwMessageId AS DWORD, BYVAL dwLanguageId AS DWORD, BYVAL lpBuffer AS QUAD, BYVAL nSize AS DWORD, BYVAL Arguments AS QUAD) AS DWORD
DECLARE FUNCTION FormatMessageW LIB "kernel32.dll" ALIAS "FormatMessageW" (BYVAL dwFlags AS DWORD, BYVAL lpSource AS QUAD, BYVAL dwMessageId AS DWORD, BYVAL dwLanguageId AS DWORD, BYVAL lpBuffer AS QUAD, BYVAL nSize AS DWORD, BYVAL Arguments AS QUAD) AS DWORD
DECLARE FUNCTION FileTimeToSystemTime LIB "kernel32.dll" ALIAS "FileTimeToSystemTime" (BYVAL lpFileTime AS QUAD, BYVAL lpSystemTime AS QUAD) AS LONG
DECLARE FUNCTION SystemTimeToFileTime LIB "kernel32.dll" ALIAS "SystemTimeToFileTime" (BYVAL lpSystemTime AS QUAD, BYVAL lpFileTime AS QUAD) AS LONG
DECLARE SUB GetSystemTime LIB "kernel32.dll" ALIAS "GetSystemTime" (BYVAL lpSystemTime AS QUAD)
DECLARE SUB GetLocalTime LIB "kernel32.dll" ALIAS "GetLocalTime" (BYVAL lpSystemTime AS QUAD)
DECLARE FUNCTION GetTimeZoneInformation LIB "kernel32.dll" ALIAS "GetTimeZoneInformation" (BYVAL lpTimeZoneInformation AS QUAD) AS DWORD
DECLARE FUNCTION Beep LIB "kernel32.dll" ALIAS "Beep" (BYVAL dwFreq AS DWORD, BYVAL dwDuration AS DWORD) AS LONG

#ENDIF
