Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1065 lines
101 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. ShimProto.h
  5. Abstract:
  6. Definitions for use by all modules
  7. Notes:
  8. None
  9. History:
  10. 12/09/1999 robkenny Created
  11. 01/10/2000 linstev Format to new style
  12. 08/16/2000 prashkud Added VFW header file.
  13. 08/22/2000 a-brienw Added winmm.h, mciSendCommand,
  14. and mciSendString
  15. 11/17/2000 mnikkel Added GetObjectA
  16. 11/29/2000 andyseti Added DirectPlay
  17. 02/02/2001 a-leelat Added ScreenToClient
  18. 03/07/2001 mnikkel Added GetLastError
  19. 03/19/2001 a-leelat Added PdhAddCounter
  20. 05/17/2001 prashkud Added MsiGetProperty
  21. 05/21/2001 mnikkel Added PrintDlgA
  22. 12/14/2001 hioh Added ImmAssociateContext
  23. --*/
  24. #ifndef _SHIMPROTO_H_
  25. #define _SHIMPROTO_H_
  26. #include <tapi.h>
  27. #include <dinput.h>
  28. #include <dplay.h>
  29. #include <vfw.h>
  30. #include <winmm.h>
  31. #include <pdh.h>
  32. #include <ras.h>
  33. #include <Softpub.h>
  34. #include <WinCrypt.h>
  35. #include <WinTrust.h>
  36. #include <ImageHlp.h>
  37. #include <iphlpapi.h>
  38. #include <winerror.h>
  39. #include <shellapi.h>
  40. #include <shlobj.h>
  41. #include <ole2.h>
  42. #include <ddraw.h>
  43. #include <dsound.h>
  44. #include <commdlg.h>
  45. #include <winspool.h>
  46. #include <msi.h>
  47. #include <aclapi.h>
  48. #include <ntmsapi.h>
  49. #include <winsock2.h>
  50. typedef SOCKET (WINAPI *_pfn_socket)(int af, int type, int protocol);
  51. typedef BOOL (WINAPI *_pfn_DeviceIoControl)(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
  52. typedef BOOL (WINAPI *_pfn_CloseHandle)( HANDLE hObject );
  53. typedef UINT (WINAPI *_pfn_SetHandleCount)(UINT uNewCount);
  54. typedef NTSTATUS (WINAPI *_pfn_NtClose)(HANDLE Handle);
  55. typedef BOOL (WINAPI *_pfn_DuplicateHandle)( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwOptions );
  56. typedef BOOL (WINAPI *_pfn_CreateProcessA)(LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
  57. typedef BOOL (WINAPI *_pfn_CreateProcessW)(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
  58. typedef BOOL (WINAPI *_pfn_CreateProcessAsUserA)(HANDLE hToken, LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
  59. typedef BOOL (WINAPI *_pfn_CreateProcessAsUserW)(HANDLE hToken, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
  60. typedef NTSTATUS (WINAPI *_pfn_NtCreateProcessEx)(PHANDLE ProcessHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, HANDLE ParentProcess, ULONG Flags, HANDLE SectionHandle, HANDLE DebugPort, HANDLE ExceptionPort, ULONG JobMemberLevel);
  61. typedef HANDLE (WINAPI *_pfn_CreateThread)(LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
  62. typedef VOID (WINAPI *_pfn_ExitThread)(DWORD dwExitCode);
  63. typedef BOOL (WINAPI *_pfn_TerminateThread)(HANDLE hThread, DWORD dwExitCode);
  64. typedef BOOL (WINAPI *_pfn_SetThreadPriority)(HANDLE hThread, int nPriority);
  65. typedef BOOL (WINAPI *_pfn_SetPriorityClass)(HANDLE hProcess, DWORD dwPriorityClass);
  66. typedef HANDLE (WINAPI *_pfn_CreateSemaphoreA)(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName);
  67. typedef HANDLE (WINAPI *_pfn_CreateSemaphoreW)(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName);
  68. typedef HWND (WINAPI *_pfn_CreateWindowA)(LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);
  69. typedef HWND (WINAPI *_pfn_CreateWindowW)(LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);
  70. typedef HWND (WINAPI *_pfn_CreateWindowExA)(DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);
  71. typedef HWND (WINAPI *_pfn_CreateWindowExW)(DWORD dwExStyle, LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);
  72. typedef BOOL (WINAPI *_pfn_DestroyWindow)(HWND hWnd);
  73. typedef HWND (WINAPI *_pfn_GetFocus)(VOID);
  74. typedef BOOL (WINAPI *_pfn_EnumChildWindows)(HWND hWndParent, WNDENUMPROC lpEnumFunc, LPARAM lParam);
  75. typedef ATOM (WINAPI *_pfn_RegisterClassA)(CONST WNDCLASSA *lpWndClass);
  76. typedef ATOM (WINAPI *_pfn_RegisterClassW)(CONST WNDCLASSW *lpWndClass);
  77. typedef ATOM (WINAPI *_pfn_RegisterClassExA)(CONST WNDCLASSEXA *lpWndClass);
  78. typedef ATOM (WINAPI *_pfn_RegisterClassExW)(CONST WNDCLASSEXW *lpWndClass);
  79. typedef BOOL (WINAPI *_pfn_GetClassInfoA)(HINSTANCE hInstance, LPCSTR lpClassName, LPWNDCLASSA lpWndClass);
  80. typedef UINT (WINAPI *_pfn_GetDlgItemTextA)(HWND hDlg, int nIDDlgItem, LPSTR lpString, int nMaxCount);
  81. typedef BOOL (WINAPI *_pfn_SetDlgItemTextA)(HWND hWnd, int nIDDlgItem, LPCSTR lpString);
  82. typedef INT_PTR (WINAPI *_pfn_DialogBoxParamA)(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
  83. typedef INT_PTR (WINAPI *_pfn_DialogBoxParamW)(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
  84. typedef INT_PTR (WINAPI *_pfn_DialogBoxIndirectParamA)(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lInitParam);
  85. typedef INT_PTR (WINAPI *_pfn_DialogBoxIndirectParamW)(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lInitParam);
  86. typedef HWND (WINAPI *_pfn_CreateDialogParamA)(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
  87. typedef HWND (WINAPI *_pfn_CreateDialogParamW)(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
  88. typedef HWND (WINAPI *_pfn_CreateDialogIndirectParamA)(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lInitParam);
  89. typedef HWND (WINAPI *_pfn_CreateDialogIndirectParamW)(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lInitParam);
  90. typedef HWND (WINAPI *_pfn_CreateDialogIndirectParamAorW)(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lInitParam);
  91. typedef BOOL (WINAPI *_pfn_EndDialog)(HWND hDlg, int nResult);
  92. typedef HWND (WINAPI *_pfn_SetFocus)(HWND hwnd);
  93. typedef DWORD (WINAPI *_pfn_GetFileSize)(HANDLE hFile, LPDWORD lpFileSizeHigh);
  94. typedef WORD (WINAPI *_pfn_GetClassWord)(HWND hWnd, int nIndex);
  95. typedef WORD (WINAPI *_pfn_GetWindowWord)(HWND hWnd, int nUnknown);
  96. typedef WORD (WINAPI *_pfn_SetWindowWord)(HWND hWnd, int nUnknown, WORD wUnknown);
  97. typedef HWND (WINAPI *_pfn_GetSysModalWindow)(void);
  98. typedef HWND (WINAPI *_pfn_SetSysModalWindow)(HWND hWnd);
  99. typedef BOOL (WINAPI *_pfn_GetMenuItemInfoA)(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFO lpmii);
  100. typedef BOOL (WINAPI *_pfn_GetMenuItemInfoW)(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFO lpmii);
  101. typedef BOOL (WINAPI *_pfn_CopyFileA)( LPCSTR lpExistingFileName, LPCSTR lpNewFileName, BOOL bFailIfExists);
  102. typedef BOOL (WINAPI *_pfn_CopyFileW)( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, BOOL bFailIfExists);
  103. typedef BOOL (WINAPI *_pfn_CopyFileExA)( LPCSTR lpExistingFileName,LPCSTR lpNewFileName,LPPROGRESS_ROUTINE lpProgressRoutine,LPVOID lpData,LPBOOL pbCancel,DWORD dwCopyFlags );
  104. typedef BOOL (WINAPI *_pfn_CopyFileExW)( LPCWSTR lpExistingFileName,LPCWSTR lpNewFileName,LPPROGRESS_ROUTINE lpProgressRoutine,LPVOID lpData,LPBOOL pbCancel,DWORD dwCopyFlags );
  105. typedef BOOL (WINAPI *_pfn_CreateDirectoryA)( LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  106. typedef BOOL (WINAPI *_pfn_CreateDirectoryW)( LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  107. typedef BOOL (WINAPI *_pfn_CreateDirectoryExA)( LPCSTR lpTemplateDirectory,LPCSTR lpNewDirectory,LPSECURITY_ATTRIBUTES lpSecurityAttributes );
  108. typedef BOOL (WINAPI *_pfn_CreateDirectoryExW)( LPCWSTR lpTemplateDirectory,LPCWSTR lpNewDirectory,LPSECURITY_ATTRIBUTES lpSecurityAttributes );
  109. typedef DWORD (WINAPI *_pfn_GetCurrentDirectoryA)(DWORD nBufferLength, LPSTR lpBuffer);
  110. typedef DWORD (WINAPI *_pfn_GetCurrentDirectoryW)(DWORD nBufferLength, LPWSTR lpBuffer);
  111. typedef BOOL (WINAPI *_pfn_DeleteFileA)( LPCSTR lpFileName );
  112. typedef BOOL (WINAPI *_pfn_DeleteFileW)( LPCWSTR lpFileName );
  113. typedef NTSTATUS (WINAPI *_pfn_NtDeleteFile)(POBJECT_ATTRIBUTES ObjectAttributes);
  114. typedef BOOL (WINAPI *_pfn_FreeLibrary)( HMODULE hModule );
  115. typedef BOOL (WINAPI *_pfn_FreeResource)(HGLOBAL hMem);
  116. typedef BOOL (WINAPI *_pfn_GetBinaryTypeA)( LPCSTR lpApplicationName, LPDWORD lpBinaryType);
  117. typedef BOOL (WINAPI *_pfn_GetBinaryTypeW)( LPCWSTR lpApplicationName, LPDWORD lpBinaryType);
  118. typedef DWORD (WINAPI *_pfn_GetFullPathNameA)( LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart);
  119. typedef DWORD (WINAPI *_pfn_GetFullPathNameW)( LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart);
  120. typedef DWORD (WINAPI *_pfn_GetShortPathNameA)(LPCSTR lpszLongPath, LPSTR lpszShortPath, DWORD cchBuffer );
  121. typedef DWORD (WINAPI *_pfn_GetShortPathNameW)(LPCWSTR lpszLongPath, LPWSTR lpszShortPath, DWORD cchBuffer );
  122. typedef BOOL (WINAPI *_pfn_MoveFileA)(LPCSTR lpExistingFileName, LPCSTR lpNewFileName);
  123. typedef BOOL (WINAPI *_pfn_MoveFileW)(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName);
  124. typedef BOOL (WINAPI *_pfn_MoveFileExA)(LPCSTR lpExistingFileName, LPCSTR lpNewNewFileName, DWORD dwFlags);
  125. typedef BOOL (WINAPI *_pfn_MoveFileExW)(LPCWSTR lpExistingFileName, LPCWSTR lpNewNewFileName, DWORD dwFlags);
  126. typedef BOOL (WINAPI *_pfn_MoveFileWithProgressA)(LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags);
  127. typedef BOOL (WINAPI *_pfn_MoveFileWithProgressW)(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags);
  128. typedef BOOL (WINAPI *_pfn_ReplaceFileA)(LPCSTR lpReplacedFileName, LPCSTR lpReplacementFileName, LPCSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved);
  129. typedef BOOL (WINAPI *_pfn_ReplaceFileW)(LPCWSTR lpReplacedFileName, LPCWSTR lpReplacementFileName, LPCWSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved);
  130. typedef DWORD (WINAPI *_pfn_WNetAddConnectionA)(LPCSTR lpRemoteName, LPCSTR lpPassword, LPCSTR lpLocalName);
  131. typedef DWORD (WINAPI *_pfn_WNetAddConnectionW)(LPCWSTR lpRemoteName, LPCWSTR lpPassword, LPCWSTR lpLocalName);
  132. typedef BOOL (WINAPI *_pfn_SetCurrentDirectoryA)(LPCSTR lpPathName);
  133. typedef BOOL (WINAPI *_pfn_SetCurrentDirectoryW)(LPCWSTR lpPathName);
  134. typedef HFILE (WINAPI *_pfn_OpenFile)(LPCSTR lpFileName, LPOFSTRUCT lpReOpenBuff, UINT uStyle);
  135. typedef NTSTATUS (WINAPI *_pfn_NtOpenFile)(PHANDLE FileHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, PIO_STATUS_BLOCK IoStatusBlock, ULONG ShareAccess, ULONG OpenOptions);
  136. typedef HFILE (WINAPI *_pfn__lopen)(LPCSTR, int);
  137. typedef HFILE (WINAPI *_pfn__lcreat)(LPCSTR, int);
  138. typedef LONG (WINAPI *_pfn__hwrite)(HFILE hFile, LPCSTR lpBuffer, LONG lBytes);
  139. typedef HFILE (WINAPI *_pfn__lclose)(HFILE hFile);
  140. typedef LONG (WINAPI *_pfn__llseek)(HFILE hFile, LONG lOffset, int iOrigin);
  141. typedef UINT (WINAPI *_pfn__lread)(HFILE hFile, LPVOID lpBuffer, UINT uBytes);
  142. typedef UINT (WINAPI *_pfn__lwrite)(HFILE hFile, LPCSTR lpBuffer, UINT uBytes);
  143. typedef HANDLE (WINAPI *_pfn_CreateFileA)( LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
  144. typedef HANDLE (WINAPI *_pfn_CreateFileW)( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
  145. typedef NTSTATUS (WINAPI *_pfn_NtCreateFile)(PHANDLE FileHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, PIO_STATUS_BLOCK IoStatusBlock, PLARGE_INTEGER AllocationSize, ULONG FileAttributes, ULONG ShareAccess, ULONG CreateDisposition, ULONG CreateOptions, PVOID EaBuffer, ULONG EaLength);
  146. typedef HANDLE (WINAPI *_pfn_CreateFileMappingA)(HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName);
  147. typedef HANDLE (WINAPI *_pfn_CreateFileMappingW)(HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCWSTR lpName);
  148. typedef HANDLE (WINAPI *_pfn_OpenFileMappingA)(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName);
  149. typedef HANDLE (WINAPI *_pfn_OpenFileMappingW)(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);
  150. typedef PVOID (WINAPI *_pfn_MapViewOfFile)(HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, DWORD dwNumberOfBytesToMap);
  151. typedef PVOID (WINAPI *_pfn_MapViewOfFileEx)(HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, DWORD dwNumberOfBytesToMap, LPVOID lpBaseAddress);
  152. typedef BOOL (WINAPI *_pfn_UnMapViewOfFile)(LPCVOID lpBaseAddress);
  153. typedef NTSTATUS (WINAPI *_pfn_NtSetInformationFile)(HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, PVOID FileInformation, ULONG Length, FILE_INFORMATION_CLASS FileInformationClass);
  154. typedef VOID (WINAPI *_pfn_LZClose)(INT hFile);
  155. typedef LONG (WINAPI *_pfn_LZCopy)(INT hSource, INT hDest);
  156. typedef void (WINAPI *_pfn_LZDone)(void);
  157. typedef INT (WINAPI *_pfn_LZInit)(INT hfSource);
  158. typedef INT (WINAPI *_pfn_LZOpenFile)(LPSTR lpFileName, LPOFSTRUCT lpReOpenBuf, WORD wStyle);
  159. typedef INT (WINAPI *_pfn_LZRead)(INT hFile, LPSTR lpBuffer, INT cbRead);
  160. typedef LONG (WINAPI *_pfn_LZSeek)(INT hFile, LONG lOffset, INT iOrigin);
  161. typedef int (WINAPI *_pfn_LZStart)(void);
  162. typedef LONG (WINAPI *_pfn_CopyLZFile)(int nUnknown1, int nUnknown2);
  163. typedef BOOL (WINAPI *_pfn_DeleteFileA)( LPCSTR lpFileName);
  164. typedef BOOL (WINAPI *_pfn_DeleteFileW)( LPCWSTR lpFileName);
  165. typedef BOOL (WINAPI *_pfn_DeleteObject)(HGDIOBJ hObject);
  166. typedef BOOL (WINAPI *_pfn_ExitWindowsEx)( UINT uFlags, DWORD dwReserved );
  167. typedef UINT_PTR (WINAPI *_pfn_SetTimer)(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);
  168. typedef BOOL (WINAPI *_pfn_FreeLibrary)(HMODULE hLibModule);
  169. typedef HANDLE (WINAPI *_pfn_FindFirstFileA) (LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData);
  170. typedef HANDLE (WINAPI *_pfn_FindFirstFileW) (LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData);
  171. typedef HANDLE (WINAPI *_pfn_FindFirstFileExA) (LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags);
  172. typedef HANDLE (WINAPI *_pfn_FindFirstFileExW) (LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags);
  173. typedef BOOL (WINAPI *_pfn_FindNextFileA) (HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData);
  174. typedef BOOL (WINAPI *_pfn_FindNextFileW) (HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData);
  175. typedef BOOL (WINAPI *_pfn_FindClose) (HANDLE hFindFile);
  176. typedef LPSTR (WINAPI *_pfn_GetCommandLineA)(VOID);
  177. typedef LPWSTR (WINAPI *_pfn_GetCommandLineW)(VOID);
  178. typedef BOOL (WINAPI *_pfn_ReadProcessMemory)(HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead);
  179. typedef BOOL (WINAPI *_pfn_WriteProcessMemory)(HANDLE hProcess, LPVOID lpBaseAddress, LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesWritten);
  180. typedef HMODULE (WINAPI *_pfn_GetModuleHandleA)(LPCSTR lpModuleName);
  181. typedef HMODULE (WINAPI *_pfn_GetModuleHandleW)(LPCWSTR lpModuleName);
  182. typedef DWORD (WINAPI *_pfn_GetModuleFileNameA)(HMODULE hModule, LPSTR lpFilename, DWORD nSize);
  183. typedef DWORD (WINAPI *_pfn_GetModuleFileNameW)(HMODULE hModule, LPWSTR lpFilename, DWORD nSize);
  184. typedef DWORD (WINAPI *_pfn_GetModuleFileNameExA)(HANDLE hProcess, HMODULE hModule, LPSTR lpFilename, DWORD nSize);
  185. typedef DWORD (WINAPI *_pfn_GetModuleFileNameExW)(HANDLE hProcess, HMODULE hModule, LPWSTR lpFilename, DWORD nSize);
  186. typedef HRESULT (WINAPI *_pfn_DllGetClassObject)( REFCLSID rclsid, REFIID riid, PVOID * ppv );
  187. typedef HRESULT (WINAPI *_pfn_DirectDrawCreate)(GUID FAR *lpGUID, LPVOID *lplpDD, IUnknown* pUnkOuter );
  188. typedef HRESULT (WINAPI *_pfn_DirectDrawCreateEx)(GUID FAR *lpGUID, LPVOID *lplpDD, REFIID iid, IUnknown* pUnkOuter );
  189. typedef HRESULT (WINAPI *_pfn_DirectInputCreateA)(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTA *lplpDirectInput, LPUNKNOWN punkOuter);
  190. typedef HRESULT (WINAPI *_pfn_DirectInputCreateW)(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTW *lplpDirectInput, LPUNKNOWN punkOuter);
  191. typedef HRESULT (WINAPI *_pfn_DirectInputCreateEx)(HINSTANCE hinst, DWORD dwVersion, REFIID riidltf, LPVOID * ppvOut, LPUNKNOWN punkOuter);
  192. typedef HRESULT (WINAPI *_pfn_DirectSoundCreate)(LPCGUID lpcGuid, LPDIRECTSOUND *ppDS, LPUNKNOWN pUnkOuter);
  193. typedef HRESULT (WINAPI *_pfn_DirectPlayCreate)(LPGUID lpGUIDSP, LPDIRECTPLAY *lplpDP, IUnknown *lpUnk);
  194. typedef BOOL (WINAPI *_pfn_GetDiskFreeSpaceA)(LPCSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters);
  195. typedef BOOL (WINAPI *_pfn_GetDiskFreeSpaceW)(LPCWSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters);
  196. typedef DWORD (WINAPI *_pfn_GetFileAttributesA)(LPCSTR lpFileName);
  197. typedef DWORD (WINAPI *_pfn_GetFileAttributesW)(LPCWSTR wcsFileName);
  198. typedef BOOL (WINAPI *_pfn_GetFileAttributesExA)(LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
  199. typedef BOOL (WINAPI *_pfn_GetFileAttributesExW)(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
  200. typedef NTSTATUS (WINAPI *_pfn_NtQueryAttributesFile)(POBJECT_ATTRIBUTES ObjectAttributes, PFILE_BASIC_INFORMATION FileInformation);
  201. typedef NTSTATUS (WINAPI *_pfn_NtQueryFullAttributesFile)(POBJECT_ATTRIBUTES ObjectAttributes, PFILE_NETWORK_OPEN_INFORMATION FileInformation);
  202. typedef BOOL (WINAPI *_pfn_GetFileInformationByHandle)(HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION);
  203. typedef DWORD (WINAPI *_pfn_GetFileVersionInfoSizeA)( LPSTR lptstrFilename, LPDWORD lpdwHandle );
  204. typedef DWORD (WINAPI *_pfn_GetFileVersionInfoSizeW)( LPWSTR lptstrFilename, LPDWORD lpdwHandle );
  205. typedef BOOL (WINAPI *_pfn_GetFileVersionInfoA)( LPSTR lpstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData);
  206. typedef BOOL (WINAPI *_pfn_GetFileVersionInfoW)( LPWSTR lpstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData);
  207. typedef BOOL (WINAPI *_pfn_SetFileAttributesA)(LPCSTR lpFileName, DWORD dwFileAttributes);
  208. typedef BOOL (WINAPI *_pfn_SetFileAttributesW)(LPCWSTR lpFileName, DWORD dwFileAttributes);
  209. typedef DWORD (WINAPI *_pfn_GetProfileStringA)(LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize);
  210. typedef DWORD (WINAPI *_pfn_GetProfileStringW)(LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize);
  211. typedef BOOL (WINAPI *_pfn_WriteProfileStringA)(LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString);
  212. typedef BOOL (WINAPI *_pfn_WriteProfileStringW)(LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString);
  213. typedef BOOL (WINAPI *_pfn_WriteProfileSectionA)(LPCSTR lpAppName, LPCSTR lpString);
  214. typedef BOOL (WINAPI *_pfn_WriteProfileSectionW)(LPCWSTR lpAppName, LPCWSTR lpString);
  215. typedef UINT (WINAPI *_pfn_GetProfileIntA)(LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault);
  216. typedef UINT (WINAPI *_pfn_GetProfileIntW)(LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault);
  217. typedef UINT (WINAPI *_pfn_GetPrivateProfileIntA)(LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault, LPCSTR lpFileName);
  218. typedef UINT (WINAPI *_pfn_GetPrivateProfileIntW)(LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault, LPCWSTR lpFileName);
  219. typedef DWORD (WINAPI *_pfn_GetProfileSectionA)(LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize);
  220. typedef DWORD (WINAPI *_pfn_GetProfileSectionW)(LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize);
  221. typedef DWORD (WINAPI *_pfn_GetPrivateProfileSectionA)(LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName);
  222. typedef DWORD (WINAPI *_pfn_GetPrivateProfileSectionW)(LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName);
  223. typedef DWORD (WINAPI *_pfn_GetPrivateProfileSectionNamesA)(LPSTR lpszReturnBuffer, DWORD nSize, LPCSTR lpFileName);
  224. typedef DWORD (WINAPI *_pfn_GetPrivateProfileSectionNamesW)(LPWSTR lpszReturnBuffer, DWORD nSize, LPCWSTR lpFileName);
  225. typedef DWORD (WINAPI *_pfn_GetPrivateProfileStringA)( LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName);
  226. typedef DWORD (WINAPI *_pfn_GetPrivateProfileStringW)( LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName);
  227. typedef BOOL (WINAPI *_pfn_GetPrivateProfileStructA)(LPCSTR lpszSection, LPCSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCSTR lpFileName);
  228. typedef BOOL (WINAPI *_pfn_GetPrivateProfileStructW)(LPCWSTR lpszSection, LPCWSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR lpFileName);
  229. typedef BOOL (WINAPI *_pfn_WritePrivateProfileSectionA)(LPCSTR lpAppName, LPCSTR lpString, LPCSTR lpFileName);
  230. typedef BOOL (WINAPI *_pfn_WritePrivateProfileSectionW)(LPCWSTR lpAppName, LPCWSTR lpString, LPCWSTR lpFileName);
  231. typedef BOOL (WINAPI *_pfn_WritePrivateProfileStringA)(LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString, LPCSTR lpFileName);
  232. typedef BOOL (WINAPI *_pfn_WritePrivateProfileStringW)(LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString, LPCWSTR lpFileName);
  233. typedef BOOL (WINAPI *_pfn_WritePrivateProfileStructA)(LPCSTR lpAppName, LPCSTR lpKeyName, LPVOID lpStruct, UINT uSizeStruct, LPCSTR lpFileName);
  234. typedef BOOL (WINAPI *_pfn_WritePrivateProfileStructW)(LPCWSTR lpAppName, LPCWSTR lpKeyName, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR lpFileName);
  235. typedef FARPROC (WINAPI *_pfn_GetProcAddress)(HMODULE hModule, LPCSTR lpProcName);
  236. typedef VOID (WINAPI *_pfn_GetProcessorSpeed)(VOID);
  237. typedef HANDLE (WINAPI *_pfn_GetStdHandle)(DWORD nStdHandle);
  238. typedef DWORD (WINAPI *_pfn_GetEnvironmentVariableA)(LPCSTR lpName, LPSTR lpBuffer, DWORD nSize);
  239. typedef LPVOID (WINAPI *_pfn_GetEnvironmentStrings)();
  240. typedef LPVOID (WINAPI *_pfn_GetEnvironmentStringsA)();
  241. typedef LPVOID (WINAPI *_pfn_GetEnvironmentStringsW)();
  242. typedef BOOL (WINAPI *_pfn_FreeEnvironmentStringsA)(LPSTR lpszEnvironmentBlock);
  243. typedef BOOL (WINAPI *_pfn_FreeEnvironmentStringsW)(LPWSTR lpszEnvironmentBlock);
  244. typedef DWORD (WINAPI *_pfn_ExpandEnvironmentStringsA)(LPCSTR lpSrc, LPSTR lpDst, DWORD nSize);
  245. typedef DWORD (WINAPI *_pfn_ExpandEnvironmentStringsW)(LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize);
  246. typedef HPALETTE (WINAPI *_pfn_CreatePalette)(CONST LOGPALETTE *lplgpl);
  247. typedef UINT (WINAPI *_pfn_SetPaletteEntries)(HPALETTE hpal, UINT iStart, UINT cEntries, CONST PALETTEENTRY *lppe);
  248. typedef BOOL (WINAPI *_pfn_AnimatePalette)(HPALETTE hpal, UINT iStartIndex, UINT cEntries, CONST PALETTEENTRY *ppe);
  249. typedef BOOL (WINAPI *_pfn_ResizePalette)(HPALETTE hpal, UINT nEntries);
  250. typedef HDC (WINAPI *_pfn_GetDC)(HWND hWnd);
  251. typedef HDC (WINAPI *_pfn_GetWindowDC)(HWND hWnd);
  252. typedef HPALETTE (WINAPI *_pfn_SelectPalette)(HDC hdc, HPALETTE hpal, BOOL bForceBackground);
  253. typedef UINT (WINAPI *_pfn_RealizePalette)(HDC hdc);
  254. typedef UINT (WINAPI *_pfn_SetSystemPaletteUse)(HDC hdc, UINT uUsage);
  255. typedef UINT (WINAPI *_pfn_GetSystemPaletteEntries)( HDC hdc, UINT iStartIndex, UINT nEntries, LPPALETTEENTRY lppe);
  256. typedef DWORD (WINAPI *_pfn_GetVersion)();
  257. typedef BOOL (WINAPI *_pfn_GetVersionExA)(LPOSVERSIONINFOA lpVersionInformation);
  258. typedef BOOL (WINAPI *_pfn_GetVersionExW)(LPOSVERSIONINFOW lpVersionInformation);
  259. typedef BOOL (WINAPI *_pfn_InitializeSecurityDescriptor)( PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision);
  260. typedef HRESULT (WINAPI *_pfn_SafeArrayAccessData)(SAFEARRAY*, void HUGEP**);
  261. typedef BOOL (WINAPI *_pfn_GetVolumeInformationA)(LPCSTR, LPSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPSTR, DWORD);
  262. typedef BOOL (WINAPI *_pfn_GetVolumeInformationW)(LPCWSTR, LPWSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD);
  263. typedef HINSTANCE (WINAPI *_pfn_LoadLibraryA)(LPCSTR lpLibFileName);
  264. typedef HINSTANCE (WINAPI *_pfn_LoadLibraryW)(LPCWSTR lpLibFileName);
  265. typedef HINSTANCE (WINAPI *_pfn_LoadLibraryExA)(LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);
  266. typedef HINSTANCE (WINAPI *_pfn_LoadLibraryExW)(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);
  267. typedef DWORD (WINAPI *_pfn_LoadModule)(LPCSTR lpModuleName, LPVOID lpParameterBlock);
  268. typedef BOOL (WINAPI *_pfn_LookupPrivilegeValueA)( LPCSTR lpSystemName, LPCSTR lpName, PLUID lpLuid );
  269. typedef BOOL (WINAPI *_pfn_LookupPrivilegeValueW)( LPCWSTR lpSystemName, LPCWSTR lpName, PLUID lpLuid );
  270. typedef int (WINAPI *_pfn_MessageBoxA)(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType);
  271. typedef int (WINAPI *_pfn_MessageBoxW)(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType);
  272. typedef int (WINAPI *_pfn_MessageBoxExA)(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType, WORD wLanguageId);
  273. typedef int (WINAPI *_pfn_MessageBoxExW)(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType, WORD wLanguageId);
  274. typedef BOOL (WINAPI *_pfn_SetMessageQueue)(int nUnknown);
  275. typedef VOID (WINAPI *_pfn_OutputDebugStringA)(LPCSTR lpOutputString);
  276. typedef VOID (WINAPI *_pfn_OutputDebugStringW)(LPCWSTR lpOutputString);
  277. typedef void (WINAPI *_pfn_SetDebugErrorLevel)(DWORD dwLevel);
  278. typedef LONG (WINAPI *_pfn_RegConnectRegistryA)(LPCSTR lpMachineName, HKEY hKey, PHKEY phkResult);
  279. typedef LONG (WINAPI *_pfn_RegConnectRegistryW)(LPCWSTR lpMachineName, HKEY hKey, PHKEY phkResult);
  280. typedef LONG (WINAPI *_pfn_RegCreateKeyA)(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult);
  281. typedef LONG (WINAPI *_pfn_RegCreateKeyW)(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult);
  282. typedef LONG (WINAPI *_pfn_RegCreateKeyExA)(HKEY hKey, LPCSTR lpSubKey, DWORD Reserved, LPSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition);
  283. typedef LONG (WINAPI *_pfn_RegCreateKeyExW)(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition);
  284. typedef LONG (WINAPI *_pfn_RegOpenKeyA)(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult);
  285. typedef LONG (WINAPI *_pfn_RegOpenKeyW)(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult);
  286. typedef LONG (WINAPI *_pfn_RegOpenKeyExA)(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);
  287. typedef LONG (WINAPI *_pfn_RegOpenKeyExW)(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);
  288. typedef LONG (WINAPI *_pfn_RegOpenCurrentUser)(REGSAM samDesired, PHKEY phkResult);
  289. typedef LONG (WINAPI *_pfn_RegOpenUserClassesRoot)(HANDLE hToken, DWORD dwOptions, REGSAM samDesired, PHKEY phkResult);
  290. typedef LONG (WINAPI *_pfn_RegQueryValueA)(HKEY hkey, LPCSTR lpSubKey, LPSTR lpData, PLONG lpcbData);
  291. typedef LONG (WINAPI *_pfn_RegQueryValueW)(HKEY hkey, LPCWSTR lpSubKey, LPWSTR lpData, PLONG lpcbData);
  292. typedef LONG (WINAPI *_pfn_RegQueryValueExA)(HKEY hkey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
  293. typedef LONG (WINAPI *_pfn_RegQueryValueExW)(HKEY hkey, LPCWSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
  294. typedef LONG (WINAPI *_pfn_RegEnumValueA)(HKEY hKey, DWORD dwIndex, LPSTR lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
  295. typedef LONG (WINAPI *_pfn_RegEnumValueW)(HKEY hKey, DWORD dwIndex, LPWSTR lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
  296. typedef LONG (WINAPI *_pfn_RegEnumKeyA)(HKEY hKey, DWORD dwIndex, LPSTR lpName, DWORD cbName);
  297. typedef LONG (WINAPI *_pfn_RegEnumKeyW)(HKEY hKey, DWORD dwIndex, LPWSTR lpName, DWORD cbName);
  298. typedef LONG (WINAPI *_pfn_RegEnumKeyExA)(HKEY hKey, DWORD dwIndex, LPSTR lpName, LPDWORD lpcbName, LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime);
  299. typedef LONG (WINAPI *_pfn_RegEnumKeyExW)(HKEY hKey, DWORD dwIndex, LPWSTR lpName, LPDWORD lpcbName, LPDWORD lpReserved, LPWSTR lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime);
  300. typedef LONG (WINAPI *_pfn_RegQueryInfoKeyA)(HKEY hKey, LPSTR lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime);
  301. typedef LONG (WINAPI *_pfn_RegQueryInfoKeyW)(HKEY hKey, LPWSTR lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime);
  302. typedef LONG (WINAPI *_pfn_RegCloseKey)(HKEY hkey);
  303. typedef LONG (WINAPI *_pfn_RegSetValueA)(HKEY hKey, LPCSTR lpSubKey, DWORD dwType, LPCSTR lpData, DWORD cbData);
  304. typedef LONG (WINAPI *_pfn_RegSetValueW)(HKEY hKey, LPCWSTR lpSubKey, DWORD dwType, LPCWSTR lpData, DWORD cbData);
  305. typedef LONG (WINAPI *_pfn_RegSetValueExA)(HKEY hKey, LPCSTR lpSubKey, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData);
  306. typedef LONG (WINAPI *_pfn_RegSetValueExW)(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, DWORD dwType, CONST BYTE * lpData, DWORD cbData);
  307. typedef NTSTATUS (WINAPI *_pfn_NtSetValueKey)(HANDLE KeyHandle, PUNICODE_STRING ValueName, ULONG TitleIndex, ULONG Type, PVOID Data, ULONG DataSize);
  308. typedef NTSTATUS (WINAPI *_pfn_NtQueryValueKey)(HANDLE KeyHandle, PUNICODE_STRING ValueName, KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, PVOID KeyValueInformation, ULONG Length, PULONG ResultLength);
  309. typedef LONG (WINAPI *_pfn_RegDeleteKeyA)(HKEY hKey,LPCSTR lpSubKey);
  310. typedef LONG (WINAPI *_pfn_RegDeleteKeyW)(HKEY hKey,LPCWSTR lpSubKey);
  311. typedef LONG (WINAPI *_pfn_RegDeleteValueA)(HKEY hKey, LPCSTR lpValueName);
  312. typedef LONG (WINAPI *_pfn_RegDeleteValueW)(HKEY hKey, LPCWSTR lpValueName);
  313. typedef SC_HANDLE (WINAPI *_pfn_CreateServiceA)(SC_HANDLE hSCManager, LPCSTR lpServiceName, LPCSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCSTR lpBinaryPathName, LPCSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCSTR lpDependencies, LPCSTR lpServiceStartName, LPCSTR lpPassword);
  314. typedef SC_HANDLE (WINAPI *_pfn_CreateServiceW)(SC_HANDLE hSCManager, LPCWSTR lpServiceName, LPCWSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCWSTR lpBinaryPathName, LPCWSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCWSTR lpDependencies, LPCWSTR lpServiceStartName, LPCWSTR lpPassword);
  315. typedef SC_HANDLE (WINAPI *_pfn_OpenServiceA)(SC_HANDLE hSCManager, LPCSTR lpServiceName, DWORD dwDesiredAccess);
  316. typedef SC_HANDLE (WINAPI *_pfn_OpenServiceW)(SC_HANDLE hSCManager, LPCWSTR lpServiceName, DWORD dwDesiredAccess);
  317. typedef BOOL (WINAPI *_pfn_QueryServiceStatus)(SC_HANDLE hService, LPSERVICE_STATUS lpServiceStatus);
  318. typedef BOOL (WINAPI *_pfn_QueryServiceConfigA)(SC_HANDLE hService, LPQUERY_SERVICE_CONFIGA lpServiceConfig, DWORD cbBufSize, LPDWORD pcbBytesNeeded);
  319. typedef BOOL (WINAPI *_pfn_ChangeServiceConfigA)(SC_HANDLE hService, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCSTR lpBinaryPathName, LPCSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCSTR lpDependencies, LPCSTR lpServiceStartName, LPCSTR lpPassword, LPCSTR lpDisplayName);
  320. typedef BOOL (WINAPI *_pfn_CloseServiceHandle)(SC_HANDLE hSCObject);
  321. typedef int (WINAPI *_pfn_ReleaseDC)(HWND hWnd, HDC hdc);
  322. typedef DWORD (WINAPI *_pfn_GetEnvironmentVariableA)(LPCSTR lpName, LPSTR lpBuffer, DWORD nSize);
  323. typedef DWORD (WINAPI *_pfn_GetEnvironmentVariableW)(LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize);
  324. typedef BOOL (WINAPI *_pfn_RemoveDirectoryA)(LPCSTR lpFileName);
  325. typedef BOOL (WINAPI *_pfn_RemoveDirectoryW)(LPCWSTR lpFileName);
  326. typedef LPVOID (WINAPI *_pfn_VirtualAlloc)(LPVOID lpAddress, DWORD dwSize, DWORD flAllocationType, DWORD flProtect);
  327. typedef BOOL (WINAPI *_pfn_VirtualFree)(LPVOID lpAddress, DWORD dwSize, DWORD dwFreeType);
  328. typedef BOOL (WINAPI *_pfn_VirtualProtect)(LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
  329. typedef DWORD (WINAPI *_pfn_CreateIpForwardEntry)(PMIB_IPFORWARDROW pRoute);
  330. typedef DWORD (WINAPI *_pfn_GetIpForwardTable)(PMIB_IPFORWARDTABLE pIpForwardTable, PULONG pdwSize, BOOL bOrder);
  331. typedef PVOID (WINAPI *_pfn_RtlAllocateHeap)(PVOID HeapHandle, ULONG Flags, SIZE_T Size);
  332. typedef BOOLEAN (WINAPI *_pfn_RtlFreeHeap)(HANDLE HeapHandle, DWORD Flags, LPVOID lpMem);
  333. typedef DWORD (WINAPI *_pfn_RtlSizeHeap)(HANDLE HeapHandle, DWORD Flags, LPCVOID lpMem);
  334. typedef PVOID (WINAPI *_pfn_RtlReAllocateHeap)(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, DWORD dwBytes);
  335. typedef HANDLE (WINAPI *_pfn_HeapCreate)(DWORD flOptions, DWORD dwInitialSize, DWORD dwMaximumSize);
  336. typedef BOOL (WINAPI *_pfn_HeapDestroy)(HANDLE hHeap);
  337. typedef UINT (WINAPI *_pfn_HeapCompact)(HANDLE hHeap, DWORD dwFlags);
  338. typedef HGLOBAL (WINAPI *_pfn_GlobalAlloc)(UINT uFlags, SIZE_T uBytes);
  339. typedef HLOCAL (WINAPI *_pfn_LocalAlloc)(UINT uFlags, SIZE_T uBytes);
  340. typedef UINT (WINAPI *_pfn_LocalCompact)(UINT uUnknown);
  341. typedef HLOCAL (WINAPI *_pfn_LocalDiscard)(HLOCAL hlocMem);
  342. typedef HLOCAL (WINAPI *_pfn_LocalReAlloc)(HLOCAL,SIZE_T,UINT);
  343. typedef UINT (WINAPI *_pfn_LocalShrink)(HLOCAL hMem, UINT uUnknown);
  344. typedef HGLOBAL (WINAPI *_pfn_GlobalReAlloc)(HGLOBAL,SIZE_T,UINT);
  345. typedef DWORD (WINAPI *_pfn_GlobalCompact)(DWORD);
  346. typedef void (WINAPI *_pfn_GlobalFix)(HGLOBAL hMem);
  347. typedef UINT (WINAPI *_pfn_GlobalFlags)(HGLOBAL hMem);
  348. typedef HGLOBAL (WINAPI *_pfn_GlobalFree)(HGLOBAL hMem);
  349. typedef void (WINAPI *_pfn_GlobalUnfix)(HGLOBAL hMem);
  350. typedef BOOL (WINAPI *_pfn_GlobalUnWire)(HGLOBAL hMem);
  351. typedef char FAR* (WINAPI *_pfn_GlobalWire)(HGLOBAL hMem);
  352. typedef HLOCAL (WINAPI *_pfn_LocalFree)(HLOCAL hMem);
  353. typedef LPVOID (WINAPI *_pfn_VirtualAlloc)(LPVOID, DWORD ,DWORD, DWORD);
  354. typedef BOOL (WINAPI *_pfn_VirtualFree)(LPVOID, DWORD, DWORD);
  355. typedef BOOL (WINAPI *_pfn_HeapValidate)(HANDLE, DWORD, LPCVOID);
  356. typedef BOOL (WINAPI *_pfn_HeapWalk)(HANDLE, LPPROCESS_HEAP_ENTRY);
  357. typedef BOOL (WINAPI *_pfn_HeapLock)(HANDLE);
  358. typedef BOOL (WINAPI *_pfn_HeapUnlock)(HANDLE);
  359. typedef LPVOID (WINAPI *_pfn_LocalLock)(HLOCAL);
  360. typedef BOOL (WINAPI *_pfn_LocalUnlock)(HLOCAL);
  361. typedef HANDLE (WINAPI *_pfn_LocalHandle)(LPCVOID);
  362. typedef UINT (WINAPI *_pfn_LocalSize)(HLOCAL);
  363. typedef UINT (WINAPI *_pfn_LocalFlags)(HLOCAL);
  364. typedef HGLOBAL (WINAPI *_pfn_GlobalFree)(HGLOBAL hMem);
  365. typedef LPVOID (WINAPI *_pfn_GlobalLock)(HGLOBAL);
  366. typedef BOOL (WINAPI *_pfn_GlobalUnlock)(HGLOBAL);
  367. typedef HANDLE (WINAPI *_pfn_GlobalHandle)(LPCVOID);
  368. typedef UINT (WINAPI *_pfn_GlobalSize)(HGLOBAL);
  369. typedef UINT (WINAPI *_pfn_GlobalFlags)(HGLOBAL);
  370. typedef VOID (__cdecl *_pfn_free)(VOID* pMem);
  371. typedef COLORREF (WINAPI *_pfn_SetBkColor)(HDC hdc, COLORREF crColor);
  372. typedef LONG (WINAPI *_pfn_SetClassLongA)(HWND hWnd, int nIndex, LONG dwnewLong);
  373. typedef WORD (WINAPI *_pfn_SetClassWord)(HWND hWnd, int nIndex, WORD wNewWord);
  374. typedef COLORREF (WINAPI *_pfn_SetTextColor)(HDC hdc, COLORREF crColor);
  375. typedef LONG (WINAPI *_pfn_SetWindowLongA)(HWND hWnd, int nIndex, LONG dwnewLong);
  376. typedef LONG (WINAPI *_pfn_SetWindowLongW)(HWND hWnd, int nIndex, LONG dwnewLong);
  377. typedef BOOL (WINAPI *_pfn_MoveWindow)(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint);
  378. typedef BOOL (WINAPI *_pfn_SetWindowPos)( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags );
  379. typedef HINSTANCE (WINAPI *_pfn_ShellExecuteA)(HWND hwnd, LPCSTR lpVerb, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd);
  380. typedef HINSTANCE (WINAPI *_pfn_ShellExecuteW)(HWND hwnd, LPCWSTR lpVerb, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd);
  381. typedef BOOL (WINAPI *_pfn_ShellExecuteExA)(LPSHELLEXECUTEINFOA lpExecInfo);
  382. typedef BOOL (WINAPI *_pfn_ShellExecuteExW)(LPSHELLEXECUTEINFOW lpExecInfo);
  383. typedef BOOL (WINAPI *_pfn_SHGetPathFromIDListA)(LPCITEMIDLIST pidl, LPSTR pszPath);
  384. typedef BOOL (WINAPI *_pfn_SHGetPathFromIDListW)(LPCITEMIDLIST pidl, LPWSTR pszPath);
  385. typedef int (WINAPI *_pfn_SHFileOperationA)(LPSHFILEOPSTRUCTA lpFileOp);
  386. typedef int (WINAPI *_pfn_SHFileOperationW)(LPSHFILEOPSTRUCTW lpFileOp);
  387. typedef HRESULT (WINAPI *_pfn_SHGetSpecialFolderLocation)( HWND hwndOwner, int nFolder, LPITEMIDLIST *ppidl );
  388. typedef HRESULT (WINAPI *_pfn_SHGetFolderLocation)( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl );
  389. typedef HRESULT (WINAPI *_pfn_SHGetFolderPathA)( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPSTR pszPath );
  390. typedef HRESULT (WINAPI *_pfn_SHGetFolderPathW)( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath );
  391. typedef BOOL (WINAPI *_pfn_SHGetSpecialFolderPathA)( HWND hwndOwner, LPSTR lpszPath, int nFolder, BOOL fCreate );
  392. typedef BOOL (WINAPI *_pfn_SHGetSpecialFolderPathW)( HWND hwndOwner, LPWSTR lpszPath, int nFolder, BOOL fCreate );
  393. typedef HRESULT (WINAPI *_pfn_SHGetFileInfoA)(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags);
  394. typedef BOOL (WINAPI *_pfn_SetForegroundWindow)(HWND hWnd);
  395. typedef BOOL (WINAPI *_pfn_ShowWindow)( HWND hWnd, INT nCmdShow );
  396. typedef BOOL (WINAPI *_pfn_VerQueryValueA)( const LPVOID pBlock, LPSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen);
  397. typedef BOOL (WINAPI *_pfn_VerQueryValueW)( const LPVOID pBlock, LPWSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen);
  398. typedef int (WINAPI *_pfn_vsnprintf)(char *buffer, size_t count, const char *format, va_list argptr);
  399. typedef MCIERROR (WINAPI *_pfn_mciSendCommandA)(MCIDEVICEID IDDevice, UINT uMsg, DWORD fdwCommand, DWORD dwParam);
  400. typedef MCIERROR (WINAPI *_pfn_mciSendStringA)(LPCSTR lpszCommand, LPSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback);
  401. typedef MMRESULT (WINAPI *_pfn_waveOutOpen)(LPHWAVEOUT phwo, UINT uDeviceID, LPWAVEFORMATEX pwfx, DWORD dwCallback, DWORD dwCallbackInstance, DWORD fdwOpen);
  402. typedef MMRESULT (WINAPI *_pfn_waveOutClose)(HWAVEOUT hwo);
  403. typedef MMRESULT (WINAPI *_pfn_waveOutReset)(HWAVEOUT hwo);
  404. typedef MMRESULT (WINAPI *_pfn_waveOutPause)(HWAVEOUT hwo);
  405. typedef MMRESULT (WINAPI *_pfn_waveOutUnprepareHeader)(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh);
  406. typedef MMRESULT (WINAPI *_pfn_waveOutGetDevCapsA)(UINT uDeviceID, LPWAVEOUTCAPSA pwoc, UINT cbwoc);
  407. typedef MMRESULT (WINAPI *_pfn_waveOutGetDevCapsW)(UINT uDeviceID, LPWAVEOUTCAPSW pwoc, UINT cbwoc);
  408. typedef MMRESULT (WINAPI *_pfn_wod32Message)(UINT uDeviceID, UINT uMessage, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);
  409. typedef MMRESULT (*_pfn_midiOutGetDevCapsA)(UINT_PTR uDeviceID, LPMIDIOUTCAPSA pmoc, UINT cbmoc);
  410. typedef MMRESULT (*_pfn_midiOutOpen)(LPHMIDIOUT phmo, UINT uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen);
  411. typedef UINT (WINAPI *_pfn_WinExec)(LPCSTR lpCmdLine, UINT uCmdShow);
  412. typedef BOOL (WINAPI *_pfn_IsBadHugeReadPtr)(const void _huge* lp, DWORD cb);
  413. typedef BOOL (WINAPI *_pfn_IsBadHugeWritePtr)(const void _huge* lp, DWORD cb);
  414. typedef BOOL (WINAPI *_pfn_SetTimeZoneInformation)(CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation);
  415. typedef HRESULT (*_pfn_IXMLDOMDocument_load)(PVOID pThis, VARIANT xmlSource, VARIANT_BOOL *isSuccessful);
  416. typedef ULONG (*_pfn_AddRef)( PVOID pThis );
  417. typedef ULONG (*_pfn_Release)( PVOID pThis );
  418. typedef HRESULT (*_pfn_QueryInterface)( PVOID pThis, REFIID iid, PVOID* ppvObject );
  419. typedef HRESULT (*_pfn_CreateInstance)( PVOID pThis, IUnknown * pUnkOuter, REFIID riid, void ** ppvObject );
  420. typedef HRESULT (*_pfn_IPersistFile_Save)(PVOID pThis, LPCOLESTR pszFileName, BOOL fRemember);
  421. typedef HRESULT (*_pfn_IShellLinkA_SetPath)( PVOID pThis, LPCSTR pszFile );
  422. typedef HRESULT (*_pfn_IShellLinkW_SetPath)( PVOID pThis, LPCWSTR pszFile );
  423. typedef HRESULT (*_pfn_IShellLinkA_SetWorkingDirectory)( PVOID pThis, LPCSTR pszDir );
  424. typedef HRESULT (*_pfn_IShellLinkW_SetWorkingDirectory)( PVOID pThis, LPCWSTR pszDir );
  425. typedef HRESULT (*_pfn_IShellLinkA_GetWorkingDirectory)( PVOID pThis, LPCSTR pszDir, int cchMaxPath );
  426. typedef HRESULT (*_pfn_IShellLinkW_GetWorkingDirectory)( PVOID pThis, LPCWSTR pszDir, int cchMaxPath );
  427. typedef HRESULT (*_pfn_IShellLinkA_SetArguments)( PVOID pThis, LPCSTR pszFile );
  428. typedef HRESULT (*_pfn_IShellLinkW_SetArguments)( PVOID pThis, LPCWSTR pszFile );
  429. typedef HRESULT (*_pfn_IShellLinkA_SetIconLocation)( PVOID pThis, LPCSTR pszIconLocation, int nIcon );
  430. typedef HRESULT (*_pfn_IShellLinkW_SetIconLocation)( PVOID pThis, LPCWSTR pszIconLocation, int nIcon );
  431. typedef HRESULT (*_pfn_IShellLinkA_Resolve)( PVOID pThis, HWND hwnd, DWORD fFlags );
  432. typedef HRESULT (*_pfn_IShellLinkW_Resolve)( PVOID pThis, HWND hwnd, DWORD fFlags );
  433. typedef HRESULT (*_pfn_IDirectDraw_CreateSurface)(PVOID pThis, LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE* lplpDDSurface, IUnknown* pUnkOuter);
  434. typedef HRESULT (*_pfn_IDirectDraw2_CreateSurface)(PVOID pThis, LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE* lplpDDSurface, IUnknown* pUnkOuter);
  435. typedef HRESULT (*_pfn_IDirectDraw4_CreateSurface)(PVOID pThis, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE* lplpDDSurface, IUnknown* pUnkOuter);
  436. typedef HRESULT (*_pfn_IDirectDraw7_CreateSurface)(PVOID pThis, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE* lplpDDSurface, IUnknown* pUnkOuter);
  437. typedef HRESULT (*_pfn_IDirectDraw7_GetDeviceIdentifier)(PVOID pThis, LPDDDEVICEIDENTIFIER2 lpDeviceIdentifier, DWORD dwFlags);
  438. typedef HRESULT (*_pfn_IDirectDraw_SetCooperativeLevel)(PVOID pThis, HWND hWnd,DWORD dwFlags);
  439. typedef HRESULT (*_pfn_IDirectDraw2_SetCooperativeLevel)(PVOID pThis, HWND hWnd,DWORD dwFlags);
  440. typedef HRESULT (*_pfn_IDirectDraw4_SetCooperativeLevel)(PVOID pThis, HWND hWnd,DWORD dwFlags);
  441. typedef HRESULT (*_pfn_IDirectDraw7_SetCooperativeLevel)(PVOID pThis, HWND hWnd,DWORD dwFlags);
  442. typedef HRESULT (*_pfn_IDirectDraw_SetDisplayMode)(PVOID pThis, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP);
  443. typedef HRESULT (*_pfn_IDirectDraw2_SetDisplayMode)(PVOID pThis, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
  444. typedef HRESULT (*_pfn_IDirectDraw4_SetDisplayMode)(PVOID pThis, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
  445. typedef HRESULT (*_pfn_IDirectDraw7_SetDisplayMode)(PVOID pThis, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
  446. typedef HRESULT (*_pfn_IDirectDrawSurface_GetDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC FAR *lphDC);
  447. typedef HRESULT (*_pfn_IDirectDrawSurface2_GetDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC FAR *lphDC);
  448. typedef HRESULT (*_pfn_IDirectDrawSurface4_GetDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC FAR *lphDC);
  449. typedef HRESULT (*_pfn_IDirectDrawSurface7_GetDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC FAR *lphDC);
  450. typedef HRESULT (*_pfn_IDirectDrawSurface_ReleaseDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC hDC);
  451. typedef HRESULT (*_pfn_IDirectDrawSurface2_ReleaseDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC hDC);
  452. typedef HRESULT (*_pfn_IDirectDrawSurface4_ReleaseDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC hDC);
  453. typedef HRESULT (*_pfn_IDirectDrawSurface7_ReleaseDC)(LPDIRECTDRAWSURFACE lpDDSurface, HDC hDC);
  454. typedef HRESULT (*_pfn_IDirectDrawSurface_Lock)(LPDIRECTDRAWSURFACE lpDDSurface, LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent);
  455. typedef HRESULT (*_pfn_IDirectDrawSurface2_Lock)(LPDIRECTDRAWSURFACE lpDDSurface, LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent);
  456. typedef HRESULT (*_pfn_IDirectDrawSurface4_Lock)(LPDIRECTDRAWSURFACE lpDDSurface, LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent);
  457. typedef HRESULT (*_pfn_IDirectDrawSurface_Unlock)(LPDIRECTDRAWSURFACE lpDDSurface, LPVOID lpSurfaceData);
  458. typedef HRESULT (*_pfn_IDirectDrawSurface_Restore)(LPDIRECTDRAWSURFACE lpDDSurface);
  459. typedef HRESULT (*_pfn_IDirectDrawSurface_Blt)(LPDIRECTDRAWSURFACE lpDDDestSurface, LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFX);
  460. typedef HRESULT (*_pfn_IDirectDrawSurface2_Blt)(LPDIRECTDRAWSURFACE lpDDDestSurface, LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFX);
  461. typedef HRESULT (*_pfn_IDirectDrawSurface4_Blt)(LPDIRECTDRAWSURFACE lpDDDestSurface, LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFX);
  462. typedef HRESULT (*_pfn_IDirectDrawSurface_Flip)(LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE lpDDSurfaceDest, DWORD dwFlags);
  463. typedef HRESULT (*_pfn_IDirectDrawSurface_Release)(PVOID pThis);
  464. typedef HRESULT (*_pfn_IDirectDrawSurface_SetPalette)(PVOID pThis, LPDIRECTDRAWPALETTE lpDDPalette);
  465. typedef HRESULT (*_pfn_IDirectDrawGammaControl_SetGammaRamp)(PVOID pThis, DWORD dwFlags, LPDDGAMMARAMP lpRampData);
  466. typedef HRESULT (*_pfn_IDirectPlay3A_EnumConnections)(PVOID pThis, LPCGUID lpguidApplication, LPDPENUMCONNECTIONSCALLBACK lpEnumCallback, LPVOID lpContext, DWORD dwFlags);
  467. typedef HRESULT (*_pfn_IDirectPlay4A_EnumConnections)(PVOID pThis, LPCGUID lpguidApplication, LPDPENUMCONNECTIONSCALLBACK lpEnumCallback, LPVOID lpContext, DWORD dwFlags);
  468. typedef HRESULT (*_pfn_IShellFolder_GetDisplayNameOf)( PVOID pThis, LPCITEMIDLIST pidl, DWORD uFlags, LPSTRRET lpName );
  469. typedef HRESULT (*_pfn_SHGetDesktopFolder)(IShellFolder **ppshf);
  470. typedef HRESULT (*_pfn_IDirectInput_CreateDevice)(PVOID pThis, REFGUID rguid, LPDIRECTINPUTDEVICE *lplpDirectInputDevice, LPUNKNOWN pUnkOuter);
  471. typedef HRESULT (*_pfn_IDirectInputDevice_Acquire)(PVOID pThis);
  472. typedef HRESULT (*_pfn_IDirectInputDevice_GetDeviceData)(PVOID pThis, DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags);
  473. typedef HRESULT (*_pfn_IDirectSound_Release)(PVOID pThis);
  474. typedef LONG (*_pfn_ChangeDisplaySettingsA)(LPDEVMODEA lpDevMode, DWORD dwflags);
  475. typedef LONG (*_pfn_ChangeDisplaySettingsW)(LPDEVMODEW lpDevMode, DWORD dwflags);
  476. typedef LONG (*_pfn_ChangeDisplaySettingsExA)(LPCSTR lpszDeviceName, LPDEVMODEA lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam);
  477. typedef LONG (*_pfn_ChangeDisplaySettingsExW)(LPCWSTR lpszDeviceName, LPDEVMODEW lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam);
  478. typedef BOOL (*_pfn_EnumDisplaySettingsA)(LPCSTR lpszDeviceName, DWORD iModeNum, LPDEVMODEA lpDevMode);
  479. typedef BOOL (*_pfn_EnumDisplaySettingsW)(LPCWSTR lpszDeviceName, DWORD iModeNum, LPDEVMODEW lpDevMode);
  480. typedef HBITMAP (*_pfn_CreateDIBSection)(HDC hdc, CONST BITMAPINFO *pbmi, UINT iUsage, VOID *ppvBits, HANDLE hSection, DWORD dwOffset);
  481. typedef HFONT (*_pfn_CreateFontIndirectA)(CONST LOGFONTA *lplf);
  482. typedef HFONT (*_pfn_CreateFontIndirectW)(CONST LOGFONTW *lplf);
  483. typedef BOOL (*_pfn_Ellipse)(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
  484. typedef BOOL (*_pfn_Rectangle)(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
  485. typedef UINT (*_pfn_SetDIBColorTable)(HDC hdc, UINT uStartIndex, UINT cEntries, CONST RGBQUAD *pColors);
  486. typedef int (*_pfn_SetStretchBltMode)(HDC hdc, int iStretchMode);
  487. typedef BOOL (*_pfn_StretchBlt)(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop);
  488. typedef int (*_pfn_StretchDIBits)(HDC hdc, int XDest, int YDest, int nDestWidth, int nDestHeight, int XSrc, int YSrc, int nSrcWidth, int nSrcHeight, CONST VOID *lpBits, CONST BITMAPINFO *lpBitsInfo, UINT iUsage, DWORD dwRop);
  489. typedef HGDIOBJ (*_pfn_GetCurrentObject)(HDC hdc, UINT uObjectType);
  490. typedef COLORREF (*_pfn_GetPixel)(HDC hdc, int XPos, int nYPos);
  491. typedef COLORREF (*_pfn_SetPixel)(HDC hdc, int XPos, int nYPos, COLORREF crColor);
  492. typedef BOOL (*_pfn_GetTextExtentPointA)(HDC hdc, LPCSTR lpString, int cbString, LPSIZE lpSize);
  493. typedef BOOL (*_pfn_GetTextExtentPointW)(HDC hdc, LPCWSTR lpString, int cbString, LPSIZE lpSize);
  494. typedef BOOL (*_pfn_GetTextExtentPoint32A)(HDC hdc, LPCSTR lpString, int cbString, LPSIZE lpSize);
  495. typedef int (*_pfn_GetTextFaceA)(HDC hdc, int nCount, LPSTR lpFaceName);
  496. typedef BOOL (*_pfn_GetTextMetricsA)(HDC hdc, LPTEXTMETRICA lptm);
  497. typedef BOOL (*_pfn_LineTo)(HDC hdc, int nXEnd, int nYEnd);
  498. typedef BOOL (*_pfn_MoveToEx)(HDC hdc, int X, int Y, LPPOINT lpPoint);
  499. typedef BOOL (*_pfn_TextOutA)(HDC hdc, int nXStart, int nYStart, LPCSTR lpString, int cbString);
  500. typedef VOID (*_pfn_GetStartupInfoA)(LPSTARTUPINFOA lpStartupInfo);
  501. typedef VOID (*_pfn_GetStartupInfoW)(LPSTARTUPINFOW lpStartupInfo);
  502. typedef DWORD (*_pfn_SetFilePointer)(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod);
  503. typedef DWORD (*_pfn_ReadFile)(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
  504. typedef DWORD (*_pfn_WriteFile)(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
  505. typedef NTSTATUS (WINAPI *_pfn_NtWriteFile)(HANDLE FileHandle, HANDLE Event, PIO_APC_ROUTINE ApcRoutine, PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, PVOID Buffer, ULONG Length, PLARGE_INTEGER ByteOffset, PULONG Key);
  506. typedef NTSTATUS (WINAPI *_pfn_NtWriteFileGather)(HANDLE FileHandle, HANDLE Event, PIO_APC_ROUTINE ApcRoutine, PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, PFILE_SEGMENT_ELEMENT SegmentArray, ULONG Length, PLARGE_INTEGER ByteOffset, PULONG Key);
  507. typedef HANDLE (*_pfn_CreateMutexA)(LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCSTR lpName);
  508. typedef HANDLE (*_pfn_CreateMutexW)(LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCWSTR lpName);
  509. typedef BOOL (*_pfn_ReleaseMutex)(HANDLE hMutex);
  510. typedef DWORD (*_pfn_WaitForSingleObject)(HANDLE hHandle, DWORD dwMilliseconds);
  511. typedef VOID (*_pfn_Sleep)(DWORD dwMilliseconds);
  512. typedef DWORD (*_pfn_SleepEx)(DWORD dwMilliseconds, BOOL bAlertable);
  513. typedef HRESULT (*_pfn_CoCreateInstance)(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID riid, LPVOID *ppv);
  514. typedef HRESULT (*_pfn_CoCreateInstanceEx)(REFCLSID rclsid, IUnknown *punkOuter, DWORD dwClsCtx, COSERVERINFO *pServerInfo, ULONG cmq, MULTI_QI *pResults );
  515. typedef HRESULT (*_pfn_ShCoCreateInstance)(LPCTSTR pszCLSID, const CLSID * pclsid, IUnknown *punkOuter, REFIID riid, void **ppv);
  516. typedef HRESULT (*_pfn_CoQueryProxyBlanket)(IUnknown * pProxy,DWORD * pAuthnSvc,DWORD * pAuthzSvc,OLECHAR ** pServerPrincName,DWORD * pAuthnLevel,DWORD * pImpLevel,RPC_AUTH_IDENTITY_HANDLE * ppAuthInfo,DWORD * pCapabilities);
  517. typedef HRESULT (*_pfn_CoSetProxyBlanket)(IUnknown * pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,WCHAR * pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,RPC_AUTH_IDENTITY_HANDLE pAuthInfo,DWORD dwCapabilities);
  518. typedef BOOL (*_pfn_AppendMenuA)(HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPSTR lpNewItem);
  519. typedef BOOL (*_pfn_AppendMenuW)(HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPWSTR lpNewItem);
  520. typedef BOOL (*_pfn_ResumeThread)(HANDLE hThread);
  521. typedef DWORD (*_pfn_NetUserAdd)(LPCWSTR servername, DWORD level, LPBYTE buf, LPDWORD parm_err);
  522. typedef LONG (*_pfn_LsaStorePrivateData)(PVOID PolicyHandle, PVOID KeyName, PVOID PrivateData);
  523. typedef void (*_pfn_exit)(int status);
  524. typedef BOOL (*_pfn_EnumPrintersA)(DWORD Flags, LPSTR Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
  525. typedef BOOL (*_pfn_EnumPrintersW)(DWORD Flags, LPWSTR Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
  526. typedef DWORD (*_pfn_PrinterMessageBoxA)(HANDLE hPrinter, DWORD Error, HWND hWnd, LPSTR pText, LPSTR pCaption, DWORD dwType);
  527. typedef DWORD (*_pfn_PrinterMessageBoxW)(HANDLE hPrinter, DWORD Error, HWND hWnd, LPWSTR pText, LPWSTR pCaption, DWORD dwType);
  528. typedef DWORD (*_pfn_WaitForPrinterChange)(HANDLE hPrinter, DWORD Flags);
  529. typedef int (*_pfn_OpenIndex)(HANDLE hsrch, LPCSTR pszIndexFile, PBYTE pbSourceName, PUINT pcbSourceNameLimit, PUINT pTime1, PUINT pTime2);
  530. typedef BOOL (*_pfn_GetMessageA)(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);
  531. typedef BOOL (*_pfn_GetMessageW)(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);
  532. typedef BOOL (*_pfn_PeekMessageA)(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg);
  533. typedef BOOL (*_pfn_PeekMessageW)(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg);
  534. typedef LRESULT (*_pfn_SendMessageA)(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
  535. typedef LRESULT (*_pfn_SendMessageW)(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
  536. typedef LONG (*_pfn_DispatchMessageA)(LPMSG lpmsg);
  537. typedef LONG (*_pfn_DispatchMessageW)(LPMSG lpmsg);
  538. typedef BOOL (*_pfn_Module32First)(HANDLE SnapSection, PVOID lpme);
  539. typedef BOOL (*_pfn_GetSaveFileNameA)(LPOPENFILENAMEA lpofn);
  540. typedef BOOL (*_pfn_GetSaveFileNameW)(LPOPENFILENAMEW lpofn);
  541. typedef BOOL (*_pfn_GetOpenFileNameA)(LPOPENFILENAMEA lpofn);
  542. typedef BOOL (*_pfn_GetOpenFileNameW)(LPOPENFILENAMEW lpofn);
  543. typedef UINT (*_pfn_GetTempFileNameA)(LPCSTR lpPathName, LPCSTR lpPrefixString, UINT uUnique, LPSTR lpTempFileName);
  544. typedef UINT (*_pfn_GetTempFileNameW)(LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT uUnique, LPWSTR lpTempFileName);
  545. typedef LRESULT (*_pfn_CallWindowProcA)(WNDPROC pfn, HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
  546. typedef BOOL (*_pfn_ControlService)(SC_HANDLE hService, DWORD dwControl, PVOID lpServiceStatus);
  547. typedef UINT (*_pfn_GetEnhMetaFileHeader)(HENHMETAFILE hemf, UINT nSize, LPENHMETAHEADER lpEnhMetaHeader);
  548. typedef HMETAFILE (*_pfn_GetMetaFileA)(LPCSTR lpszString);
  549. typedef HMETAFILE (*_pfn_GetMetaFileW)(LPCWSTR lpszString);
  550. typedef UINT (*_pfn_GetMetaFileBitsEx)(HMETAFILE hmf, UINT nSize, LPVOID lpvData);
  551. typedef BOOL (*_pfn_PlayMetaFile)(HDC hdc, HMETAFILE hmf);
  552. typedef BOOL (*_pfn_PlayMetaFileRecord)(HDC hdc, LPHANDLETABLE lpHandletable, LPMETARECORD lpMetaRecord, UINT nHandles);
  553. typedef HMETAFILE (*_pfn_CopyMetaFileA)(HMETAFILE hmfSrc, LPCSTR lpszFile);
  554. typedef HMETAFILE (*_pfn_CopyMetaFileW)(HMETAFILE hmfSrc, LPCWSTR lpszFile);
  555. typedef HMETAFILE (*_pfn_SetMetaFileBitsEx)(UINT nSize, CONST BYTE *lpData);
  556. typedef BOOL (*_pfn_PostMessageW)(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
  557. typedef BOOL (*_pfn_PostMessageA)(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
  558. typedef DWORD (*_pfn_timeGetTime)(VOID);
  559. typedef int (*_pfn_GetDeviceCaps)(HDC hdc, int nIndex);
  560. typedef int (*_pfn_GetSystemMetrics)(int nIndex);
  561. typedef DWORD (*_pfn_GetSysColor)(int nIndex);
  562. typedef int (*_pfn_ToAscii)(UINT uVirtKey, UINT uScanCode, PBYTE lpKeyState, LPWORD lpChar, UINT uFlags);
  563. typedef int (*_pfn_ToAsciiEx)(UINT uVirtKey, UINT uScanCode, PBYTE lpKeyState, LPWORD lpChar, UINT uFlags, HKL dwhkl);
  564. typedef SHORT (*_pfn_GetAsyncKeyState)(int vKey);
  565. typedef BOOL (*_pfn_CloseProfileUserMapping)();
  566. typedef BOOL (*_pfn_BackupSeek)(HANDLE hFile, DWORD dwLowBytesToSeek, DWORD dwHighBytesToSeek, LPDWORD lpdwLowBytesSeeked, LPDWORD lpdwHighBytesSeeked, LPVOID *lpContext);
  567. typedef HANDLE (*_pfn_CreateEventA)(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCSTR lpName);
  568. typedef HANDLE (*_pfn_CreateEventW)(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCWSTR lpName);
  569. typedef BOOL (*_pfn_SetEvent)(HANDLE hEvent);
  570. typedef BOOL (*_pfn_ResetEvent)(HANDLE hEvent);
  571. typedef DWORD (*_pfn_SearchPathA)(LPCSTR lpPath, LPCSTR lpFileName, LPCSTR lpExtension, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart);
  572. typedef DWORD (*_pfn_SearchPathW)(LPCWSTR lpPath, LPCWSTR lpFileName, LPCWSTR lpExtension, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart);
  573. typedef DWORD (*_pfn_GetWindowsDirectoryA)(LPSTR lpPath,DWORD Size);
  574. typedef DWORD (*_pfn_GetWindowsDirectoryW)(LPWSTR lpPath,DWORD Size);
  575. typedef DWORD (*_pfn_GetSystemDirectoryA)(LPSTR lpPath,DWORD Size);
  576. typedef DWORD (*_pfn_GetSystemDirectoryW)(LPWSTR lpPath,DWORD Size);
  577. typedef BOOL (*_pfn_SystemParametersInfoA)(UINT wFlag, UINT wParam, PVOID lParam, UINT flags);
  578. typedef BOOL (*_pfn_SystemParametersInfoW)(UINT wFlag, UINT wParam, PVOID lParam, UINT flags);
  579. typedef LPTOP_LEVEL_EXCEPTION_FILTER (WINAPI *_pfn_SetUnhandledExceptionFilter)(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
  580. typedef PVOID (*_pfn_RtlAddVectoredExceptionHandler)(ULONG FirstHandler, PVOID VectoredHandler);
  581. typedef VOID (*_pfn__endthread)(VOID);
  582. typedef long (*_pfn__hread)( HFILE hFile, LPVOID lpBuffer, long lBytes );
  583. typedef long (*_pfn__lseek)( int handle, long offset, int origin );
  584. typedef BOOL (*_pfn_PlaySoundA)(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);
  585. typedef BOOL (*_pfn_PlaySoundW)(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound);
  586. typedef BOOL (*_pfn_sndPlaySoundA)(LPCSTR lpszSound, UINT fuSound);
  587. typedef BOOL (*_pfn_sndPlaySoundW)(LPCWSTR lpszSound, UINT fuSound);
  588. typedef HCURSOR (*_pfn_SetCursor)(HCURSOR hCursor);
  589. typedef int (*_pfn_ShowCursor)(BOOL bShow);
  590. typedef BOOL (*_pfn_EnumProcessModules)(HANDLE,HMODULE *,DWORD,LPDWORD);
  591. typedef BOOL (*_pfn_ClipCursor)(CONST RECT *lpRect);
  592. typedef BOOL (*_pfn_GetCursorPos)(LPPOINT lpPoint);
  593. typedef BOOL (*_pfn_SetCursorPos)(int X, int Y);
  594. typedef BOOL (*_pfn_SetSysColors)(int cElements, CONST INT *lpaElements, CONST COLORREF *lpaRgbValues);
  595. typedef HWND (*_pfn_GetDesktopWindow)();
  596. typedef LONG (*_pfn_GetWindowLongA)(HWND, INT);
  597. typedef int (*_pfn_GetWindowTextA)(HWND hWnd, LPSTR lpString, int nMaxCount);
  598. typedef int (*_pfn_GetWindowTextW)(HWND hWnd, LPWSTR lpString, int nMaxCount);
  599. typedef BOOL (*_pfn_SetWindowTextA)(HWND hWnd, LPCSTR lpString);
  600. typedef BOOL (*_pfn_SetWindowTextW)(HWND hWnd, LPCWSTR lpString);
  601. typedef int (*_pfn_DrawTextA)( HDC hDC, LPCSTR lpString, int nCount, LPRECT lpRect, UINT uFormat );
  602. typedef int (*_pfn_DrawTextW)( HDC hDC, LPCWSTR lpString,int nCount, LPRECT lpRect, UINT uFormat );
  603. typedef BOOL (*_pfn_IsRectEmpty)( CONST RECT *lprc );
  604. typedef LONG (*_pfn_DocumentPropertiesA)(HWND hWnd, HANDLE hPrinter, LPSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput, DWORD fMode);
  605. typedef LONG (*_pfn_DocumentPropertiesW)(HWND hWnd, HANDLE hPrinter, LPWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput, DWORD fMode);
  606. typedef BOOL (*_pfn_OpenPrinterA)(LPSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSA pDefault);
  607. typedef BOOL (*_pfn_OpenPrinterW)(LPWSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSW pDefault);
  608. typedef BOOL (*_pfn_SetPrinterA)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD Command);
  609. typedef BOOL (*_pfn_SetPrinterW)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD Command);
  610. typedef DWORD (*_pfn_DeviceCapabilitiesA)(LPCSTR pDevice, LPCSTR pPort, WORD fwCapability, LPSTR pOutput, CONST DEVMODE *pDevMode);
  611. typedef BOOL (*_pfn_AddPrinterConnectionA)(LPSTR pName);
  612. typedef BOOL (*_pfn_DeletePrinterConnectionA)(LPSTR pName);
  613. typedef HDC (*_pfn_CreateDCA)(LPCSTR pszDriver, LPCSTR pszDevice, LPCSTR pszPort, CONST DEVMODEA *pdm);
  614. typedef HDC (*_pfn_CreateDCW)(LPCWSTR pszDriver, LPCWSTR pszDevice, LPCWSTR pszPort, CONST DEVMODEW *pdm);
  615. typedef HDC (*_pfn_ResetDCA)(HDC hdc, CONST DEVMODEA *lpInitData );
  616. typedef HDC (*_pfn_CreateCompatibleDC)(HDC hdc);
  617. typedef BOOL (*_pfn_DeleteDC)(HDC hdc);
  618. typedef HGDIOBJ (*_pfn_SelectObject)(HDC hdc, HGDIOBJ hgdiobj);
  619. typedef BOOL (*_pfn_StartPage)(HDC hdc);
  620. typedef HHOOK (*_pfn_SetWindowsHookExA)(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId);
  621. typedef HHOOK (*_pfn_SetWindowsHookExW)(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId);
  622. typedef BOOL (*_pfn_UnhookWindowsHookEx)(HHOOK hhk);
  623. typedef HHOOK (*_pfn_SetWindowsHookA)(int idHook, HOOKPROC lpfn);
  624. typedef HHOOK (*_pfn_SetWindowsHookW)(int idHook, HOOKPROC lpfn);
  625. typedef BOOL (*_pfn_UnhookWindowsHook)(int idHook, HOOKPROC lpfn);
  626. typedef BOOL (*_pfn_BitBlt)(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop);
  627. typedef DWORD (*_pfn_SuspendThread)(HANDLE hThread);
  628. typedef LONG (WINAPI *_pfn_lineNegotiateAPIVersion)( HLINEAPP hLineApp, DWORD dwDeviceID, DWORD dwAPILowVersion, DWORD dwAPIHighVersion, LPDWORD lpdwAPIVersion, LPLINEEXTENSIONID lpExtensionID );
  629. typedef LONG (WINAPI *_pfn_lineInitialize)( LPHLINEAPP lphLineApp, HINSTANCE hInstance, LINECALLBACK lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs );
  630. typedef LONG (WINAPI *_pfn_lineInitializeExA)( LPHLINEAPP lphLineApp, HINSTANCE hInstance, LINECALLBACK lpfnCallback, LPCSTR lpszFriendlyAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams );
  631. typedef LONG (WINAPI *_pfn_lineInitializeExW)( LPHLINEAPP lphLineApp, HINSTANCE hInstance, LINECALLBACK lpfnCallback, LPCWSTR lpszFriendlyAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams );
  632. typedef HANDLE (*_pfn_LoadImageA)(HINSTANCE hinst, LPCSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad);
  633. typedef int (WINAPI *_pfn_GetDIBits)( HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, LPVOID lpvBits, LPBITMAPINFO lpbi, UINT uUsage);
  634. typedef HRESULT (*_pfn_CoInitialize)(LPVOID pReserved);
  635. typedef HRESULT (*_pfn_CoInitializeSecurity)(PSECURITY_DESCRIPTOR pVoid, LONG cAuthSvc, SOLE_AUTHENTICATION_SERVICE *asAuthSvc, void *pReserved1, DWORD dwAuthnLevel, DWORD dwImpLevel, SOLE_AUTHENTICATION_LIST *pAuthList, DWORD dwCapabilities, void *pReserved3);
  636. typedef HIC (*_pfn_ICLocate)(DWORD, DWORD, LPBITMAPINFOHEADER, LPBITMAPINFOHEADER, WORD);
  637. typedef MMRESULT (WINAPI *_pfn_joyGetDevCapsA)( UINT uJoyID, LPJOYCAPS pjc, UINT cbjc );
  638. typedef MMRESULT (WINAPI *_pfn_joyGetPos)( UINT uJoyID, LPJOYINFO pji );
  639. typedef MMRESULT (WINAPI *_pfn_mmioSetInfo)(HMMIO hmmio, LPMMIOINFO lpmmioinfo, UINT wFlags);
  640. typedef int (*_pfn_wvsprintfA)(LPSTR, LPCSTR, va_list);
  641. typedef int (*_pfn_GetObjectA)(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject);
  642. typedef int (WINAPI *_pfn_wglDescribePixelFormat)(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
  643. typedef BOOL (WINAPI *_pfn_CheckTokenMembership)(HANDLE TokenHandle, PSID SidToCheck, PBOOL IsMember);
  644. typedef int (*_pfn_LdrAccessResource)(PVOID DllHandle,const IMAGE_RESOURCE_DATA_ENTRY* ResourceDataEntry,PVOID *Address,PULONG Size);
  645. typedef HICON (WINAPI *_pfn_CreateIcon)(HINSTANCE hInstance, int nWidth, int nHeight, BYTE cPlanes, BYTE cBitsPixel, CONST BYTE *lpbANDbits, CONST BYTE *lpbXORbits);
  646. typedef BOOL (WINAPI *_pfn_ScreenToClient)(HWND hWnd, LPPOINT lpPoint);
  647. typedef HRESULT (WINAPI *_pfn_SafeArrayAccessData)(SAFEARRAY *, void HUGEP **);
  648. typedef DWORD (WINAPI *_pfn_GetTempPathA)(DWORD nBufferLength, LPSTR lpBuffer);
  649. typedef DWORD (WINAPI *_pfn_GetTempPathW)(DWORD nBufferLength, LPWSTR lpBuffer);
  650. typedef DWORD (WINAPI *_pfn_GetLastError)(VOID);
  651. typedef BOOL (WINAPI *_pfn_WinHelpA)(HWND hWndMain, LPCSTR lpszHelp, UINT uCommand, DWORD dwData);
  652. typedef PDH_STATUS (__stdcall *_pfn_PdhAddCounterA)(IN HQUERY hQuery, IN LPCSTR szFullCounterPath, IN DWORD_PTR dwUserData, IN HCOUNTER *phCounter);
  653. typedef HWND (WINAPI *_pfn_GetDlgItem)(HWND, int);
  654. typedef DWORD (WINAPI *_pfn_VerInstallFileW)(DWORD, LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
  655. typedef DWORD (WINAPI *_pfn_VerInstallFileA)(DWORD, LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
  656. typedef LONG (WINAPI *_pfn_lstrcmpiA)(LPCSTR, LPCSTR);
  657. typedef DWORD (WINAPI *_pfn_RasSetEntryPropertiesA)(LPCSTR, LPCSTR, LPRASENTRYA, DWORD, LPBYTE, DWORD);
  658. typedef DWORD (WINAPI *_pfn_RasSetEntryPropertiesW)(LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD, LPBYTE, DWORD);
  659. typedef BOOL (WINAPI *_pfn_GlobalMemoryStatus)(LPMEMORYSTATUS);
  660. typedef LANGID (WINAPI *_pfn_GetUserDefaultUILanguage)();
  661. typedef HANDLE (WINAPI *_pfn_SetClipboardData)(UINT, HANDLE);
  662. typedef int (WINAPI *_pfn_MultiByteToWideChar)(UINT, DWORD, LPCSTR, int, LPWSTR, int);
  663. typedef BOOL (WINAPI *_pfn_GetCharWidthA)(HDC hdc, UINT iFirstChar, UINT iLastChar, LPINT lpBuffer);
  664. typedef BOOL (WINAPI *_pfn_GetCharWidthW)(HDC hdc, UINT iFirstChar, UINT iLastChar, LPINT lpBuffer);
  665. typedef UINT (WINAPI *_pfn_GetKBCodePage)(void);
  666. typedef int (WINAPI *_pfn_WideCharToMultiByte)(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL);
  667. typedef UINT (WINAPI *_pfn_MsiGetPropertyA)(MSIHANDLE, LPCSTR, LPSTR, DWORD*);
  668. typedef UINT (WINAPI *_pfn_MsiGetPropertyW)(MSIHANDLE, LPCWSTR, LPWSTR, DWORD*);
  669. typedef BOOL (WINAPI *_pfn_PrintDlgA)(LPPRINTDLG lppd);
  670. typedef MCIERROR (WINAPI *_pfn_mciSendCommandA)(MCIDEVICEID, UINT, DWORD, DWORD);
  671. typedef BOOL (WINAPI *_pfn_CertCloseStore)(HCERTSTORE, DWORD);
  672. typedef BOOL (WINAPI *_pfn_CryptVerifyMessageSignature)(PCRYPT_VERIFY_MESSAGE_PARA,DWORD ,const BYTE *,DWORD ,BYTE *,DWORD *,PCCERT_CONTEXT *);
  673. typedef BOOL (WINAPI *_pfn_ImageGetCertificateData)(HANDLE,DWORD,LPWIN_CERTIFICATE,PDWORD);
  674. typedef BOOL (WINAPI *_pfn_ImageGetCertificateHeader)(HANDLE,DWORD,LPWIN_CERTIFICATE);
  675. typedef PCCERT_CONTEXT (WINAPI *_pfn_CertGetSubjectCertificateFromStore)(HCERTSTORE,DWORD,PCERT_INFO);
  676. typedef HCERTSTORE (WINAPI *_pfn_CertDuplicateStore)(HCERTSTORE);
  677. typedef PCCERT_CONTEXT (WINAPI *_pfn_CertEnumCertificatesInStore)(HCERTSTORE, PCCERT_CONTEXT);
  678. typedef DWORD (WINAPI *_pfn_CertRDNValueToStrA)(DWORD,PCERT_RDN_VALUE_BLOB,LPSTR,DWORD);
  679. typedef PCERT_RDN_ATTR (WINAPI *_pfn_CertFindRDNAttr)(LPCSTR,PCERT_NAME_INFO);
  680. typedef BOOL (WINAPI *_pfn_CryptDecodeObject)(DWORD,LPCSTR,const BYTE *,DWORD,DWORD,void *,DWORD *);
  681. typedef HRESULT (WINAPI *_pfn_WinVerifyTrust)(HWND, GUID *, WINTRUST_DATA *);
  682. typedef DWORD (WINAPI *_pfn_CreateIpForwardEntry)(PMIB_IPFORWARDROW pRoute);
  683. typedef DWORD (WINAPI *_pfn_GetIpForwardTable)(PMIB_IPFORWARDTABLE pIpForwardTable, PULONG pdwSize, BOOL bOrder);
  684. typedef BOOL (WINAPI *_pfn_StartServiceA)(SC_HANDLE hService, DWORD, LPCSTR *);
  685. typedef BOOL (__stdcall *_pfn_AngleArc)(HDC hdc, int X, int Y, DWORD dwRadius, FLOAT eStartAngle, FLOAT eSweepAngle );
  686. typedef BOOL (__stdcall *_pfn_Arc)( HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc );
  687. typedef BOOL (__stdcall *_pfn_ArcTo)( HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nXRadial1,int nYRadial1,int nXRadial2,int nYRadial2);
  688. typedef BOOL (__stdcall *_pfn_ChoosePixelFormat)( HDC hdc,CONST PIXELFORMATDESCRIPTOR * ppfd );
  689. typedef BOOL (__stdcall *_pfn_Chord)( HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nXRadial1,int nYRadial1,int nXRadial2,int nYRadial2 );
  690. typedef int (_stdcall *_pfn_CombineRgn)(HRGN hrgnDest,HRGN hrgnSrc1,HRGN hrgnSrc2,int fnCombineMode );
  691. typedef HENHMETAFILE (_stdcall *_pfn_CloseEnhMetaFile)(HDC hdc);
  692. typedef HMETAFILE (_stdcall *_pfn_CloseMetaFile)(HDC hdc);
  693. typedef HBITMAP (_stdcall *_pfn_CreateBitmap)(int nWidthIn, int nHeightIn, UINT cPlanesIn, UINT cBitPerPixelIn, CONST VOID * pvBitsIn);
  694. typedef HBITMAP (_stdcall *_pfn_CreateBitmapIndirect)(CONST BITMAP * lpbmIn);
  695. typedef HBRUSH (_stdcall *_pfn_CreateBrushIndirect)(CONST LOGBRUSH * lplbIn);
  696. typedef HCOLORSPACE (_stdcall *_pfn_CreateColorSpaceA)(LPLOGCOLORSPACEA lpLogColorSpace);
  697. typedef HCOLORSPACE (_stdcall *_pfn_CreateColorSpaceW)(LPLOGCOLORSPACEW lpLogColorSpace);
  698. typedef BOOL (_stdcall *_pfn_DPtoLP)(HDC hdc,LPPOINT lpPoints,int nCount);
  699. typedef BOOL (_stdcall *_pfn_DeleteColorSpace)(HCOLORSPACE hColorSpaceIn);
  700. typedef HBITMAP (_stdcall *_pfn_CreateCompatibleBitmap)(HDC hdc,int nWidth,int nHeight);
  701. typedef HBRUSH (_stdcall *_pfn_CreateDIBPatternBrush)(HGLOBAL hglbDIBPacked,UINT fuColorSpec);
  702. typedef HBRUSH (_stdcall *_pfn_CreateDIBPatternBrushPt)(CONST VOID *lpPackedDIB,UINT iUsage);
  703. typedef HBITMAP (_stdcall *_pfn_CreateDIBitmap)(HDC hdc,CONST BITMAPINFOHEADER *lpbmih,DWORD fdwInit,CONST VOID *lpbInit,CONST BITMAPINFO *lpbmi,UINT fuUsage);
  704. typedef HBITMAP (_stdcall *_pfn_CreateDiscardableBitmap)(HDC hdc,int nWidth,int nHeight);
  705. typedef HRGN (_stdcall *_pfn_CreateEllipticRgn)(int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);
  706. typedef HRGN (_stdcall *_pfn_CreateEllipticRgnIndirect)(CONST RECT * lprc);
  707. typedef HDC (_stdcall *_pfn_CreateEnhMetaFileA)(HDC hdcRef,LPCSTR lpFilename,CONST RECT* lpRect,LPCSTR lpDescription);
  708. typedef HDC (_stdcall *_pfn_CreateEnhMetaFileW)(HDC hdcRef,LPCWSTR lpFilename,CONST RECT* lpRect,LPCWSTR lpDescription);
  709. typedef HFONT (_stdcall *_pfn_CreateFontA)(int nHeight,int nWidth,int nEscapement,int nOrientation,int fnWeight,DWORD fdwItalic,DWORD fdwUnderline,DWORD fdwStrikeOut,DWORD fdwCharSet,DWORD fdwOutputPrecision,DWORD fdwClipPrecision,DWORD fdwQuality,DWORD fdwPitchAndFamily,LPCSTR lpszFace);
  710. typedef HFONT (_stdcall *_pfn_CreateFontIndirectA)(CONST LOGFONTA * lplf);
  711. typedef HFONT (_stdcall *_pfn_CreateFontIndirectW)(CONST LOGFONTW * lplf);
  712. typedef HFONT (_stdcall *_pfn_CreateFontIndirectExA)(CONST ENUMLOGFONTEXDVA *penumlfex);
  713. typedef HFONT (_stdcall *_pfn_CreateFontIndirectExW)(CONST ENUMLOGFONTEXDVW *penumlfex);
  714. typedef HFONT (_stdcall *_pfn_CreateFontW)(int nHeight,int nWidth,int nEscapement,int nOrientation,int fnWeight,DWORD fdwItalic,DWORD fdwUnderline,DWORD fdwStrikeOut,DWORD fdwCharSet,DWORD fdwOutputPrecision,DWORD fdwClipPrecision,DWORD fdwQuality,DWORD fdwPitchAndFamily,LPCWSTR lpszFace);
  715. typedef HPALETTE (_stdcall *_pfn_CreateHalftonePalette)(HDC hdc);
  716. typedef HBRUSH (_stdcall *_pfn_CreateHatchBrush)(int fnStyle,COLORREF clrref);
  717. typedef HDC (_stdcall *_pfn_CreateICA)(LPCSTR lpszDriver,LPCSTR lpszDevice,LPCSTR lpszOutput,CONST DEVMODE *lpdvmInit);
  718. typedef HDC (_stdcall *_pfn_CreateICW)(LPCWSTR lpszDriver,LPCWSTR lpszDevice,LPCWSTR lpszOutput,CONST DEVMODE *lpdvmInit);
  719. typedef HDC (_stdcall *_pfn_CreateMetaFileA)(LPCSTR lpszFile);
  720. typedef HDC (_stdcall *_pfn_CreateMetaFileW)(LPCWSTR lpszFile);
  721. typedef HPALETTE (_stdcall *_pfn_CreatePalette)(CONST LOGPALETTE *lplgpl);
  722. typedef HBRUSH (_stdcall *_pfn_CreatePatternBrush)(HBITMAP hbmp);
  723. typedef HPEN (_stdcall *_pfn_CreatePen)(int fnPenStyle,int nWidth,COLORREF crColor);
  724. typedef HPEN (_stdcall *_pfn_CreatePenIndirect)(CONST LOGPEN *lplgpn);
  725. typedef HRGN (_stdcall *_pfn_CreatePolyPolygonRgn)(CONST POINT *lppt,CONST INT *lpPolyCounts,int nCount,int fnPolyFillMode);
  726. typedef HRGN (_stdcall *_pfn_CreatePolygonRgn)(CONST POINT *lppt,int cPoints,int fnPolyFillMode);
  727. typedef HRGN (_stdcall *_pfn_CreateRectRgn)(int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);
  728. typedef HRGN (_stdcall *_pfn_CreateRectRgnIndirect)(CONST RECT * lprc);
  729. typedef HRGN (_stdcall *_pfn_CreateRoundRectRgn)(int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nWidthEllipse,int nHeightEllipse);
  730. typedef BOOL (_stdcall *_pfn_CreateScalableFontResourceA)(DWORD fdwHidden,LPCSTR lpszFontRes,LPCSTR lpszFontFile,LPCSTR lpszCurrentPath);
  731. typedef BOOL (_stdcall *_pfn_CreateScalableFontResourceW)(DWORD fdwHidden,LPCWSTR lpszFontRes,LPCWSTR lpszFontFile,LPCWSTR lpszCurrentPath);
  732. typedef HBRUSH (_stdcall *_pfn_CreateSolidBrush)(COLORREF crColor);
  733. typedef BOOL (_stdcall *_pfn_DeleteEnhMetaFile)(HENHMETAFILE hemf);
  734. typedef BOOL (_stdcall *_pfn_DeleteMetaFile)(HMETAFILE hmf);
  735. typedef BOOL (_stdcall *_pfn_DeleteObject)(HGDIOBJ hObjectIn);
  736. typedef BOOL (_stdcall *_pfn_DeleteDC)(HDC hdc);
  737. typedef HPEN (_stdcall *_pfn_ExtCreatePen)(DWORD dwPenStyle,DWORD dwWidth,CONST LOGBRUSH *lplb,DWORD dwStyleCount,CONST DWORD *lpStyle);
  738. typedef HRGN (_stdcall *_pfn_ExtCreateRegion)(CONST XFORM *lpXform,DWORD nCount,CONST RGNDATA *lpRgnData);
  739. typedef BOOL (_stdcall *_pfn_ExtTextOutA)(HDC hdc,int X,int Y,UINT fuOptions,CONST RECT* lprc,LPCSTR lpString,UINT cbCount,CONST INT* lpDx);
  740. typedef BOOL (_stdcall *_pfn_ExtTextOutW)(HDC hdc,int X,int Y,UINT fuOptions,CONST RECT* lprc,LPCWSTR lpString,UINT cbCount,CONST INT* lpDx);
  741. typedef BOOL (_stdcall *_pfn_FixBrushOrgEx)(HDC hdc, int nUnknown1, int nUnknown2, LPPOINT lpPoint);
  742. typedef BOOL (_stdcall *_pfn_FloodFill)(HDC hdc, int nXStart, int nYStart, COLORREF crFill);
  743. typedef LONG (_stdcall *_pfn_GetBitmapBits)(HBITMAP hbmp,LONG cbBuffer,LPVOID lpvBits);
  744. typedef HGDIOBJ (_stdcall *_pfn_GetStockObject)(int fnObjectIn);
  745. typedef HDC (_stdcall *_pfn_BeginPaint)( HWND, LPPAINTSTRUCT );
  746. typedef HICON (_stdcall *_pfn_CopyIcon)(HICON);
  747. typedef BOOL (_stdcall *_pfn_DestroyIcon)(HICON);
  748. typedef BOOL (_stdcall *_pfn_DestroyCursor)(HCURSOR);
  749. typedef BOOL (_stdcall *_pfn_DestroyAcceleratorTable)(HACCEL);
  750. typedef BOOL (_stdcall *_pfn_DestroyMenu)(HMENU);
  751. typedef BOOL (_stdcall *_pfn_EndPaint)(HWND, CONST PAINTSTRUCT * );
  752. typedef HCURSOR (_stdcall *_pfn_GetCursor)( void );
  753. typedef BOOL (_stdcall *_pfn_GetIconInfo)( HICON, PICONINFO );
  754. typedef HDC (_stdcall *_pfn_GetDCEx)(HWND, HRGN, DWORD );
  755. typedef HACCEL (_stdcall *_pfn_LoadAcceleratorsA)(HINSTANCE, LPCSTR );
  756. typedef HACCEL (_stdcall *_pfn_LoadAcceleratorsW)(HINSTANCE, LPCWSTR );
  757. typedef HBITMAP (_stdcall *_pfn_LoadBitmapA)(HINSTANCE, LPCSTR );
  758. typedef HBITMAP (_stdcall *_pfn_LoadBitmapW)(HINSTANCE, LPCWSTR );
  759. typedef HCURSOR (_stdcall *_pfn_LoadCursorA)(HINSTANCE, LPCSTR );
  760. typedef HCURSOR (_stdcall *_pfn_LoadCursorFromFileA)(LPCSTR);
  761. typedef HCURSOR (_stdcall *_pfn_LoadCursorFromFileW)(LPCWSTR);
  762. typedef HCURSOR (_stdcall *_pfn_LoadCursorW)(HINSTANCE, LPCWSTR );
  763. typedef HICON (_stdcall *_pfn_LoadIconA)(HINSTANCE, LPCSTR );
  764. typedef HICON (_stdcall *_pfn_LoadIconW)(HINSTANCE, LPCWSTR );
  765. typedef HANDLE (_stdcall *_pfn_LoadImageA)(HINSTANCE, LPCSTR, UINT, int, int, UINT );
  766. typedef HANDLE (_stdcall *_pfn_LoadImageW)(HINSTANCE, LPCWSTR, UINT, int, int, UINT );
  767. typedef HMENU (_stdcall *_pfn_LoadMenuA)(HINSTANCE, LPCSTR );
  768. typedef HMENU (_stdcall *_pfn_LoadMenuIndirectA)(CONST MENUTEMPLATEA *);
  769. typedef HMENU (_stdcall *_pfn_LoadMenuIndirectW)(CONST MENUTEMPLATEW *);
  770. typedef HMENU (_stdcall *_pfn_LoadMenuW)(HINSTANCE, LPCWSTR );
  771. typedef BOOL (_stdcall *_pfn_ReleaseDC)(HWND, HDC );
  772. typedef BOOL (_stdcall *_pfn_UnregisterClassA)(LPCSTR, HINSTANCE);
  773. typedef BOOL (_stdcall *_pfn_UnregisterClassW)(LPCWSTR, HINSTANCE);
  774. typedef int (_stdcall *_pfn_SetWindowRgn)(HWND,HRGN,BOOL);
  775. typedef HMENU (_stdcall *_pfn_CreateMenu)( VOID );
  776. typedef HACCEL (_stdcall *_pfn_CreateAcceleratorTableA)( LPACCEL lpaccl, int cEntries );
  777. typedef HACCEL (_stdcall *_pfn_CreateAcceleratorTableW)( LPACCEL lpaccl, int cEntries );
  778. typedef HCURSOR (_stdcall *_pfn_CreateCursor)(HINSTANCE hInst,int xHotSpot,int yHotSpot,int nWidth,int nHeight,CONST VOID *pvANDPlane,CONST VOID *pvXORPlane);
  779. typedef HICON (_stdcall *_pfn_CreateIconFromResource)(PBYTE presbits,DWORD dwResSize,BOOL fIcon,DWORD dwVer);
  780. typedef HICON (_stdcall *_pfn_CreateIconFromResourceEx)(PBYTE pbIconBits,DWORD cbIconBits,BOOL fIcon,DWORD dwVersion,int cxDesired,int cyDesired,UINT uFlags);
  781. typedef HANDLE (_stdcall *_pfn_CopyImage)(HANDLE hImage,UINT uType,int cxDesired,int cyDesired,UINT fuFlags);
  782. typedef HMENU (_stdcall *_pfn_CreatePopupMenu)( VOID );
  783. typedef BOOL (_stdcall *_pfn_InsertMenuItemA)(HMENU hMenu,UINT uItem,BOOL fByPosition,LPCMENUITEMINFOA lpmii);
  784. typedef BOOL (_stdcall *_pfn_InsertMenuItemW)(HMENU hMenu,UINT uItem,BOOL fByPosition,LPCMENUITEMINFOW lpmii);
  785. typedef HICON (_stdcall *_pfn_CreateIconIndirect)(PICONINFO piconinfo);
  786. typedef BOOL (_stdcall *_pfn_GetBitmapDimensionEx)(HBITMAP hBitmap,LPSIZE lpDimension);
  787. typedef BOOL (_stdcall *_pfn_MaskBlt)(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,HBITMAP hbmMask,int xMask,int yMask,DWORD dwRop);
  788. typedef LONG (_stdcall *_pfn_SetBitmapBits)(HBITMAP hbmp,DWORD cBytes,CONST VOID *lpBits);
  789. typedef int (_stdcall *_pfn_SetDIBits)(HDC hdc,HBITMAP hbmp,UINT uStartScan,UINT cScanLines,CONST VOID *lpvBits,CONST BITMAPINFO *lpbmi,UINT fuColorUse);
  790. typedef BOOL (_stdcall *_pfn_SetBitmapDimensionEx)(HBITMAP hBitmap,int nWidth,int nHeight,LPSIZE lpSize);
  791. typedef HBRUSH (_stdcall *_pfn_GetSysColorBrush)(int nIndex);
  792. typedef HICON (_stdcall *_pfn_ExtractAssociatedIconA)(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon);
  793. typedef HICON (_stdcall *_pfn_ExtractAssociatedIconW)(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon);
  794. typedef BOOL (_stdcall *_pfn_DrawIcon)(HDC hDC, int X, int Y, HICON hIcon);
  795. typedef BOOL (_stdcall *_pfn_DrawIconEx)(HDC hDC, int X, int Y, HICON hIcon, int cxWidth, int cyHeight, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags);
  796. typedef BOOL (_stdcall *_pfn_AnyPopup)(void);
  797. typedef int (_stdcall *_pfn_EnumFontFamiliesA)(HDC hdc, LPCSTR lpszFamily, FONTENUMPROC lpEnumFontFamProc, LPARAM lParam);
  798. typedef int (_stdcall *_pfn_EnumFontFamiliesW)(HDC hdc, LPCWSTR lpszFamily, FONTENUMPROC lpEnumFontFamProc, LPARAM lParam);
  799. typedef int (_stdcall *_pfn_EnumFontFamProc)(ENUMLOGFONT *lpelf, NEWTEXTMETRIC *lpntm, DWORD FontType, LPARAM lParam);
  800. typedef int (_stdcall *_pfn_EnumFontsA)(HDC hdc, LPCSTR lpFaceName, FONTENUMPROC lpFontFunc, LPARAM lParam);
  801. typedef int (_stdcall *_pfn_EnumFontsW)(HDC hdc, LPCWSTR lpFaceName, FONTENUMPROC lpFontFunc, LPARAM lParam);
  802. typedef int (_stdcall *_pfn_EnumFontsProc)(CONST LOGFONT *lplf, CONST TEXTMETRIC *lptm, DWORD dwType, LPARAM lpData);
  803. typedef BOOL (_stdcall *_pfn_EnumMetaFile)(HDC hdc, HMETAFILE hmf, MFENUMPROC lpMetaFunc, LPARAM lParam);
  804. typedef int (_stdcall *_pfn_EnumMetaFileProc)(HDC hDC, HANDLETABLE *lpHTable, METARECORD *lpMFR, int nObj, LPARAM lpClientData);
  805. typedef BOOL (__stdcall *_pfn_AngleArc)(HDC hdc, int X, int Y, DWORD dwRadius, FLOAT eStartAngle, FLOAT eSweepAngle );
  806. typedef BOOL (__stdcall *_pfn_Arc)( HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc );
  807. typedef BOOL (__stdcall *_pfn_ArcTo)( HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nXRadial1,int nYRadial1,int nXRadial2,int nYRadial2);
  808. typedef BOOL (__stdcall *_pfn_ChoosePixelFormat)( HDC hdc,CONST PIXELFORMATDESCRIPTOR * ppfd );
  809. typedef BOOL (__stdcall *_pfn_Chord)( HDC hdc,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nXRadial1,int nYRadial1,int nXRadial2,int nYRadial2 );
  810. typedef int (_stdcall *_pfn_CombineRgn)(HRGN hrgnDest,HRGN hrgnSrc1,HRGN hrgnSrc2,int fnCombineMode );
  811. typedef HENHMETAFILE (_stdcall *_pfn_CloseEnhMetaFile)(HDC hdc);
  812. typedef HMETAFILE (_stdcall *_pfn_CloseMetaFile)(HDC hdc);
  813. typedef HBITMAP (_stdcall *_pfn_CreateBitmap)(int nWidthIn, int nHeightIn, UINT cPlanesIn, UINT cBitPerPixelIn, CONST VOID * pvBitsIn);
  814. typedef HBITMAP (_stdcall *_pfn_CreateBitmapIndirect)(CONST BITMAP * lpbmIn);
  815. typedef HBRUSH (_stdcall *_pfn_CreateBrushIndirect)(CONST LOGBRUSH * lplbIn);
  816. typedef HCOLORSPACE (_stdcall *_pfn_CreateColorSpaceA)(LPLOGCOLORSPACEA lpLogColorSpace);
  817. typedef HCOLORSPACE (_stdcall *_pfn_CreateColorSpaceW)(LPLOGCOLORSPACEW lpLogColorSpace);
  818. typedef BOOL (_stdcall *_pfn_DPtoLP)(HDC hdc,LPPOINT lpPoints,int nCount);
  819. typedef BOOL (_stdcall *_pfn_DeleteColorSpace)(HCOLORSPACE hColorSpaceIn);
  820. typedef HBITMAP (_stdcall *_pfn_CreateCompatibleBitmap)(HDC hdc,int nWidth,int nHeight);
  821. typedef HBRUSH (_stdcall *_pfn_CreateDIBPatternBrush)(HGLOBAL hglbDIBPacked,UINT fuColorSpec);
  822. typedef HBRUSH (_stdcall *_pfn_CreateDIBPatternBrushPt)(CONST VOID *lpPackedDIB,UINT iUsage);
  823. typedef HBITMAP (_stdcall *_pfn_CreateDIBitmap)(HDC hdc,CONST BITMAPINFOHEADER *lpbmih,DWORD fdwInit,CONST VOID *lpbInit,CONST BITMAPINFO *lpbmi,UINT fuUsage);
  824. typedef HBITMAP (_stdcall *_pfn_CreateDiscardableBitmap)(HDC hdc,int nWidth,int nHeight);
  825. typedef HRGN (_stdcall *_pfn_CreateEllipticRgn)(int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);
  826. typedef HRGN (_stdcall *_pfn_CreateEllipticRgnIndirect)(CONST RECT * lprc);
  827. typedef HDC (_stdcall *_pfn_CreateEnhMetaFileA)(HDC hdcRef,LPCSTR lpFilename,CONST RECT* lpRect,LPCSTR lpDescription);
  828. typedef HDC (_stdcall *_pfn_CreateEnhMetaFileW)(HDC hdcRef,LPCWSTR lpFilename,CONST RECT* lpRect,LPCWSTR lpDescription);
  829. typedef HFONT (_stdcall *_pfn_CreateFontA)(int nHeight,int nWidth,int nEscapement,int nOrientation,int fnWeight,DWORD fdwItalic,DWORD fdwUnderline,DWORD fdwStrikeOut,DWORD fdwCharSet,DWORD fdwOutputPrecision,DWORD fdwClipPrecision,DWORD fdwQuality,DWORD fdwPitchAndFamily,LPCSTR lpszFace);
  830. typedef HFONT (_stdcall *_pfn_CreateFontIndirectA)(CONST LOGFONTA * lplf);
  831. typedef HFONT (_stdcall *_pfn_CreateFontIndirectW)(CONST LOGFONTW * lplf);
  832. typedef HFONT (_stdcall *_pfn_CreateFontIndirectExA)(CONST ENUMLOGFONTEXDVA *penumlfex);
  833. typedef HFONT (_stdcall *_pfn_CreateFontIndirectExW)(CONST ENUMLOGFONTEXDVW *penumlfex);
  834. typedef HFONT (_stdcall *_pfn_CreateFontW)(int nHeight,int nWidth,int nEscapement,int nOrientation,int fnWeight,DWORD fdwItalic,DWORD fdwUnderline,DWORD fdwStrikeOut,DWORD fdwCharSet,DWORD fdwOutputPrecision,DWORD fdwClipPrecision,DWORD fdwQuality,DWORD fdwPitchAndFamily,LPCWSTR lpszFace);
  835. typedef HPALETTE (_stdcall *_pfn_CreateHalftonePalette)(HDC hdc);
  836. typedef HBRUSH (_stdcall *_pfn_CreateHatchBrush)(int fnStyle,COLORREF clrref);
  837. typedef HDC (_stdcall *_pfn_CreateICA)(LPCSTR lpszDriver,LPCSTR lpszDevice,LPCSTR lpszOutput,CONST DEVMODE *lpdvmInit);
  838. typedef HDC (_stdcall *_pfn_CreateICW)(LPCWSTR lpszDriver,LPCWSTR lpszDevice,LPCWSTR lpszOutput,CONST DEVMODE *lpdvmInit);
  839. typedef HDC (_stdcall *_pfn_CreateMetaFileA)(LPCSTR lpszFile);
  840. typedef HDC (_stdcall *_pfn_CreateMetaFileW)(LPCWSTR lpszFile);
  841. typedef HPALETTE (_stdcall *_pfn_CreatePalette)(CONST LOGPALETTE *lplgpl);
  842. typedef HBRUSH (_stdcall *_pfn_CreatePatternBrush)(HBITMAP hbmp);
  843. typedef HPEN (_stdcall *_pfn_CreatePen)(int fnPenStyle,int nWidth,COLORREF crColor);
  844. typedef HPEN (_stdcall *_pfn_CreatePenIndirect)(CONST LOGPEN *lplgpn);
  845. typedef HRGN (_stdcall *_pfn_CreatePolyPolygonRgn)(CONST POINT *lppt,CONST INT *lpPolyCounts,int nCount,int fnPolyFillMode);
  846. typedef HRGN (_stdcall *_pfn_CreatePolygonRgn)(CONST POINT *lppt,int cPoints,int fnPolyFillMode);
  847. typedef HRGN (_stdcall *_pfn_CreateRectRgn)(int nLeftRect,int nTopRect,int nRightRect,int nBottomRect);
  848. typedef HRGN (_stdcall *_pfn_CreateRectRgnIndirect)(CONST RECT * lprc);
  849. typedef HRGN (_stdcall *_pfn_CreateRoundRectRgn)(int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nWidthEllipse,int nHeightEllipse);
  850. typedef BOOL (_stdcall *_pfn_CreateScalableFontResourceA)(DWORD fdwHidden,LPCSTR lpszFontRes,LPCSTR lpszFontFile,LPCSTR lpszCurrentPath);
  851. typedef BOOL (_stdcall *_pfn_CreateScalableFontResourceW)(DWORD fdwHidden,LPCWSTR lpszFontRes,LPCWSTR lpszFontFile,LPCWSTR lpszCurrentPath);
  852. typedef HBRUSH (_stdcall *_pfn_CreateSolidBrush)(COLORREF crColor);
  853. typedef BOOL (_stdcall *_pfn_DeleteEnhMetaFile)(HENHMETAFILE hemf);
  854. typedef BOOL (_stdcall *_pfn_DeleteMetaFile)(HMETAFILE hmf);
  855. typedef BOOL (_stdcall *_pfn_DeleteObject)(HGDIOBJ hObjectIn);
  856. typedef BOOL (_stdcall *_pfn_DeleteDC)(HDC hdc);
  857. typedef HPEN (_stdcall *_pfn_ExtCreatePen)(DWORD dwPenStyle,DWORD dwWidth,CONST LOGBRUSH *lplb,DWORD dwStyleCount,CONST DWORD *lpStyle);
  858. typedef HRGN (_stdcall *_pfn_ExtCreateRegion)(CONST XFORM *lpXform,DWORD nCount,CONST RGNDATA *lpRgnData);
  859. typedef BOOL (_stdcall *_pfn_ExtTextOutA)(HDC hdc,int X,int Y,UINT fuOptions,CONST RECT* lprc,LPCSTR lpString,UINT cbCount,CONST INT* lpDx);
  860. typedef BOOL (_stdcall *_pfn_ExtTextOutW)(HDC hdc,int X,int Y,UINT fuOptions,CONST RECT* lprc,LPCWSTR lpString,UINT cbCount,CONST INT* lpDx);
  861. typedef LONG (_stdcall *_pfn_GetBitmapBits)(HBITMAP hbmp,LONG cbBuffer,LPVOID lpvBits);
  862. typedef HGDIOBJ (_stdcall *_pfn_GetStockObject)(int fnObjectIn);
  863. typedef HDC (_stdcall *_pfn_BeginPaint)( HWND, LPPAINTSTRUCT );
  864. typedef HICON (_stdcall *_pfn_CopyIcon)(HICON);
  865. typedef BOOL (_stdcall *_pfn_DestroyIcon)(HICON);
  866. typedef BOOL (_stdcall *_pfn_DestroyCursor)(HCURSOR);
  867. typedef BOOL (_stdcall *_pfn_DestroyAcceleratorTable)(HACCEL);
  868. typedef BOOL (_stdcall *_pfn_DestroyMenu)(HMENU);
  869. typedef BOOL (_stdcall *_pfn_EndPaint)(HWND, CONST PAINTSTRUCT * );
  870. typedef HCURSOR (_stdcall *_pfn_GetCursor)( void );
  871. typedef BOOL (_stdcall *_pfn_GetIconInfo)( HICON, PICONINFO );
  872. typedef HDC (_stdcall *_pfn_GetDCEx)(HWND, HRGN, DWORD );
  873. typedef HACCEL (_stdcall *_pfn_LoadAcceleratorsA)(HINSTANCE, LPCSTR );
  874. typedef HACCEL (_stdcall *_pfn_LoadAcceleratorsW)(HINSTANCE, LPCWSTR );
  875. typedef HBITMAP (_stdcall *_pfn_LoadBitmapA)(HINSTANCE, LPCSTR );
  876. typedef HBITMAP (_stdcall *_pfn_LoadBitmapW)(HINSTANCE, LPCWSTR );
  877. typedef HCURSOR (_stdcall *_pfn_LoadCursorA)(HINSTANCE, LPCSTR );
  878. typedef HCURSOR (_stdcall *_pfn_LoadCursorFromFileA)(LPCSTR);
  879. typedef HCURSOR (_stdcall *_pfn_LoadCursorFromFileW)(LPCWSTR);
  880. typedef HCURSOR (_stdcall *_pfn_LoadCursorW)(HINSTANCE, LPCWSTR );
  881. typedef HICON (_stdcall *_pfn_LoadIconA)(HINSTANCE, LPCSTR );
  882. typedef HICON (_stdcall *_pfn_LoadIconW)(HINSTANCE, LPCWSTR );
  883. typedef HANDLE (_stdcall *_pfn_LoadImageA)(HINSTANCE, LPCSTR, UINT, int, int, UINT );
  884. typedef HANDLE (_stdcall *_pfn_LoadImageW)(HINSTANCE, LPCWSTR, UINT, int, int, UINT );
  885. typedef HMENU (_stdcall *_pfn_LoadMenuA)(HINSTANCE, LPCSTR );
  886. typedef HMENU (_stdcall *_pfn_LoadMenuIndirectA)(CONST MENUTEMPLATEA *);
  887. typedef HMENU (_stdcall *_pfn_LoadMenuIndirectW)(CONST MENUTEMPLATEW *);
  888. typedef HMENU (_stdcall *_pfn_LoadMenuW)(HINSTANCE, LPCWSTR );
  889. typedef BOOL (_stdcall *_pfn_ReleaseDC)(HWND, HDC );
  890. typedef BOOL (_stdcall *_pfn_UnregisterClassA)(LPCSTR, HINSTANCE);
  891. typedef BOOL (_stdcall *_pfn_UnregisterClassW)(LPCWSTR, HINSTANCE);
  892. typedef int (_stdcall *_pfn_SetWindowRgn)(HWND,HRGN,BOOL);
  893. typedef HMENU (_stdcall *_pfn_CreateMenu)( VOID );
  894. typedef HACCEL (_stdcall *_pfn_CreateAcceleratorTableA)( LPACCEL lpaccl, int cEntries );
  895. typedef HACCEL (_stdcall *_pfn_CreateAcceleratorTableW)( LPACCEL lpaccl, int cEntries );
  896. typedef HCURSOR (_stdcall *_pfn_CreateCursor)(HINSTANCE hInst,int xHotSpot,int yHotSpot,int nWidth,int nHeight,CONST VOID *pvANDPlane,CONST VOID *pvXORPlane);
  897. typedef HICON (_stdcall *_pfn_CreateIconFromResource)(PBYTE presbits,DWORD dwResSize,BOOL fIcon,DWORD dwVer);
  898. typedef HICON (_stdcall *_pfn_CreateIconFromResourceEx)(PBYTE pbIconBits,DWORD cbIconBits,BOOL fIcon,DWORD dwVersion,int cxDesired,int cyDesired,UINT uFlags);
  899. typedef HANDLE (_stdcall *_pfn_CopyImage)(HANDLE hImage,UINT uType,int cxDesired,int cyDesired,UINT fuFlags);
  900. typedef HMENU (_stdcall *_pfn_CreatePopupMenu)( VOID );
  901. typedef BOOL (_stdcall *_pfn_InsertMenuItemA)(HMENU hMenu,UINT uItem,BOOL fByPosition,LPCMENUITEMINFOA lpmii);
  902. typedef BOOL (_stdcall *_pfn_InsertMenuItemW)(HMENU hMenu,UINT uItem,BOOL fByPosition,LPCMENUITEMINFOW lpmii);
  903. typedef HICON (_stdcall *_pfn_CreateIconIndirect)(PICONINFO piconinfo);
  904. typedef BOOL (_stdcall *_pfn_GetBitmapDimensionEx)(HBITMAP hBitmap,LPSIZE lpDimension);
  905. typedef BOOL (_stdcall *_pfn_MaskBlt)(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,HBITMAP hbmMask,int xMask,int yMask,DWORD dwRop);
  906. typedef BOOL (_stdcall *_pfn_PlgBlt)(HDC hdcDest,CONST POINT *lpPoint,HDC hdcSrc,int nXSrc,int nYSrc,int nWidth,int nHeight,HBITMAP hbmMask,int xMask,int yMask);
  907. typedef LONG (_stdcall *_pfn_SetBitmapBits)(HBITMAP hbmp,DWORD cBytes,CONST VOID *lpBits);
  908. typedef int (_stdcall *_pfn_SetDIBits)(HDC hdc,HBITMAP hbmp,UINT uStartScan,UINT cScanLines,CONST VOID *lpvBits,CONST BITMAPINFO *lpbmi,UINT fuColorUse);
  909. typedef BOOL (_stdcall *_pfn_SetBitmapDimensionEx)(HBITMAP hBitmap,int nWidth,int nHeight,LPSIZE lpSize);
  910. typedef HBRUSH (_stdcall *_pfn_GetSysColorBrush)(int nIndex);
  911. typedef DWORD (WINAPI *_pfn_WNetEnumResourceA)(HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize);
  912. typedef DWORD (WINAPI *_pfn_WNetEnumResourceW)(HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize);
  913. typedef HIMC (WINAPI *_pfn_ImmAssociateContext)(HWND hWnd, HIMC hIMC);
  914. typedef BOOL (*_pfn_GetPrinterA)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded);
  915. typedef BOOL (*_pfn_GetPrinterW)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded);
  916. typedef HDESK (WINAPI *_pfn_CreateDesktopA)(LPCSTR lpszDesktop, LPCSTR lpszDevice, LPDEVMODEA pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);
  917. typedef HDESK (WINAPI *_pfn_CreateDesktopW)(LPCWSTR lpszDesktop, LPCWSTR lpszDevice, LPDEVMODEW pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);
  918. typedef HWINSTA (WINAPI *_pfn_CreateWindowStationA)(LPSTR lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);
  919. typedef HWINSTA (WINAPI *_pfn_CreateWindowStationW)(LPWSTR lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa);
  920. typedef LONG (WINAPI *_pfn_RegSaveKeyA)(HKEY hKey, LPCSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  921. typedef LONG (WINAPI *_pfn_RegSaveKeyW)(HKEY hKey, LPCWSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  922. typedef LONG (WINAPI *_pfn_RegSaveKeyExA)(HKEY hKey, LPCSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags);
  923. typedef LONG (WINAPI *_pfn_RegSaveKeyExW)(HKEY hKey, LPCWSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags);
  924. typedef HANDLE (WINAPI *_pfn_CreateRemoteThread)(HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
  925. typedef HANDLE (WINAPI *_pfn_CreateJobObjectA)(LPSECURITY_ATTRIBUTES lpJobAttributes, LPCSTR lpName);
  926. typedef HANDLE (WINAPI *_pfn_CreateJobObjectW)(LPSECURITY_ATTRIBUTES lpJobAttributes, LPCWSTR lpName);
  927. typedef BOOL (WINAPI *_pfn_CreateHardLinkA)(LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  928. typedef BOOL (WINAPI *_pfn_CreateHardLinkW)(LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  929. typedef HANDLE (WINAPI *_pfn_CreateMailslotA)(LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  930. typedef HANDLE (WINAPI *_pfn_CreateMailslotW)(LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  931. typedef HANDLE (WINAPI *_pfn_CreateNamedPipeA)(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  932. typedef HANDLE (WINAPI *_pfn_CreateNamedPipeW)(LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  933. typedef BOOL (WINAPI *_pfn_CreatePipe)(PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize);
  934. typedef HANDLE (WINAPI *_pfn_CreateWaitableTimerA)(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCSTR lpTimerName);
  935. typedef HANDLE (WINAPI *_pfn_CreateWaitableTimerW)(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCWSTR lpTimerName);
  936. typedef BOOL (WINAPI *_pfn_SetFileSecurityA) (LPCSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
  937. typedef BOOL (WINAPI *_pfn_SetFileSecurityW) (LPCWSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
  938. typedef BOOL (WINAPI *_pfn_SetKernelObjectSecurity) (HANDLE Handle, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR SecurityDescriptor);
  939. typedef DWORD (WINAPI *_pfn_SetNamedSecurityInfoA)(LPSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl);
  940. typedef DWORD (WINAPI *_pfn_SetNamedSecurityInfoW)(LPWSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl);
  941. typedef DWORD (WINAPI *_pfn_SetSecurityInfo)(HANDLE handle, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl);
  942. typedef int (WINAPI *_pfn_SetTextCharacterExtra)(HDC hdc, int nCharExtra);
  943. typedef LONG (WINAPI *_pfn_RegSetKeySecurity) (HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
  944. typedef BOOL (WINAPI *_pfn_SetUserObjectSecurity)(HANDLE hObj, PSECURITY_INFORMATION pSIRequested, PSECURITY_DESCRIPTOR pSID);
  945. typedef BOOL (WINAPI *_pfn_SetServiceObjectSecurity)(SC_HANDLE hService, SECURITY_INFORMATION dwSecurityInformation, PSECURITY_DESCRIPTOR lpSecurityDescriptor);
  946. typedef DWORD (WINAPI *_pfn_SetNtmsObjectSecurity)(HANDLE hSession, LPNTMS_GUID lpObjectId, DWORD dwType, SECURITY_INFORMATION lpSecurityInformation, PSECURITY_DESCRIPTOR lpSecurityDescriptor);
  947. typedef LONG (WINAPI *_pfn_ClusterRegCreateKey)(HKEY hKey, LPCWSTR lpszSubKey, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition);
  948. typedef DWORD (WINAPI *_pfn_CreateNtmsMediaPoolA)(HANDLE hSession, LPCSTR lpPoolName, LPNTMS_GUID lpMediaType, DWORD dwAction, LPSECURITY_ATTRIBUTES lpSecurityAttributes, LPNTMS_GUID lpPoolId);
  949. typedef DWORD (WINAPI *_pfn_CreateNtmsMediaPoolW)(HANDLE hSession, LPCWSTR lpPoolName, LPNTMS_GUID lpMediaType, DWORD dwAction, LPSECURITY_ATTRIBUTES lpSecurityAttributes, LPNTMS_GUID lpPoolId);
  950. typedef DWORD (WINAPI *_pfn_DuplicateEncryptionInfoFile)(LPCWSTR SrcFileName, LPCWSTR DstFileName, DWORD dwCreationDistribution, DWORD dwAttributes, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  951. typedef void (WINAPI *_pfn_ReleaseStgMedium)(STGMEDIUM *pmedium);
  952. typedef LONG (WINAPI *_pfn_ClusterRegSetKeySecurity)(HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
  953. #endif // _SHIMPROTO_H_