vdfsplat / AppSrc / cWinKernEx.H @ 61
History | View | Annotate | Download (15.7 KB)
| 1 |
// cWinKernEx.h
|
|---|---|
| 2 |
// By Sergey V. Natarov (senatc@postman.ru)
|
| 3 |
// Windows Kernel Interface
|
| 4 |
//
|
| 5 |
|
| 6 |
Define MAX_COMPUTERNAME_LENGTH For 15
|
| 7 |
|
| 8 |
#IF (FMAC_VERSION < 8) |
| 9 |
Define SYNCHRONIZE For |CI$00100000
|
| 10 |
Define NOTSYNCHRONIZE For |CI$FFEFFFFF |
| 11 |
Define STANDARD_RIGHTS_REQUIRED For |CI$000F0000 |
| 12 |
#ENDIF
|
| 13 |
|
| 14 |
// Drive types
|
| 15 |
Define DRIVE_UNKNOWN For 0
|
| 16 |
Define DRIVE_NO_ROOT_DIR For 1
|
| 17 |
Define DRIVE_REMOVABLE For 2
|
| 18 |
Define DRIVE_FIXED For 3
|
| 19 |
Define DRIVE_REMOTE For 4
|
| 20 |
Define DRIVE_CDROM For 5
|
| 21 |
Define DRIVE_RAMDISK For 6
|
| 22 |
|
| 23 |
Define PROCESS_TERMINATE For |CI$0001
|
| 24 |
Define PROCESS_CREATE_THREAD For |CI$0002
|
| 25 |
Define PROCESS_SET_SESSIONID For |CI$0004
|
| 26 |
Define PROCESS_VM_OPERATION For |CI$0008 |
| 27 |
Define PROCESS_VM_READ For |CI$0010
|
| 28 |
Define PROCESS_VM_WRITE For |CI$0020
|
| 29 |
Define PROCESS_DUP_HANDLE For |CI$0040
|
| 30 |
Define PROCESS_CREATE_PROCESS For |CI$0080
|
| 31 |
Define PROCESS_SET_QUOTA For |CI$0100
|
| 32 |
Define PROCESS_SET_INFORMATION For |CI$0200
|
| 33 |
Define PROCESS_QUERY_INFORMATION For |CI$0400
|
| 34 |
Define PROCESS_ALL_ACCESS For (STANDARD_RIGHTS_REQUIRED Ior SYNCHRONIZE Ior |CI$FFFF) |
| 35 |
|
| 36 |
Define FORMAT_MESSAGE_ALLOCATE_BUFFER For |CI$00000100
|
| 37 |
Define FORMAT_MESSAGE_IGNORE_INSERTS For |CI$00000200
|
| 38 |
Define FORMAT_MESSAGE_FROM_STRING For |CI$00000400
|
| 39 |
Define FORMAT_MESSAGE_FROM_HMODULE For |CI$00000800 |
| 40 |
Define FORMAT_MESSAGE_FROM_SYSTEM For |CI$00001000
|
| 41 |
Define FORMAT_MESSAGE_ARGUMENT_ARRAY For |CI$00002000
|
| 42 |
Define FORMAT_MESSAGE_MAX_WIDTH_MASK For |CI$000000FF |
| 43 |
|
| 44 |
Type _OSVERSIONINFO |
| 45 |
Field _OSVERSIONINFO.dwOSVersionInfoSize As dWord |
| 46 |
Field _OSVERSIONINFO.dwMajorVersion As dWord |
| 47 |
Field _OSVERSIONINFO.dwMinorVersion As dWord |
| 48 |
Field _OSVERSIONINFO.dwBuildNumber As dWord |
| 49 |
Field _OSVERSIONINFO.dwPlatformId As dWord |
| 50 |
Field _OSVERSIONINFO.szCSDVersion As Char 128
|
| 51 |
End_Type // _OSVERSIONINFO
|
| 52 |
|
| 53 |
// GetVersionEx constants
|
| 54 |
|
| 55 |
Enumeration_List |
| 56 |
Define CP_VER_PLATFORM_WIN32s // Win32s on Windows 3.1.
|
| 57 |
Define CP_VER_PLATFORM_WIN32_WINDOWS // Win32 on Windows 95.
|
| 58 |
Define CP_VER_PLATFORM_WIN32_NT // Win32 on Windows NT, 2000, XP and 2003
|
| 59 |
End_Enumeration_List |
| 60 |
|
| 61 |
Enumeration_List |
| 62 |
Define Ver_MajorVersion_Windows_95 For 4
|
| 63 |
Define Ver_MajorVersion_Windows_98 For 4
|
| 64 |
Define Ver_MajorVersion_Windows_Me For 4
|
| 65 |
Define Ver_MajorVersion_Windows_NT_351 For 3
|
| 66 |
Define Ver_MajorVersion_Windows_NT_40 For 4
|
| 67 |
Define Ver_MajorVersion_Windows_2000 For 5
|
| 68 |
Define Ver_MajorVersion_Windows_XP For 5
|
| 69 |
Define Ver_MajorVersion_Windows_NET_Server For 5
|
| 70 |
End_Enumeration_List |
| 71 |
|
| 72 |
Enumeration_List |
| 73 |
Define Ver_MinorVersion_Windows_95 For 0
|
| 74 |
Define Ver_MinorVersion_Windows_98 For 10
|
| 75 |
Define Ver_MinorVersion_Windows_Me For 90
|
| 76 |
Define Ver_MinorVersion_Windows_NT_351 For 51
|
| 77 |
Define Ver_MinorVersion_Windows_NT_40 For 0
|
| 78 |
Define Ver_MinorVersion_Windows_2000 For 0
|
| 79 |
Define Ver_MinorVersion_Windows_XP For 1
|
| 80 |
Define Ver_MinorVersion_Windows_NET_Server For 1
|
| 81 |
End_Enumeration_List |
| 82 |
|
| 83 |
|
| 84 |
Enumeration_List |
| 85 |
Define Ver_Suite_SmallBusiness For |CI$0001
|
| 86 |
Define Ver_Suite_Enterprise For |CI$0002
|
| 87 |
Define Ver_Suite_BackOffice For |CI$0004
|
| 88 |
Define Ver_Suite_Communications For |CI$0008 |
| 89 |
Define Ver_Suite_Terminal For |CI$0010
|
| 90 |
Define Ver_Suite_SmallBusiness_Restricted For |CI$0020
|
| 91 |
Define Ver_Suite_EmbeddedNT For |CI$0040
|
| 92 |
Define Ver_Suite_DataCenter For |CI$0080
|
| 93 |
Define Ver_Suite_SingleUserTS For |CI$0100
|
| 94 |
Define Ver_Suite_Personal For |CI$0200
|
| 95 |
Define Ver_Suite_Blade For |CI$0400
|
| 96 |
Define Ver_Suite_Storage_Server For |CI$2000
|
| 97 |
Define Ver_Suite_WH_Server For |CI$8000
|
| 98 |
End_Enumeration_List |
| 99 |
|
| 100 |
|
| 101 |
Enumeration_List |
| 102 |
Define VER_NT_WORKSTATION For 1 // The system is running Windows NT 4.0 Workstation, |
| 103 |
// Windows 2000 Professional, Windows XP Home Edition, or
|
| 104 |
// Windows XP Professional.
|
| 105 |
Define VER_NT_DOMAIN_CONTROLLER For 2 // The system is a domain controller. |
| 106 |
Define VER_NT_SERVER For 3 // The system is a server. |
| 107 |
End_Enumeration_List |
| 108 |
|
| 109 |
|
| 110 |
Type _OSVERSIONINFOEX |
| 111 |
Field _OSVERSIONINFOEX.dwOSVersionInfoSize As dWord |
| 112 |
Field _OSVERSIONINFOEX.dwMajorVersion As dWord |
| 113 |
Field _OSVERSIONINFOEX.dwMinorVersion As dWord |
| 114 |
Field _OSVERSIONINFOEX.dwBuildNumber As dWord |
| 115 |
Field _OSVERSIONINFOEX.dwPlatformId As dWord |
| 116 |
Field _OSVERSIONINFOEX.szCSDVersion As Char 128
|
| 117 |
Field _OSVERSIONINFOEX.wServicePackMajor As Word |
| 118 |
Field _OSVERSIONINFOEX.wServicePackMinor As Word |
| 119 |
Field _OSVERSIONINFOEX.wSuiteMask As Word |
| 120 |
Field _OSVERSIONINFOEX.wProductType As Byte |
| 121 |
Field _OSVERSIONINFOEX.wReserved As Byte |
| 122 |
End_Type // _OSVERSIONINFOEX
|
| 123 |
|
| 124 |
|
| 125 |
// 2004-05-24 ------------------------------------ Start Nils G. Svedmyr
|
| 126 |
//#IFDEF MEMORYSTATUS_SIZE
|
| 127 |
// #ELSE
|
| 128 |
// DEFINE$VARIABLE$HELP INTEGER MEMORYSTATUS_SIZE
|
| 129 |
//#ENDIF
|
| 130 |
|
| 131 |
//#IF (MEMORYSTATUS_SIZE = |CI0)
|
| 132 |
// Type MEMORYSTATUS
|
| 133 |
// Field MEMORYSTATUS.dwLength As DWord // sizeof(MEMORYSTATUS)
|
| 134 |
// Field MEMORYSTATUS.dwMemoryLoad As DWord // percent of memory in use
|
| 135 |
// Field MEMORYSTATUS.dwTotalPhys As DWord // bytes of physical memory
|
| 136 |
// Field MEMORYSTATUS.dwAvailPhys As DWord // free physical memory bytes
|
| 137 |
// Field MEMORYSTATUS.dwTotalPageFile As DWord // bytes of paging file
|
| 138 |
// Field MEMORYSTATUS.dwAvailPageFile As DWord // free bytes of paging file
|
| 139 |
// Field MEMORYSTATUS.dwTotalVirtual As DWord // user bytes of address space
|
| 140 |
// Field MEMORYSTATUS.dwAvailVirtual As DWord // free user bytes
|
| 141 |
// End_Type // MEMORYSTATUS
|
| 142 |
//#ENDIF
|
| 143 |
// 2004-05-24 ------------------------------------ Stop Nils G. Svedmyr
|
| 144 |
|
| 145 |
External_Function GetTempPathEf "GetTempPathA" Kernel32.Dll Integer nBufferLength Pointer lpBuffer Returns Integer
|
| 146 |
External_Function GetSystemTimeEf "GetSystemTime" Kernel32.dll Pointer lpSystemTime Returns Integer
|
| 147 |
External_Function CreateProcessEf "CreateProcessA" Kernel32.dll ;
|
| 148 |
Pointer ApplicationName ; |
| 149 |
Pointer CmdLine ; |
| 150 |
Pointer ProcessAttr ; //Struct
|
| 151 |
Pointer ThreadAttr ; //Struct
|
| 152 |
Integer InheritHandles ; |
| 153 |
Integer CreationFlags ; |
| 154 |
Integer EnvironmentBlock ; |
| 155 |
Pointer CurrentDirectory ; |
| 156 |
Pointer StartupInfo ; //Struct
|
| 157 |
Pointer ProcessInformation ;//Struct
|
| 158 |
Returns Integer |
| 159 |
|
| 160 |
External_Function GetEnvironmentStringsEf "GetEnvironmentStringsA" Kernel32.dll Returns Pointer
|
| 161 |
External_Function FreeEnvironmentStringsEf "FreeEnvironmentStringsA" Kernel32.dll Pointer lpEnvBlock Returns Integer
|
| 162 |
External_Function MyCreateProcessEf "CreateProcessA" Kernel32.dll ;
|
| 163 |
Pointer A ; |
| 164 |
Pointer C ; |
| 165 |
Pointer P ; |
| 166 |
Pointer T ; |
| 167 |
Integer I ; |
| 168 |
Integer Cr ; |
| 169 |
Integer E ; |
| 170 |
Pointer Cu ; |
| 171 |
Pointer S ; |
| 172 |
Pointer Pr ; |
| 173 |
Returns Integer |
| 174 |
|
| 175 |
External_Function SleepMilliEf "Sleep" Kernel32.dll UInteger dwMillisecond Returns Integer
|
| 176 |
External_Function WaitForSingleObjectEf "WaitForSingleObject" Kernel32.dll Handle hHandle Integer msec Returns Integer
|
| 177 |
External_Function CloseHandleEf "CloseHandle" Kernel32.dll Handle hHandle Returns Integer
|
| 178 |
|
| 179 |
External_Function GetExitCodeProcessEf "GetExitCodeProcess" Kernel32.dll Handle hProcess Pointer lpLong Returns Integer
|
| 180 |
External_Function ExitProcessEf "ExitProcess" Kernel32.dll Integer iExitCode Returns Integer
|
| 181 |
External_Function GetCurrentProcessEf "GetCurrentProcess" Kernel32.dll Returns Handle
|
| 182 |
External_Function TerminateProcessEf "TerminateProcess" Kernel32.dll Handle hProcess Integer uExitCode Returns Integer
|
| 183 |
External_Function FindExecutableEf "FindExecutableA" Shell32.dll String sFileName String sDefaultDir Pointer lpBuffer Returns Integer
|
| 184 |
|
| 185 |
External_Function InitAtomTableEf "InitAtomTable" kernel32.dll Integer nSize Returns Integer
|
| 186 |
External_Function GlobalAddAtomEf "GlobalAddAtomA" kernel32.dll Pointer lpsString Returns Integer
|
| 187 |
External_Function GlobalDeleteAtomEf "GlobalDeleteAtom" kernel32.dll Integer nAtom Returns Integer
|
| 188 |
External_Function GlobalFindAtomEf "GlobalFindAtomA" kernel32.dll Pointer lpsString Returns Integer
|
| 189 |
External_Function GlobalGetAtomNameEf "GlobalGetAtomNameA" kernel32.dll Integer nAtom Pointer lpBuffer Integer nSize Returns Integer
|
| 190 |
External_Function CompareFileTimeEf "CompareFileTime" kernel32.dll Pointer lpFileTime1 Pointer lpFileTime2 Returns Integer
|
| 191 |
|
| 192 |
External_Function lcloseEf "_lclose" kernel32.dll Handle hFile Returns Integer
|
| 193 |
External_Function lCreatEf "_lcreat" kernel32.dll String lpPathName Integer iAttribute Returns Handle
|
| 194 |
External_Function llseekEf "_llseek" kernel32.dll Handle hFile Integer lOffset Integer iOrigin Returns Integer
|
| 195 |
External_Function lopenEf "_lopen" kernel32.dll String lpPathName Integer iReadWrite Returns Handle
|
| 196 |
External_Function lreadEf "_lread" kernel32.dll Handle hFile Pointer lpBuffer Integer wBytes Returns Integer
|
| 197 |
External_Function lwriteEf "_lwrite" kernel32.dll Handle hFile Pointer lpBuffer Integer wBytes Returns Integer
|
| 198 |
External_Function lstrcpyEf "lstrcpyA" kernel32.dll Pointer lpString1 Pointer lpString2 Returns Integer
|
| 199 |
|
| 200 |
External_Function GetTempFileNameEf "GetTempFileNameA" kernel32.dll String sPath String sPrefix Integer sUnique Pointer sLoad Returns Integer
|
| 201 |
External_Function GetTmpPathEf "GetTempPathA" kernel32.dll Integer iBufferSize Pointer sBuffer Returns Integer
|
| 202 |
|
| 203 |
External_Function FindFirstFileEf "FindFirstFileA" kernel32.dll Pointer lpFileName Pointer pWin32 Returns Handle
|
| 204 |
External_Function FindNextFileEf "FindNextFileA" kernel32.dll Handle hSearch Pointer pWin32 Returns Integer
|
| 205 |
External_Function FindCloseEf "FindClose" kernel32.dll Handle hSearch Returns Integer
|
| 206 |
External_Function xtCopyFileEf "CopyFileA" kernel32.dll String sFileName String sNewFileName Integer bFailIfExists Returns Integer
|
| 207 |
External_Function MoveFileEf "MoveFileA" kernel32.dll String szExistingFilename String szNewFilename Returns Integer
|
| 208 |
|
| 209 |
External_Function GlobalAllocEf "GlobalAlloc" kernel32.dll Integer wFlags Integer dwBytes Returns Handle
|
| 210 |
External_Function GlobalFreeEf "GlobalFree" kernel32.dll Handle hMem Returns Integer
|
| 211 |
External_Function GlobalLockEf "GlobalLock" kernel32.dll Handle hMem Returns Integer
|
| 212 |
External_Function GlobalUnlockEf "GlobalUnlock" kernel32.dll Handle hMem Returns Integer
|
| 213 |
|
| 214 |
External_Function SetLastErrorEf "SetLastError" kernel32.dll Integer dwErrorCode Returns Integer
|
| 215 |
External_Function GetCurrentProcessIDEf "GetCurrentProcessId" kernel32.dll Returns Address // should be DWord or uinteger |
| 216 |
External_Function OpenProcessEf "OpenProcess" Kernel32.Dll Integer dwDesiredAccess Boolean bInheritHandle Integer dwProcessId Returns Handle
|
| 217 |
External_Function GetModuleFileNameEf "GetModuleFileNameA" Kernel32.dll Handle hModule Address sFilename UInteger nSize Returns Integer
|
| 218 |
|
| 219 |
External_Function GetLocaleInfoEf "GetLocaleInfoA" Kernel32.dll Integer LCID Integer LCTYPE Pointer lpLCDATA Integer cchData Returns Integer
|
| 220 |
External_Function GetCalendarInfoEf "GetCalendarInfoA" Kernel32.Dll Integer iLocale Integer iCalendar Integer iCaltype Pointer lpCalData Integer cchData Pointer lpValue Returns Integer
|
| 221 |
|
| 222 |
External_Function GlobalMemoryStatusEf "GlobalMemoryStatus" Kernel32.Dll Pointer lpsMemoryStatus Returns Integer
|
| 223 |
External_Function GetLogicalDriveStringsEf "GetLogicalDriveStringsA" Kernel32.Dll Integer nBufferLength Pointer lpBuffer Returns Integer
|
| 224 |
External_Function GetDriveTypeEf "GetDriveTypeA" Kernel32.Dll Pointer lpRootPathName Returns Integer
|
| 225 |
|
| 226 |
External_Function GetVolumeInformationEf "GetVolumeInformationA" Kernel32.DLL ;
|
| 227 |
Pointer lpRootPathName Pointer lpVolumeNameBuffer Integer nVolumeNameSize Pointer lpVolumeSerialNumber Pointer lpMaximumComponentLength ; |
| 228 |
Pointer lpFileSystemFlags Pointer lpFileSystemNameBuffer Integer nFileSystemNameSize Returns Integer |
| 229 |
|
| 230 |
External_Function SetVolumeLabelEf "SetVolumeLabelA" Kernel32.dll Pointer lpRootPathName Pointer lpVolumeName Returns Integer
|
| 231 |
|
| 232 |
External_Function GetDiskFreeSpaceExEf "GetDiskFreeSpaceExA" Kernel32.dll Pointer lpDirectoryName Pointer lpFreeBytesAvailable Pointer lpTotalNumberOfBytes Pointer lpTotalNumberOfFreeBytes Returns Integer
|
| 233 |
|
| 234 |
External_Function GetOSVersionExEf "GetVersionExA" KERNEL32.DLL Pointer lpVersionInformation Returns Integer
|
| 235 |
|
| 236 |
External_Function GetShortPathNameEf "GetShortPathNameA" Kernel32.Dll Pointer lpszLongPath Pointer lpszShortPath DWord cchBuffer Returns Dword
|
| 237 |
External_Function GetLongPathNameEf "GetLongPathNameA" Kernel32.Dll Pointer lpszShortPath Pointer lpszLongPath DWord cchBuffer Returns Integer
|
| 238 |
|
| 239 |
External_Function GetComputerNameEf "GetComputerNameA" Kernel32.Dll Pointer lpComputerName DWord nNameSize Returns Integer
|
| 240 |
|
| 241 |
External_Function GetWindowsDirectoryEf "GetWindowsDirectoryA" kernel32.dll Pointer lpBuffer Integer nSize Returns Integer
|
| 242 |
External_Function GetSystemDirectoryEf "GetSystemDirectoryA" Kernel32.Dll Pointer lpBuffer UInteger uSize Returns Integer
|
| 243 |
External_Function GetCurrentDirectoryEf "GetCurrentDirectoryA" kernel32.dll Integer nSize Pointer lpBuffer Returns Integer
|
| 244 |
|
| 245 |
|
| 246 |
External_Function CreatefileEf "CreateFileA" kernel32.dll Pointer lpFile DWord dwDesAccess DWord dwShare Pointer lpSecAtt DWord dwCrDisp DWord dwFlags Handle hTempFile Returns Integer
|
| 247 |
External_Function FormatMessageEf "FormatMessageA" kernel32.dll Integer dwFlags Pointer lpSrc Integer dwMsgId Integer dwLngId Pointer lpBuf Integer nSize Pointer Arg Returns Integer
|
| 248 |
External_Function ReadFileEf "ReadFile" kernel32.dll Handle hFile Pointer lpBuffer DWord nBytesToRead Pointer lpBytesRead Pointer lpOverlapped Returns Integer
|
| 249 |
External_Function WriteFileEf "WriteFile" kernel32.dll Handle hFile Pointer lpBuf DWord nNumBytesWrt Pointer lpNumBytesWritten Pointer lpOverlapped Returns Integer
|
| 250 |
External_Function GetFileSizeEf "GetFileSize" kernel32.dll Handle hFile Pointer lpFileSizeHigh Returns Integer
|
| 251 |
External_Function SetFilePointerEf "SetFilePointer" kernel32.dll Handle hFile Integer lDistToMove Pointer lpDistToMoveHigh DWord dwMoveMethod Returns Integer
|
| 252 |
External_Function DeleteFileEf "DeleteFileA" Kernel32.Dll Pointer lpFileName Returns Integer
|
| 253 |
External_Function CopyFileEf "CopyFileA" Kernel32.Dll Pointer lpExistingFileName Pointer lpNewFileName Boolean bFailIfExists Returns Integer
|
| 254 |
External_Function FileTimeToSystemTimeEf "FileTimeToSystemTime" Kernel32.dll Pointer lpFiletime Pointer lpSystemtime Returns Integer
|
| 255 |
External_Function FileTimeToLocalFileTimeEf "FileTimeToLocalFileTime" Kernel32.dll Pointer lpFileTime Pointer lpLocalFileTime Returns Integer
|
| 256 |
External_Function GetDateFormatEf "GetDateFormatA" Kernel32.dll Integer iLocale DWord dwFlags Pointer lpDate Pointer lpFormat Pointer lpDateStr Integer icchDate Returns Integer
|
| 257 |
External_Function GetTimeFormatEf "GetTimeFormatA" Kernel32.dll Integer iLocale DWord dwFlags Pointer lpTime Pointer lpFormat Pointer lpTimeSt Integer icchTime Returns Integer
|
| 258 |
|
| 259 |
External_Function GetLastErrorEf "GetLastError" Kernel32.Dll Returns Integer
|
| 260 |
|
| 261 |
External_Function LockFileEf "LockFile" Kernel32.dll Handle hFile DWord dwFileOffsetLow DWord dwFileOffsetHigh DWord nNumberOfBytesToLockLow DWord nNumberOfBytesToLockHigh Returns Integer
|
| 262 |
External_Function UnLockFileEf "UnLockFile" Kernel32.dll Handle hFile DWord dwFileOffsetLow DWord dwFileOffsetHigh DWord nNumberOfBytesToUnLockLow DWord nNumberOfBytesToUnLockHigh Returns Integer
|
| 263 |
|
| 264 |
|