winevt.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef __WINEVT_H__
  7. #define __WINEVT_H__
  8. #include <winapifamily.h>
  9. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  10. #if (_WIN32_WINNT >= 0x0600)
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. #define EVT_READ_ACCESS 0x1
  15. #define EVT_WRITE_ACCESS 0x2
  16. #define EVT_CLEAR_ACCESS 0x4
  17. #define EVT_ALL_ACCESS 0x7
  18. typedef enum _EVT_CHANNEL_CLOCK_TYPE {
  19. EvtChannelClockTypeSystemTime = 0,
  20. EvtChannelClockTypeQPC = 1
  21. } EVT_CHANNEL_CLOCK_TYPE;
  22. typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID {
  23. EvtChannelConfigEnabled = 0,
  24. EvtChannelConfigIsolation = 1,
  25. EvtChannelConfigType = 2,
  26. EvtChannelConfigOwningPublisher = 3,
  27. EvtChannelConfigClassicEventlog = 4,
  28. EvtChannelConfigAccess = 5,
  29. EvtChannelLoggingConfigRetention = 6,
  30. EvtChannelLoggingConfigAutoBackup = 7,
  31. EvtChannelLoggingConfigMaxSize = 8,
  32. EvtChannelLoggingConfigLogFilePath = 9,
  33. EvtChannelPublishingConfigLevel = 10,
  34. EvtChannelPublishingConfigKeywords = 11,
  35. EvtChannelPublishingConfigControlGuid = 12,
  36. EvtChannelPublishingConfigBufferSize = 13,
  37. EvtChannelPublishingConfigMinBuffers = 14,
  38. EvtChannelPublishingConfigMaxBuffers = 15,
  39. EvtChannelPublishingConfigLatency = 16,
  40. EvtChannelPublishingConfigClockType = 17,
  41. EvtChannelPublishingConfigSidType = 18,
  42. EvtChannelPublisherList = 19,
  43. EvtChannelPublishingConfigFileMax = 20,
  44. EvtChannelConfigPropertyIdEND = 21
  45. } EVT_CHANNEL_CONFIG_PROPERTY_ID;
  46. typedef enum _EVT_CHANNEL_ISOLATION_TYPE {
  47. EvtChannelIsolationTypeApplication = 0,
  48. EvtChannelIsolationTypeSystem = 1,
  49. EvtChannelIsolationTypeCustom = 2
  50. } EVT_CHANNEL_ISOLATION_TYPE;
  51. typedef enum _EVT_CHANNEL_REFERENCE_FLAGS {
  52. EvtChannelReferenceImported = 0x1
  53. } EVT_CHANNEL_REFERENCE_FLAGS;
  54. typedef enum _EVT_CHANNEL_SID_TYPE {
  55. EvtChannelSidTypeNone = 0,
  56. EvtChannelSidTypePublishing = 1
  57. } EVT_CHANNEL_SID_TYPE;
  58. typedef enum _EVT_CHANNEL_TYPE {
  59. EvtChannelTypeAdmin = 0,
  60. EvtChannelTypeOperational = 1,
  61. EvtChannelTypeAnalytic = 2,
  62. EvtChannelTypeDebug = 3
  63. } EVT_CHANNEL_TYPE;
  64. typedef enum _EVT_EVENT_METADATA_PROPERTY_ID {
  65. EventMetadataEventID = 0,
  66. EventMetadataEventVersion = 1,
  67. EventMetadataEventChannel = 2,
  68. EventMetadataEventLevel = 3,
  69. EventMetadataEventOpcode = 4,
  70. EventMetadataEventTask = 5,
  71. EventMetadataEventKeyword = 6,
  72. EventMetadataEventMessageID = 7,
  73. EventMetadataEventTemplate = 8,
  74. EvtEventMetadataPropertyIdEND = 9
  75. } EVT_EVENT_METADATA_PROPERTY_ID;
  76. typedef enum _EVT_EVENT_PROPERTY_ID {
  77. EvtEventQueryIDs = 0,
  78. EvtEventPath = 1,
  79. EvtEventPropertyIdEND = 2
  80. } EVT_EVENT_PROPERTY_ID;
  81. typedef enum _EVT_EXPORTLOG_FLAGS {
  82. EvtExportLogChannelPath = 0x1,
  83. EvtExportLogFilePath = 0x2,
  84. EvtExportLogTolerateQueryErrors = 0x1000
  85. } EVT_EXPORTLOG_FLAGS;
  86. typedef enum _EVT_FORMAT_MESSAGE_FLAGS {
  87. EvtFormatMessageEvent = 1,
  88. EvtFormatMessageLevel = 2,
  89. EvtFormatMessageTask = 3,
  90. EvtFormatMessageOpcode = 4,
  91. EvtFormatMessageKeyword = 5,
  92. EvtFormatMessageChannel = 6,
  93. EvtFormatMessageProvider = 7,
  94. EvtFormatMessageId = 8,
  95. EvtFormatMessageXml = 9
  96. } EVT_FORMAT_MESSAGE_FLAGS;
  97. typedef enum _EVT_LOG_PROPERTY_ID {
  98. EvtLogCreationTime = 0,
  99. EvtLogLastAccessTime = 1,
  100. EvtLogLastWriteTime = 2,
  101. EvtLogFileSize = 3,
  102. EvtLogAttributes = 4,
  103. EvtLogNumberOfLogRecords = 5,
  104. EvtLogOldestRecordNumber = 6,
  105. EvtLogFull = 7
  106. } EVT_LOG_PROPERTY_ID;
  107. typedef enum _EVT_LOGIN_CLASS {
  108. EvtRpcLogin = 1
  109. } EVT_LOGIN_CLASS;
  110. typedef enum _EVT_OPEN_LOG_FLAGS {
  111. EvtOpenChannelPath = 0x1,
  112. EvtOpenFilePath = 0x2
  113. } EVT_OPEN_LOG_FLAGS;
  114. typedef enum _EVT_PUBLISHER_METADATA_PROPERTY_ID {
  115. EvtPublisherMetadataPublisherGuid = 0,
  116. EvtPublisherMetadataResourceFilePath,
  117. EvtPublisherMetadataParameterFilePath,
  118. EvtPublisherMetadataMessageFilePath,
  119. EvtPublisherMetadataHelpLink,
  120. EvtPublisherMetadataPublisherMessageID,
  121. EvtPublisherMetadataChannelReferences,
  122. EvtPublisherMetadataChannelReferencePath,
  123. EvtPublisherMetadataChannelReferenceIndex,
  124. EvtPublisherMetadataChannelReferenceID,
  125. EvtPublisherMetadataChannelReferenceFlags,
  126. EvtPublisherMetadataChannelReferenceMessageID,
  127. EvtPublisherMetadataLevels,
  128. EvtPublisherMetadataLevelName,
  129. EvtPublisherMetadataLevelValue,
  130. EvtPublisherMetadataLevelMessageID,
  131. EvtPublisherMetadataTasks,
  132. EvtPublisherMetadataTaskName,
  133. EvtPublisherMetadataTaskEventGuid,
  134. EvtPublisherMetadataTaskValue,
  135. EvtPublisherMetadataTaskMessageID,
  136. EvtPublisherMetadataOpcodes,
  137. EvtPublisherMetadataOpcodeName,
  138. EvtPublisherMetadataOpcodeValue,
  139. EvtPublisherMetadataOpcodeMessageID,
  140. EvtPublisherMetadataKeywords,
  141. EvtPublisherMetadataKeywordName,
  142. EvtPublisherMetadataKeywordValue,
  143. EvtPublisherMetadataKeywordMessageID,
  144. EvtPublisherMetadataPropertyIdEND
  145. } EVT_PUBLISHER_METADATA_PROPERTY_ID;
  146. typedef enum _EVT_QUERY_FLAGS {
  147. EvtQueryChannelPath = 0x1,
  148. EvtQueryFilePath = 0x2,
  149. EvtQueryForwardDirection = 0x100,
  150. EvtQueryReverseDirection = 0x200,
  151. EvtQueryTolerateQueryErrors = 0x1000
  152. } EVT_QUERY_FLAGS;
  153. typedef enum _EVT_QUERY_PROPERTY_ID {
  154. EvtQueryNames = 0,
  155. EvtQueryStatuses = 1,
  156. EvtQueryPropertyIdEND = 2
  157. } EVT_QUERY_PROPERTY_ID;
  158. typedef enum _EVT_RENDER_CONTEXT_FLAGS {
  159. EvtRenderContextValues = 0,
  160. EvtRenderContextSystem = 1,
  161. EvtRenderContextUser = 2
  162. } EVT_RENDER_CONTEXT_FLAGS;
  163. typedef enum _EVT_RENDER_FLAGS {
  164. EvtRenderEventValues = 0,
  165. EvtRenderEventXml = 1,
  166. EvtRenderBookmark = 2
  167. } EVT_RENDER_FLAGS;
  168. typedef struct _EVT_RPC_LOGIN {
  169. LPWSTR Server;
  170. LPWSTR User;
  171. LPWSTR Domain;
  172. LPWSTR Password;
  173. DWORD Flags;
  174. } EVT_RPC_LOGIN;
  175. typedef enum _EVT_RPC_LOGIN_FLAGS {
  176. EvtRpcLoginAuthDefault = 0,
  177. EvtRpcLoginAuthNegotiate = 1,
  178. EvtRpcLoginAuthKerberos = 2,
  179. EvtRpcLoginAuthNTLM = 3
  180. } EVT_RPC_LOGIN_FLAGS;
  181. typedef enum _EVT_SEEK_FLAGS {
  182. EvtSeekRelativeToFirst = 1,
  183. EvtSeekRelativeToLast = 2,
  184. EvtSeekRelativeToCurrent = 3,
  185. EvtSeekRelativeToBookmark = 4,
  186. EvtSeekOriginMask = 7,
  187. EvtSeekStrict = 0x10000
  188. } EVT_SEEK_FLAGS;
  189. typedef enum _EVT_SUBSCRIBE_FLAGS {
  190. EvtSubscribeToFutureEvents = 1,
  191. EvtSubscribeStartAtOldestRecord = 2,
  192. EvtSubscribeStartAfterBookmark = 3,
  193. EvtSubscribeOriginMask = 0x3,
  194. EvtSubscribeTolerateQueryErrors = 0x1000,
  195. EvtSubscribeStrict = 0x10000
  196. } EVT_SUBSCRIBE_FLAGS;
  197. typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION {
  198. EvtSubscribeActionError = 0,
  199. EvtSubscribeActionDeliver = 1
  200. } EVT_SUBSCRIBE_NOTIFY_ACTION;
  201. typedef enum _EVT_SYSTEM_PROPERTY_ID {
  202. EvtSystemProviderName = 0,
  203. EvtSystemProviderGuid,
  204. EvtSystemEventID,
  205. EvtSystemQualifiers,
  206. EvtSystemLevel,
  207. EvtSystemTask,
  208. EvtSystemOpcode,
  209. EvtSystemKeywords,
  210. EvtSystemTimeCreated,
  211. EvtSystemEventRecordId,
  212. EvtSystemActivityID,
  213. EvtSystemRelatedActivityID,
  214. EvtSystemProcessID,
  215. EvtSystemThreadID,
  216. EvtSystemChannel,
  217. EvtSystemComputer,
  218. EvtSystemUserID,
  219. EvtSystemVersion,
  220. EvtSystemPropertyIdEND
  221. } EVT_SYSTEM_PROPERTY_ID;
  222. typedef enum _EVT_VARIANT_TYPE {
  223. EvtVarTypeNull = 0,
  224. EvtVarTypeString = 1,
  225. EvtVarTypeAnsiString = 2,
  226. EvtVarTypeSByte = 3,
  227. EvtVarTypeByte = 4,
  228. EvtVarTypeInt16 = 5,
  229. EvtVarTypeUInt16 = 6,
  230. EvtVarTypeInt32 = 7,
  231. EvtVarTypeUInt32 = 8,
  232. EvtVarTypeInt64 = 9,
  233. EvtVarTypeUInt64 = 10,
  234. EvtVarTypeSingle = 11,
  235. EvtVarTypeDouble = 12,
  236. EvtVarTypeBoolean = 13,
  237. EvtVarTypeBinary = 14,
  238. EvtVarTypeGuid = 15,
  239. EvtVarTypeSizeT = 16,
  240. EvtVarTypeFileTime = 17,
  241. EvtVarTypeSysTime = 18,
  242. EvtVarTypeSid = 19,
  243. EvtVarTypeHexInt32 = 20,
  244. EvtVarTypeHexInt64 = 21,
  245. EvtVarTypeEvtHandle = 32,
  246. EvtVarTypeEvtXml = 35
  247. } EVT_VARIANT_TYPE;
  248. #define EVT_VARIANT_TYPE_MASK 0x7f
  249. #define EVT_VARIANT_TYPE_ARRAY 128
  250. typedef HANDLE EVT_HANDLE;
  251. typedef HANDLE EVT_OBJECT_ARRAY_PROPERTY_HANDLE;
  252. typedef struct _EVT_VARIANT {
  253. __C89_NAMELESS union {
  254. WINBOOL BooleanVal;
  255. INT8 SByteVal;
  256. INT16 Int16Val;
  257. INT32 Int32Val;
  258. INT64 Int64Val;
  259. UINT8 ByteVal;
  260. UINT16 UInt16Val;
  261. UINT32 UInt32Val;
  262. UINT64 UInt64Val;
  263. float SingleVal;
  264. double DoubleVal;
  265. ULONGLONG FileTimeVal;
  266. SYSTEMTIME *SysTimeVal;
  267. GUID *GuidVal;
  268. LPCWSTR StringVal;
  269. LPCSTR AnsiStringVal;
  270. PBYTE BinaryVal;
  271. PSID SidVal;
  272. size_t SizeTVal;
  273. EVT_HANDLE EvtHandleVal;
  274. BOOL *BooleanArr;
  275. INT8 *SByteArr;
  276. INT16 *Int16Arr;
  277. INT32 *Int32Arr;
  278. INT64 *Int64Arr;
  279. UINT8 *ByteArr;
  280. UINT16 *UInt16Arr;
  281. UINT32 *UInt32Arr;
  282. UINT64 *UInt64Arr;
  283. float *SingleArr;
  284. double *DoubleArr;
  285. FILETIME *FileTimeArr;
  286. SYSTEMTIME *SysTimeArr;
  287. GUID *GuidArr;
  288. LPWSTR *StringArr;
  289. LPSTR *AnsiStringArr;
  290. PSID *SidArr;
  291. size_t *SizeTArr;
  292. LPCWSTR XmlVal;
  293. LPCWSTR* XmlValArr;
  294. };
  295. DWORD Count;
  296. DWORD Type;
  297. } EVT_VARIANT, *PEVT_VARIANT;
  298. typedef DWORD ( WINAPI *EVT_SUBSCRIBE_CALLBACK )(
  299. EVT_SUBSCRIBE_NOTIFY_ACTION Action,
  300. PVOID UserContext,
  301. EVT_HANDLE Event
  302. );
  303. WINBOOL WINAPI EvtArchiveExportedLog(
  304. EVT_HANDLE Session,
  305. LPCWSTR LogFilePath,
  306. LCID Locale,
  307. DWORD Flags
  308. );
  309. WINBOOL WINAPI EvtCancel(
  310. EVT_HANDLE Object
  311. );
  312. WINBOOL WINAPI EvtClearLog(
  313. EVT_HANDLE Session,
  314. LPCWSTR ChannelPath,
  315. LPCWSTR TargetFilePath,
  316. DWORD Flags
  317. );
  318. WINBOOL WINAPI EvtClose(
  319. EVT_HANDLE Object
  320. );
  321. EVT_HANDLE WINAPI EvtCreateBookmark(
  322. LPCWSTR BookmarkXml
  323. );
  324. EVT_HANDLE WINAPI EvtCreateRenderContext(
  325. DWORD ValuePathsCount,
  326. LPCWSTR *ValuePaths,
  327. DWORD Flags
  328. );
  329. WINBOOL WINAPI EvtExportLog(
  330. EVT_HANDLE Session,
  331. LPCWSTR Path,
  332. LPCWSTR Query,
  333. LPCWSTR TargetFilePath,
  334. DWORD Flags
  335. );
  336. WINBOOL WINAPI EvtFormatMessage(
  337. EVT_HANDLE PublisherMetadata,
  338. EVT_HANDLE Event,
  339. DWORD MessageId,
  340. DWORD ValueCount,
  341. PEVT_VARIANT Values,
  342. DWORD Flags,
  343. DWORD BufferSize,
  344. LPWSTR Buffer,
  345. PDWORD BufferUsed
  346. );
  347. WINBOOL WINAPI EvtGetChannelConfigProperty(
  348. EVT_HANDLE ChannelConfig,
  349. EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
  350. DWORD Flags,
  351. DWORD PropertyValueBufferSize,
  352. PEVT_VARIANT PropertyValueBuffer,
  353. PDWORD PropertyValueBufferUsed
  354. );
  355. WINBOOL WINAPI EvtGetEventInfo(
  356. EVT_HANDLE Event,
  357. EVT_EVENT_PROPERTY_ID PropertyId,
  358. DWORD PropertyValueBufferSize,
  359. PEVT_VARIANT PropertyValueBuffer,
  360. PDWORD PropertyValueBufferUsed
  361. );
  362. WINBOOL WINAPI EvtGetEventMetadataProperty(
  363. EVT_HANDLE EventMetadata,
  364. EVT_EVENT_METADATA_PROPERTY_ID PropertyId,
  365. DWORD Flags,
  366. DWORD EventMetadataPropertyBufferSize,
  367. PEVT_VARIANT EventMetadataPropertyBuffer,
  368. PDWORD EventMetadataPropertyBufferUsed
  369. );
  370. DWORD WINAPI EvtGetExtendedStatus(
  371. DWORD BufferSize,
  372. LPWSTR Buffer,
  373. PDWORD BufferUsed
  374. );
  375. WINBOOL WINAPI EvtGetLogInfo(
  376. EVT_HANDLE Log,
  377. EVT_LOG_PROPERTY_ID PropertyId,
  378. DWORD PropertyValueBufferSize,
  379. PEVT_VARIANT PropertyValueBuffer,
  380. PDWORD PropertyValueBufferUsed
  381. );
  382. WINBOOL WINAPI EvtGetObjectArrayProperty(
  383. EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  384. DWORD PropertyId,
  385. DWORD ArrayIndex,
  386. DWORD Flags,
  387. DWORD PropertyValueBufferSize,
  388. PEVT_VARIANT PropertyValueBuffer,
  389. PDWORD PropertyValueBufferUsed
  390. );
  391. WINBOOL WINAPI EvtGetObjectArraySize(
  392. EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  393. PDWORD ObjectArraySize
  394. );
  395. WINBOOL WINAPI EvtGetPublisherMetadataProperty(
  396. EVT_HANDLE PublisherMetadata,
  397. EVT_PUBLISHER_METADATA_PROPERTY_ID PropertyId,
  398. DWORD Flags,
  399. DWORD PublisherMetadataPropertyBufferSize,
  400. PEVT_VARIANT PublisherMetadataPropertyBuffer,
  401. PDWORD PublisherMetadataPropertyBufferUsed
  402. );
  403. WINBOOL WINAPI EvtGetQueryInfo(
  404. EVT_HANDLE QueryOrSubscription,
  405. EVT_QUERY_PROPERTY_ID PropertyId,
  406. DWORD PropertyValueBufferSize,
  407. PEVT_VARIANT PropertyValueBuffer,
  408. PDWORD PropertyValueBufferUsed
  409. );
  410. WINBOOL WINAPI EvtNext(
  411. EVT_HANDLE ResultSet,
  412. DWORD EventArraySize,
  413. EVT_HANDLE* EventArray,
  414. DWORD Timeout,
  415. DWORD Flags,
  416. PDWORD Returned
  417. );
  418. WINBOOL WINAPI EvtNextChannelPath(
  419. EVT_HANDLE ChannelEnum,
  420. DWORD ChannelPathBufferSize,
  421. LPWSTR ChannelPathBuffer,
  422. PDWORD ChannelPathBufferUsed
  423. );
  424. EVT_HANDLE WINAPI EvtNextEventMetadata(
  425. EVT_HANDLE EventMetadataEnum,
  426. DWORD Flags
  427. );
  428. WINBOOL WINAPI EvtNextPublisherId(
  429. EVT_HANDLE PublisherEnum,
  430. DWORD PublisherIdBufferSize,
  431. LPWSTR PublisherIdBuffer,
  432. PDWORD PublisherIdBufferUsed
  433. );
  434. EVT_HANDLE WINAPI EvtOpenChannelConfig(
  435. EVT_HANDLE Session,
  436. LPCWSTR ChannelPath,
  437. DWORD Flags
  438. );
  439. EVT_HANDLE WINAPI EvtOpenChannelEnum(
  440. EVT_HANDLE Session,
  441. DWORD Flags
  442. );
  443. EVT_HANDLE WINAPI EvtOpenEventMetadataEnum(
  444. EVT_HANDLE PublisherMetadata,
  445. DWORD Flags
  446. );
  447. EVT_HANDLE WINAPI EvtOpenLog(
  448. EVT_HANDLE Session,
  449. LPCWSTR Path,
  450. DWORD Flags
  451. );
  452. EVT_HANDLE WINAPI EvtOpenPublisherEnum(
  453. EVT_HANDLE Session,
  454. DWORD Flags
  455. );
  456. EVT_HANDLE WINAPI EvtOpenPublisherMetadata(
  457. EVT_HANDLE Session,
  458. LPCWSTR PublisherIdentity,
  459. LPCWSTR LogFilePath,
  460. LCID Locale,
  461. DWORD Flags
  462. );
  463. EVT_HANDLE WINAPI EvtOpenSession(
  464. EVT_LOGIN_CLASS LoginClass,
  465. PVOID Login,
  466. DWORD Timeout,
  467. DWORD Flags
  468. );
  469. EVT_HANDLE WINAPI EvtQuery(
  470. EVT_HANDLE Session,
  471. LPCWSTR Path,
  472. LPCWSTR Query,
  473. DWORD Flags
  474. );
  475. WINBOOL WINAPI EvtRender(
  476. EVT_HANDLE Context,
  477. EVT_HANDLE Fragment,
  478. DWORD Flags,
  479. DWORD BufferSize,
  480. PVOID Buffer,
  481. PDWORD BufferUsed,
  482. PDWORD PropertyCount
  483. );
  484. WINBOOL WINAPI EvtSaveChannelConfig(
  485. EVT_HANDLE ChannelConfig,
  486. DWORD Flags
  487. );
  488. WINBOOL WINAPI EvtSeek(
  489. EVT_HANDLE ResultSet,
  490. LONGLONG Position,
  491. EVT_HANDLE Bookmark,
  492. DWORD Timeout,
  493. DWORD Flags
  494. );
  495. WINBOOL WINAPI EvtSetChannelConfigProperty(
  496. EVT_HANDLE ChannelConfig,
  497. EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
  498. DWORD Flags,
  499. PEVT_VARIANT PropertyValue
  500. );
  501. EVT_HANDLE WINAPI EvtSubscribe(
  502. EVT_HANDLE Session,
  503. HANDLE SignalEvent,
  504. LPCWSTR ChannelPath,
  505. LPCWSTR Query,
  506. EVT_HANDLE Bookmark,
  507. PVOID context,
  508. EVT_SUBSCRIBE_CALLBACK Callback,
  509. DWORD Flags
  510. );
  511. WINBOOL WINAPI EvtUpdateBookmark(
  512. EVT_HANDLE Bookmark,
  513. EVT_HANDLE Event
  514. );
  515. #ifdef __cplusplus
  516. }
  517. #endif
  518. #endif /*(_WIN32_WINNT >= 0x0600)*/
  519. #endif /* WINAPI_PARTITION_DESKTOP */
  520. #endif /*__WINEVT_H__ */