| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef __WINEVT_H__ | |
| #define __WINEVT_H__ | |
| #include <winapifamily.h> | |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | |
| #if (_WIN32_WINNT >= 0x0600) | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #define EVT_READ_ACCESS 0x1 | |
| #define EVT_WRITE_ACCESS 0x2 | |
| #define EVT_CLEAR_ACCESS 0x4 | |
| #define EVT_ALL_ACCESS 0x7 | |
| typedef enum _EVT_CHANNEL_CLOCK_TYPE { | |
| EvtChannelClockTypeSystemTime = 0, | |
| EvtChannelClockTypeQPC = 1 | |
| } EVT_CHANNEL_CLOCK_TYPE; | |
| typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID { | |
| EvtChannelConfigEnabled = 0, | |
| EvtChannelConfigIsolation = 1, | |
| EvtChannelConfigType = 2, | |
| EvtChannelConfigOwningPublisher = 3, | |
| EvtChannelConfigClassicEventlog = 4, | |
| EvtChannelConfigAccess = 5, | |
| EvtChannelLoggingConfigRetention = 6, | |
| EvtChannelLoggingConfigAutoBackup = 7, | |
| EvtChannelLoggingConfigMaxSize = 8, | |
| EvtChannelLoggingConfigLogFilePath = 9, | |
| EvtChannelPublishingConfigLevel = 10, | |
| EvtChannelPublishingConfigKeywords = 11, | |
| EvtChannelPublishingConfigControlGuid = 12, | |
| EvtChannelPublishingConfigBufferSize = 13, | |
| EvtChannelPublishingConfigMinBuffers = 14, | |
| EvtChannelPublishingConfigMaxBuffers = 15, | |
| EvtChannelPublishingConfigLatency = 16, | |
| EvtChannelPublishingConfigClockType = 17, | |
| EvtChannelPublishingConfigSidType = 18, | |
| EvtChannelPublisherList = 19, | |
| EvtChannelPublishingConfigFileMax = 20, | |
| EvtChannelConfigPropertyIdEND = 21 | |
| } EVT_CHANNEL_CONFIG_PROPERTY_ID; | |
| typedef enum _EVT_CHANNEL_ISOLATION_TYPE { | |
| EvtChannelIsolationTypeApplication = 0, | |
| EvtChannelIsolationTypeSystem = 1, | |
| EvtChannelIsolationTypeCustom = 2 | |
| } EVT_CHANNEL_ISOLATION_TYPE; | |
| typedef enum _EVT_CHANNEL_REFERENCE_FLAGS { | |
| EvtChannelReferenceImported = 0x1 | |
| } EVT_CHANNEL_REFERENCE_FLAGS; | |
| typedef enum _EVT_CHANNEL_SID_TYPE { | |
| EvtChannelSidTypeNone = 0, | |
| EvtChannelSidTypePublishing = 1 | |
| } EVT_CHANNEL_SID_TYPE; | |
| typedef enum _EVT_CHANNEL_TYPE { | |
| EvtChannelTypeAdmin = 0, | |
| EvtChannelTypeOperational = 1, | |
| EvtChannelTypeAnalytic = 2, | |
| EvtChannelTypeDebug = 3 | |
| } EVT_CHANNEL_TYPE; | |
| typedef enum _EVT_EVENT_METADATA_PROPERTY_ID { | |
| EventMetadataEventID = 0, | |
| EventMetadataEventVersion = 1, | |
| EventMetadataEventChannel = 2, | |
| EventMetadataEventLevel = 3, | |
| EventMetadataEventOpcode = 4, | |
| EventMetadataEventTask = 5, | |
| EventMetadataEventKeyword = 6, | |
| EventMetadataEventMessageID = 7, | |
| EventMetadataEventTemplate = 8, | |
| EvtEventMetadataPropertyIdEND = 9 | |
| } EVT_EVENT_METADATA_PROPERTY_ID; | |
| typedef enum _EVT_EVENT_PROPERTY_ID { | |
| EvtEventQueryIDs = 0, | |
| EvtEventPath = 1, | |
| EvtEventPropertyIdEND = 2 | |
| } EVT_EVENT_PROPERTY_ID; | |
| typedef enum _EVT_EXPORTLOG_FLAGS { | |
| EvtExportLogChannelPath = 0x1, | |
| EvtExportLogFilePath = 0x2, | |
| EvtExportLogTolerateQueryErrors = 0x1000 | |
| } EVT_EXPORTLOG_FLAGS; | |
| typedef enum _EVT_FORMAT_MESSAGE_FLAGS { | |
| EvtFormatMessageEvent = 1, | |
| EvtFormatMessageLevel = 2, | |
| EvtFormatMessageTask = 3, | |
| EvtFormatMessageOpcode = 4, | |
| EvtFormatMessageKeyword = 5, | |
| EvtFormatMessageChannel = 6, | |
| EvtFormatMessageProvider = 7, | |
| EvtFormatMessageId = 8, | |
| EvtFormatMessageXml = 9 | |
| } EVT_FORMAT_MESSAGE_FLAGS; | |
| typedef enum _EVT_LOG_PROPERTY_ID { | |
| EvtLogCreationTime = 0, | |
| EvtLogLastAccessTime = 1, | |
| EvtLogLastWriteTime = 2, | |
| EvtLogFileSize = 3, | |
| EvtLogAttributes = 4, | |
| EvtLogNumberOfLogRecords = 5, | |
| EvtLogOldestRecordNumber = 6, | |
| EvtLogFull = 7 | |
| } EVT_LOG_PROPERTY_ID; | |
| typedef enum _EVT_LOGIN_CLASS { | |
| EvtRpcLogin = 1 | |
| } EVT_LOGIN_CLASS; | |
| typedef enum _EVT_OPEN_LOG_FLAGS { | |
| EvtOpenChannelPath = 0x1, | |
| EvtOpenFilePath = 0x2 | |
| } EVT_OPEN_LOG_FLAGS; | |
| typedef enum _EVT_PUBLISHER_METADATA_PROPERTY_ID { | |
| EvtPublisherMetadataPublisherGuid = 0, | |
| EvtPublisherMetadataResourceFilePath, | |
| EvtPublisherMetadataParameterFilePath, | |
| EvtPublisherMetadataMessageFilePath, | |
| EvtPublisherMetadataHelpLink, | |
| EvtPublisherMetadataPublisherMessageID, | |
| EvtPublisherMetadataChannelReferences, | |
| EvtPublisherMetadataChannelReferencePath, | |
| EvtPublisherMetadataChannelReferenceIndex, | |
| EvtPublisherMetadataChannelReferenceID, | |
| EvtPublisherMetadataChannelReferenceFlags, | |
| EvtPublisherMetadataChannelReferenceMessageID, | |
| EvtPublisherMetadataLevels, | |
| EvtPublisherMetadataLevelName, | |
| EvtPublisherMetadataLevelValue, | |
| EvtPublisherMetadataLevelMessageID, | |
| EvtPublisherMetadataTasks, | |
| EvtPublisherMetadataTaskName, | |
| EvtPublisherMetadataTaskEventGuid, | |
| EvtPublisherMetadataTaskValue, | |
| EvtPublisherMetadataTaskMessageID, | |
| EvtPublisherMetadataOpcodes, | |
| EvtPublisherMetadataOpcodeName, | |
| EvtPublisherMetadataOpcodeValue, | |
| EvtPublisherMetadataOpcodeMessageID, | |
| EvtPublisherMetadataKeywords, | |
| EvtPublisherMetadataKeywordName, | |
| EvtPublisherMetadataKeywordValue, | |
| EvtPublisherMetadataKeywordMessageID, | |
| EvtPublisherMetadataPropertyIdEND | |
| } EVT_PUBLISHER_METADATA_PROPERTY_ID; | |
| typedef enum _EVT_QUERY_FLAGS { | |
| EvtQueryChannelPath = 0x1, | |
| EvtQueryFilePath = 0x2, | |
| EvtQueryForwardDirection = 0x100, | |
| EvtQueryReverseDirection = 0x200, | |
| EvtQueryTolerateQueryErrors = 0x1000 | |
| } EVT_QUERY_FLAGS; | |
| typedef enum _EVT_QUERY_PROPERTY_ID { | |
| EvtQueryNames = 0, | |
| EvtQueryStatuses = 1, | |
| EvtQueryPropertyIdEND = 2 | |
| } EVT_QUERY_PROPERTY_ID; | |
| typedef enum _EVT_RENDER_CONTEXT_FLAGS { | |
| EvtRenderContextValues = 0, | |
| EvtRenderContextSystem = 1, | |
| EvtRenderContextUser = 2 | |
| } EVT_RENDER_CONTEXT_FLAGS; | |
| typedef enum _EVT_RENDER_FLAGS { | |
| EvtRenderEventValues = 0, | |
| EvtRenderEventXml = 1, | |
| EvtRenderBookmark = 2 | |
| } EVT_RENDER_FLAGS; | |
| typedef struct _EVT_RPC_LOGIN { | |
| LPWSTR Server; | |
| LPWSTR User; | |
| LPWSTR Domain; | |
| LPWSTR Password; | |
| DWORD Flags; | |
| } EVT_RPC_LOGIN; | |
| typedef enum _EVT_RPC_LOGIN_FLAGS { | |
| EvtRpcLoginAuthDefault = 0, | |
| EvtRpcLoginAuthNegotiate = 1, | |
| EvtRpcLoginAuthKerberos = 2, | |
| EvtRpcLoginAuthNTLM = 3 | |
| } EVT_RPC_LOGIN_FLAGS; | |
| typedef enum _EVT_SEEK_FLAGS { | |
| EvtSeekRelativeToFirst = 1, | |
| EvtSeekRelativeToLast = 2, | |
| EvtSeekRelativeToCurrent = 3, | |
| EvtSeekRelativeToBookmark = 4, | |
| EvtSeekOriginMask = 7, | |
| EvtSeekStrict = 0x10000 | |
| } EVT_SEEK_FLAGS; | |
| typedef enum _EVT_SUBSCRIBE_FLAGS { | |
| EvtSubscribeToFutureEvents = 1, | |
| EvtSubscribeStartAtOldestRecord = 2, | |
| EvtSubscribeStartAfterBookmark = 3, | |
| EvtSubscribeOriginMask = 0x3, | |
| EvtSubscribeTolerateQueryErrors = 0x1000, | |
| EvtSubscribeStrict = 0x10000 | |
| } EVT_SUBSCRIBE_FLAGS; | |
| typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION { | |
| EvtSubscribeActionError = 0, | |
| EvtSubscribeActionDeliver = 1 | |
| } EVT_SUBSCRIBE_NOTIFY_ACTION; | |
| typedef enum _EVT_SYSTEM_PROPERTY_ID { | |
| EvtSystemProviderName = 0, | |
| EvtSystemProviderGuid, | |
| EvtSystemEventID, | |
| EvtSystemQualifiers, | |
| EvtSystemLevel, | |
| EvtSystemTask, | |
| EvtSystemOpcode, | |
| EvtSystemKeywords, | |
| EvtSystemTimeCreated, | |
| EvtSystemEventRecordId, | |
| EvtSystemActivityID, | |
| EvtSystemRelatedActivityID, | |
| EvtSystemProcessID, | |
| EvtSystemThreadID, | |
| EvtSystemChannel, | |
| EvtSystemComputer, | |
| EvtSystemUserID, | |
| EvtSystemVersion, | |
| EvtSystemPropertyIdEND | |
| } EVT_SYSTEM_PROPERTY_ID; | |
| typedef enum _EVT_VARIANT_TYPE { | |
| EvtVarTypeNull = 0, | |
| EvtVarTypeString = 1, | |
| EvtVarTypeAnsiString = 2, | |
| EvtVarTypeSByte = 3, | |
| EvtVarTypeByte = 4, | |
| EvtVarTypeInt16 = 5, | |
| EvtVarTypeUInt16 = 6, | |
| EvtVarTypeInt32 = 7, | |
| EvtVarTypeUInt32 = 8, | |
| EvtVarTypeInt64 = 9, | |
| EvtVarTypeUInt64 = 10, | |
| EvtVarTypeSingle = 11, | |
| EvtVarTypeDouble = 12, | |
| EvtVarTypeBoolean = 13, | |
| EvtVarTypeBinary = 14, | |
| EvtVarTypeGuid = 15, | |
| EvtVarTypeSizeT = 16, | |
| EvtVarTypeFileTime = 17, | |
| EvtVarTypeSysTime = 18, | |
| EvtVarTypeSid = 19, | |
| EvtVarTypeHexInt32 = 20, | |
| EvtVarTypeHexInt64 = 21, | |
| EvtVarTypeEvtHandle = 32, | |
| EvtVarTypeEvtXml = 35 | |
| } EVT_VARIANT_TYPE; | |
| #define EVT_VARIANT_TYPE_MASK 0x7f | |
| #define EVT_VARIANT_TYPE_ARRAY 128 | |
| typedef HANDLE EVT_HANDLE; | |
| typedef HANDLE EVT_OBJECT_ARRAY_PROPERTY_HANDLE; | |
| typedef struct _EVT_VARIANT { | |
| __C89_NAMELESS union { | |
| WINBOOL BooleanVal; | |
| INT8 SByteVal; | |
| INT16 Int16Val; | |
| INT32 Int32Val; | |
| INT64 Int64Val; | |
| UINT8 ByteVal; | |
| UINT16 UInt16Val; | |
| UINT32 UInt32Val; | |
| UINT64 UInt64Val; | |
| float SingleVal; | |
| double DoubleVal; | |
| ULONGLONG FileTimeVal; | |
| SYSTEMTIME *SysTimeVal; | |
| GUID *GuidVal; | |
| LPCWSTR StringVal; | |
| LPCSTR AnsiStringVal; | |
| PBYTE BinaryVal; | |
| PSID SidVal; | |
| size_t SizeTVal; | |
| EVT_HANDLE EvtHandleVal; | |
| BOOL *BooleanArr; | |
| INT8 *SByteArr; | |
| INT16 *Int16Arr; | |
| INT32 *Int32Arr; | |
| INT64 *Int64Arr; | |
| UINT8 *ByteArr; | |
| UINT16 *UInt16Arr; | |
| UINT32 *UInt32Arr; | |
| UINT64 *UInt64Arr; | |
| float *SingleArr; | |
| double *DoubleArr; | |
| FILETIME *FileTimeArr; | |
| SYSTEMTIME *SysTimeArr; | |
| GUID *GuidArr; | |
| LPWSTR *StringArr; | |
| LPSTR *AnsiStringArr; | |
| PSID *SidArr; | |
| size_t *SizeTArr; | |
| LPCWSTR XmlVal; | |
| LPCWSTR* XmlValArr; | |
| }; | |
| DWORD Count; | |
| DWORD Type; | |
| } EVT_VARIANT, *PEVT_VARIANT; | |
| typedef DWORD ( WINAPI *EVT_SUBSCRIBE_CALLBACK )( | |
| EVT_SUBSCRIBE_NOTIFY_ACTION Action, | |
| PVOID UserContext, | |
| EVT_HANDLE Event | |
| ); | |
| WINBOOL WINAPI EvtArchiveExportedLog( | |
| EVT_HANDLE Session, | |
| LPCWSTR LogFilePath, | |
| LCID Locale, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtCancel( | |
| EVT_HANDLE Object | |
| ); | |
| WINBOOL WINAPI EvtClearLog( | |
| EVT_HANDLE Session, | |
| LPCWSTR ChannelPath, | |
| LPCWSTR TargetFilePath, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtClose( | |
| EVT_HANDLE Object | |
| ); | |
| EVT_HANDLE WINAPI EvtCreateBookmark( | |
| LPCWSTR BookmarkXml | |
| ); | |
| EVT_HANDLE WINAPI EvtCreateRenderContext( | |
| DWORD ValuePathsCount, | |
| LPCWSTR *ValuePaths, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtExportLog( | |
| EVT_HANDLE Session, | |
| LPCWSTR Path, | |
| LPCWSTR Query, | |
| LPCWSTR TargetFilePath, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtFormatMessage( | |
| EVT_HANDLE PublisherMetadata, | |
| EVT_HANDLE Event, | |
| DWORD MessageId, | |
| DWORD ValueCount, | |
| PEVT_VARIANT Values, | |
| DWORD Flags, | |
| DWORD BufferSize, | |
| LPWSTR Buffer, | |
| PDWORD BufferUsed | |
| ); | |
| WINBOOL WINAPI EvtGetChannelConfigProperty( | |
| EVT_HANDLE ChannelConfig, | |
| EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId, | |
| DWORD Flags, | |
| DWORD PropertyValueBufferSize, | |
| PEVT_VARIANT PropertyValueBuffer, | |
| PDWORD PropertyValueBufferUsed | |
| ); | |
| WINBOOL WINAPI EvtGetEventInfo( | |
| EVT_HANDLE Event, | |
| EVT_EVENT_PROPERTY_ID PropertyId, | |
| DWORD PropertyValueBufferSize, | |
| PEVT_VARIANT PropertyValueBuffer, | |
| PDWORD PropertyValueBufferUsed | |
| ); | |
| WINBOOL WINAPI EvtGetEventMetadataProperty( | |
| EVT_HANDLE EventMetadata, | |
| EVT_EVENT_METADATA_PROPERTY_ID PropertyId, | |
| DWORD Flags, | |
| DWORD EventMetadataPropertyBufferSize, | |
| PEVT_VARIANT EventMetadataPropertyBuffer, | |
| PDWORD EventMetadataPropertyBufferUsed | |
| ); | |
| DWORD WINAPI EvtGetExtendedStatus( | |
| DWORD BufferSize, | |
| LPWSTR Buffer, | |
| PDWORD BufferUsed | |
| ); | |
| WINBOOL WINAPI EvtGetLogInfo( | |
| EVT_HANDLE Log, | |
| EVT_LOG_PROPERTY_ID PropertyId, | |
| DWORD PropertyValueBufferSize, | |
| PEVT_VARIANT PropertyValueBuffer, | |
| PDWORD PropertyValueBufferUsed | |
| ); | |
| WINBOOL WINAPI EvtGetObjectArrayProperty( | |
| EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, | |
| DWORD PropertyId, | |
| DWORD ArrayIndex, | |
| DWORD Flags, | |
| DWORD PropertyValueBufferSize, | |
| PEVT_VARIANT PropertyValueBuffer, | |
| PDWORD PropertyValueBufferUsed | |
| ); | |
| WINBOOL WINAPI EvtGetObjectArraySize( | |
| EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, | |
| PDWORD ObjectArraySize | |
| ); | |
| WINBOOL WINAPI EvtGetPublisherMetadataProperty( | |
| EVT_HANDLE PublisherMetadata, | |
| EVT_PUBLISHER_METADATA_PROPERTY_ID PropertyId, | |
| DWORD Flags, | |
| DWORD PublisherMetadataPropertyBufferSize, | |
| PEVT_VARIANT PublisherMetadataPropertyBuffer, | |
| PDWORD PublisherMetadataPropertyBufferUsed | |
| ); | |
| WINBOOL WINAPI EvtGetQueryInfo( | |
| EVT_HANDLE QueryOrSubscription, | |
| EVT_QUERY_PROPERTY_ID PropertyId, | |
| DWORD PropertyValueBufferSize, | |
| PEVT_VARIANT PropertyValueBuffer, | |
| PDWORD PropertyValueBufferUsed | |
| ); | |
| WINBOOL WINAPI EvtNext( | |
| EVT_HANDLE ResultSet, | |
| DWORD EventArraySize, | |
| EVT_HANDLE* EventArray, | |
| DWORD Timeout, | |
| DWORD Flags, | |
| PDWORD Returned | |
| ); | |
| WINBOOL WINAPI EvtNextChannelPath( | |
| EVT_HANDLE ChannelEnum, | |
| DWORD ChannelPathBufferSize, | |
| LPWSTR ChannelPathBuffer, | |
| PDWORD ChannelPathBufferUsed | |
| ); | |
| EVT_HANDLE WINAPI EvtNextEventMetadata( | |
| EVT_HANDLE EventMetadataEnum, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtNextPublisherId( | |
| EVT_HANDLE PublisherEnum, | |
| DWORD PublisherIdBufferSize, | |
| LPWSTR PublisherIdBuffer, | |
| PDWORD PublisherIdBufferUsed | |
| ); | |
| EVT_HANDLE WINAPI EvtOpenChannelConfig( | |
| EVT_HANDLE Session, | |
| LPCWSTR ChannelPath, | |
| DWORD Flags | |
| ); | |
| EVT_HANDLE WINAPI EvtOpenChannelEnum( | |
| EVT_HANDLE Session, | |
| DWORD Flags | |
| ); | |
| EVT_HANDLE WINAPI EvtOpenEventMetadataEnum( | |
| EVT_HANDLE PublisherMetadata, | |
| DWORD Flags | |
| ); | |
| EVT_HANDLE WINAPI EvtOpenLog( | |
| EVT_HANDLE Session, | |
| LPCWSTR Path, | |
| DWORD Flags | |
| ); | |
| EVT_HANDLE WINAPI EvtOpenPublisherEnum( | |
| EVT_HANDLE Session, | |
| DWORD Flags | |
| ); | |
| EVT_HANDLE WINAPI EvtOpenPublisherMetadata( | |
| EVT_HANDLE Session, | |
| LPCWSTR PublisherIdentity, | |
| LPCWSTR LogFilePath, | |
| LCID Locale, | |
| DWORD Flags | |
| ); | |
| EVT_HANDLE WINAPI EvtOpenSession( | |
| EVT_LOGIN_CLASS LoginClass, | |
| PVOID Login, | |
| DWORD Timeout, | |
| DWORD Flags | |
| ); | |
| EVT_HANDLE WINAPI EvtQuery( | |
| EVT_HANDLE Session, | |
| LPCWSTR Path, | |
| LPCWSTR Query, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtRender( | |
| EVT_HANDLE Context, | |
| EVT_HANDLE Fragment, | |
| DWORD Flags, | |
| DWORD BufferSize, | |
| PVOID Buffer, | |
| PDWORD BufferUsed, | |
| PDWORD PropertyCount | |
| ); | |
| WINBOOL WINAPI EvtSaveChannelConfig( | |
| EVT_HANDLE ChannelConfig, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtSeek( | |
| EVT_HANDLE ResultSet, | |
| LONGLONG Position, | |
| EVT_HANDLE Bookmark, | |
| DWORD Timeout, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtSetChannelConfigProperty( | |
| EVT_HANDLE ChannelConfig, | |
| EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId, | |
| DWORD Flags, | |
| PEVT_VARIANT PropertyValue | |
| ); | |
| EVT_HANDLE WINAPI EvtSubscribe( | |
| EVT_HANDLE Session, | |
| HANDLE SignalEvent, | |
| LPCWSTR ChannelPath, | |
| LPCWSTR Query, | |
| EVT_HANDLE Bookmark, | |
| PVOID context, | |
| EVT_SUBSCRIBE_CALLBACK Callback, | |
| DWORD Flags | |
| ); | |
| WINBOOL WINAPI EvtUpdateBookmark( | |
| EVT_HANDLE Bookmark, | |
| EVT_HANDLE Event | |
| ); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /*(_WIN32_WINNT >= 0x0600)*/ | |
| #endif /* WINAPI_PARTITION_DESKTOP */ | |
| #endif /*__WINEVT_H__ */ |