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.

339 lines
5.7 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. Abstract:
  5. Author:
  6. Revision History:
  7. --*/
  8. #include "basedll.h"
  9. #include "mountmgr.h"
  10. #include "aclapi.h"
  11. #include "winefs.h"
  12. #include "ntrtl.h"
  13. #define InterlockedIncrement _InterlockedIncrement
  14. #define InterlockedDecrement _InterlockedDecrement
  15. #define InterlockedExchange _InterlockedExchange
  16. #define InterlockedExchangeAdd _InterlockedExchangeAdd
  17. #define InterlockedCompareExchange _InterlockedCompareExchange
  18. #define InterlockedCompareExchange _InterlockedCompareExchange
  19. NTSTATUS
  20. EtwpUuidCreate(
  21. OUT UUID *Uuid
  22. );
  23. NTSTATUS
  24. EtwpRegOpenKey(
  25. IN PCWSTR lpKeyName,
  26. OUT PHANDLE KeyHandle
  27. );
  28. #define EtwpGetLastError RtlGetLastWin32Error
  29. #define EtwpSetLastError RtlSetLastWin32Error
  30. #define EtwpBaseSetLastNTError RtlSetLastWin32ErrorAndNtStatusFromNtStatus
  31. DWORD
  32. WINAPI
  33. EtwpGetTimeZoneInformation(
  34. LPTIME_ZONE_INFORMATION lpTimeZoneInformation
  35. );
  36. HANDLE
  37. WINAPI
  38. EtwpCreateFileW(
  39. LPCWSTR lpFileName,
  40. DWORD dwDesiredAccess,
  41. DWORD dwShareMode,
  42. LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  43. DWORD dwCreationDisposition,
  44. DWORD dwFlagsAndAttributes,
  45. HANDLE hTemplateFile
  46. );
  47. HANDLE
  48. EtwpBaseGetNamedObjectDirectory(
  49. VOID
  50. );
  51. POBJECT_ATTRIBUTES
  52. EtwpBaseFormatObjectAttributes(
  53. OUT POBJECT_ATTRIBUTES ObjectAttributes,
  54. IN PSECURITY_ATTRIBUTES SecurityAttributes,
  55. IN PUNICODE_STRING ObjectName
  56. );
  57. HANDLE
  58. APIENTRY
  59. EtwpCreateEventW(
  60. LPSECURITY_ATTRIBUTES lpEventAttributes,
  61. BOOL bManualReset,
  62. BOOL bInitialState,
  63. LPCWSTR lpName
  64. );
  65. DWORD
  66. WINAPI
  67. EtwpSetFilePointer(
  68. HANDLE hFile,
  69. LONG lDistanceToMove,
  70. PLONG lpDistanceToMoveHigh,
  71. DWORD dwMoveMethod
  72. );
  73. BOOL
  74. WINAPI
  75. EtwpReadFile(
  76. HANDLE hFile,
  77. LPVOID lpBuffer,
  78. DWORD nNumberOfBytesToRead,
  79. LPDWORD lpNumberOfBytesRead,
  80. LPOVERLAPPED lpOverlapped
  81. );
  82. BOOL
  83. EtwpCloseHandle(
  84. HANDLE hObject
  85. );
  86. DWORD
  87. APIENTRY
  88. EtwpWaitForSingleObjectEx(
  89. HANDLE hHandle,
  90. DWORD dwMilliseconds,
  91. BOOL bAlertable
  92. );
  93. BOOL
  94. WINAPI
  95. EtwpGetOverlappedResult(
  96. HANDLE hFile,
  97. LPOVERLAPPED lpOverlapped,
  98. LPDWORD lpNumberOfBytesTransferred,
  99. BOOL bWait
  100. );
  101. PLARGE_INTEGER
  102. EtwpBaseFormatTimeOut(
  103. OUT PLARGE_INTEGER TimeOut,
  104. IN DWORD Milliseconds
  105. );
  106. DWORD
  107. EtwpWaitForSingleObject(
  108. HANDLE hHandle,
  109. DWORD dwMilliseconds
  110. );
  111. BOOL
  112. WINAPI
  113. EtwpDeviceIoControl(
  114. HANDLE hDevice,
  115. DWORD dwIoControlCode,
  116. LPVOID lpInBuffer,
  117. DWORD nInBufferSize,
  118. LPVOID lpOutBuffer,
  119. DWORD nOutBufferSize,
  120. LPDWORD lpBytesReturned,
  121. LPOVERLAPPED lpOverlapped
  122. );
  123. BOOL
  124. WINAPI
  125. EtwpCancelIo(
  126. HANDLE hFile
  127. );
  128. extern PRTLP_EXIT_THREAD RtlpExitThreadFunc;
  129. extern PRTLP_START_THREAD RtlpStartThreadFunc;
  130. #define EtwpExitThread(x) RtlpExitThreadFunc(x)
  131. #define EtwpGetCurrentProcessId() RtlGetCurrentProcessId()
  132. #define EtwpGetCurrentThreadId() RtlGetCurrentThreadId()
  133. #define EtwpGetCurrentProcess() NtCurrentProcess()
  134. BOOL
  135. EtwpSetEvent(
  136. HANDLE hEvent
  137. );
  138. DWORD
  139. APIENTRY
  140. EtwpWaitForMultipleObjectsEx(
  141. DWORD nCount,
  142. CONST HANDLE *lpHandles,
  143. BOOL bWaitAll,
  144. DWORD dwMilliseconds,
  145. BOOL bAlertable
  146. );
  147. HANDLE
  148. APIENTRY
  149. EtwpCreateThread(
  150. LPSECURITY_ATTRIBUTES lpThreadAttributes,
  151. DWORD dwStackSize,
  152. LPTHREAD_START_ROUTINE lpStartAddress,
  153. LPVOID lpParameter,
  154. DWORD dwCreationFlags,
  155. LPDWORD lpThreadId
  156. );
  157. DWORD
  158. APIENTRY
  159. EtwpSleepEx(
  160. DWORD dwMilliseconds,
  161. BOOL bAlertable
  162. );
  163. VOID
  164. EtwpSleep(
  165. DWORD dwMilliseconds
  166. );
  167. BOOL
  168. APIENTRY
  169. EtwpSetThreadPriority(
  170. HANDLE hThread,
  171. int nPriority
  172. );
  173. BOOL
  174. EtwpDuplicateHandle(
  175. HANDLE hSourceProcessHandle,
  176. HANDLE hSourceHandle,
  177. HANDLE hTargetProcessHandle,
  178. LPHANDLE lpTargetHandle,
  179. DWORD dwDesiredAccess,
  180. BOOL bInheritHandle,
  181. DWORD dwOptions
  182. );
  183. ULONG EtwpAnsiToUnicode(
  184. LPCSTR pszA,
  185. LPWSTR * ppszW
  186. );
  187. DWORD
  188. EtwpTlsAlloc(VOID);
  189. LPVOID
  190. EtwpTlsGetValue(DWORD dwTlsIndex);
  191. BOOL
  192. EtwpTlsSetValue(DWORD dwTlsIndex,LPVOID lpTlsValue);
  193. BOOL
  194. EtwpTlsFree(DWORD dwTlsIndex);
  195. DWORD
  196. APIENTRY
  197. EtwpGetFullPathNameA(
  198. LPCSTR lpFileName,
  199. DWORD nBufferLength,
  200. LPSTR lpBuffer,
  201. LPSTR *lpFilePart
  202. );
  203. DWORD
  204. APIENTRY
  205. EtwpGetFullPathNameW(
  206. LPCWSTR lpFileName,
  207. DWORD nBufferLength,
  208. LPWSTR lpBuffer,
  209. LPWSTR *lpFilePart
  210. );
  211. BOOL
  212. EtwpResetEvent(
  213. HANDLE hEvent
  214. );
  215. BOOL
  216. WINAPI
  217. EtwpGetDiskFreeSpaceExW(
  218. LPCWSTR lpDirectoryName,
  219. PULARGE_INTEGER lpFreeBytesAvailableToCaller,
  220. PULARGE_INTEGER lpTotalNumberOfBytes,
  221. PULARGE_INTEGER lpTotalNumberOfFreeBytes
  222. );
  223. BOOL
  224. APIENTRY
  225. EtwpGetFileAttributesExW(
  226. LPCWSTR lpFileName,
  227. GET_FILEEX_INFO_LEVELS fInfoLevelId,
  228. LPVOID lpFileInformation
  229. );
  230. BOOL
  231. APIENTRY
  232. EtwpDeleteFileW(
  233. LPCWSTR lpFileName
  234. );
  235. UINT
  236. APIENTRY
  237. EtwpGetSystemDirectoryW(
  238. LPWSTR lpBuffer,
  239. UINT uSize
  240. );
  241. DWORD
  242. EtwpExpandEnvironmentStringsW(
  243. LPCWSTR lpSrc,
  244. LPWSTR lpDst,
  245. DWORD nSize
  246. );
  247. HANDLE
  248. EtwpFindFirstFileW(
  249. LPCWSTR lpFileName,
  250. LPWIN32_FIND_DATAW lpFindFileData
  251. );
  252. BOOL
  253. EtwpFindClose(
  254. HANDLE hFindFile
  255. );
  256. UINT
  257. APIENTRY
  258. EtwpGetSystemWindowsDirectoryW(
  259. LPWSTR lpBuffer,
  260. UINT uSize
  261. );
  262. BOOL
  263. EtwpEnumUILanguages(
  264. UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
  265. DWORD dwFlags,
  266. LONG_PTR lParam);
  267. __inline
  268. ULONG
  269. EtwpSetDosError(
  270. IN ULONG DosError
  271. );