//**********************************************************************` //* This is an include file generated by Message Compiler. *` //* *` //* Copyright (c) Microsoft Corporation. All Rights Reserved. *` //**********************************************************************` #pragma once #include #include #include "evntprov.h" // // Initial Defs // #if !defined(ETW_INLINE) #define ETW_INLINE DECLSPEC_NOINLINE __inline #endif #if defined(__cplusplus) extern "C" { #endif // // Allow Diasabling of code generation // #ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION #if !defined(McGenDebug) #define McGenDebug(a,b) #endif #if !defined(MCGEN_TRACE_CONTEXT_DEF) #define MCGEN_TRACE_CONTEXT_DEF typedef struct _MCGEN_TRACE_CONTEXT { TRACEHANDLE RegistrationHandle; TRACEHANDLE Logger; ULONGLONG MatchAnyKeyword; ULONGLONG MatchAllKeyword; ULONG Flags; ULONG IsEnabled; UCHAR Level; UCHAR Reserve; USHORT EnableBitsCount; PULONG EnableBitMask; const ULONGLONG* EnableKeyWords; const UCHAR* EnableLevel; } MCGEN_TRACE_CONTEXT, *PMCGEN_TRACE_CONTEXT; #endif #if !defined(MCGEN_LEVEL_KEYWORD_ENABLED_DEF) #define MCGEN_LEVEL_KEYWORD_ENABLED_DEF FORCEINLINE BOOLEAN McGenLevelKeywordEnabled( _In_ PMCGEN_TRACE_CONTEXT EnableInfo, _In_ UCHAR Level, _In_ ULONGLONG Keyword ) { // // Check if the event Level is lower than the level at which // the channel is enabled. // If the event Level is 0 or the channel is enabled at level 0, // all levels are enabled. // if ((Level <= EnableInfo->Level) || // This also covers the case of Level == 0. (EnableInfo->Level == 0)) { // // Check if Keyword is enabled // if ((Keyword == (ULONGLONG)0) || ((Keyword & EnableInfo->MatchAnyKeyword) && ((Keyword & EnableInfo->MatchAllKeyword) == EnableInfo->MatchAllKeyword))) { return TRUE; } } return FALSE; } #endif #if !defined(MCGEN_EVENT_ENABLED_DEF) #define MCGEN_EVENT_ENABLED_DEF FORCEINLINE BOOLEAN McGenEventEnabled( _In_ PMCGEN_TRACE_CONTEXT EnableInfo, _In_ PCEVENT_DESCRIPTOR EventDescriptor ) { return McGenLevelKeywordEnabled(EnableInfo, EventDescriptor->Level, EventDescriptor->Keyword); } #endif // // EnableCheckMacro // #ifndef MCGEN_ENABLE_CHECK #define MCGEN_ENABLE_CHECK(Context, Descriptor) (Context.IsEnabled && McGenEventEnabled(&Context, &Descriptor)) #endif #if !defined(MCGEN_CONTROL_CALLBACK) #define MCGEN_CONTROL_CALLBACK DECLSPEC_NOINLINE __inline VOID __stdcall McGenControlCallbackV2( _In_ LPCGUID SourceId, _In_ ULONG ControlCode, _In_ UCHAR Level, _In_ ULONGLONG MatchAnyKeyword, _In_ ULONGLONG MatchAllKeyword, _In_opt_ PEVENT_FILTER_DESCRIPTOR FilterData, _Inout_opt_ PVOID CallbackContext ) /*++ Routine Description: This is the notification callback for Vista. Arguments: SourceId - The GUID that identifies the session that enabled the provider. ControlCode - The parameter indicates whether the provider is being enabled or disabled. Level - The level at which the event is enabled. MatchAnyKeyword - The bitmask of keywords that the provider uses to determine the category of events that it writes. MatchAllKeyword - This bitmask additionally restricts the category of events that the provider writes. FilterData - The provider-defined data. CallbackContext - The context of the callback that is defined when the provider called EtwRegister to register itself. Remarks: ETW calls this function to notify provider of enable/disable --*/ { PMCGEN_TRACE_CONTEXT Ctx = (PMCGEN_TRACE_CONTEXT)CallbackContext; ULONG Ix; #ifndef MCGEN_PRIVATE_ENABLE_CALLBACK_V2 UNREFERENCED_PARAMETER(SourceId); UNREFERENCED_PARAMETER(FilterData); #endif if (Ctx == NULL) { return; } switch (ControlCode) { case EVENT_CONTROL_CODE_ENABLE_PROVIDER: Ctx->Level = Level; Ctx->MatchAnyKeyword = MatchAnyKeyword; Ctx->MatchAllKeyword = MatchAllKeyword; Ctx->IsEnabled = EVENT_CONTROL_CODE_ENABLE_PROVIDER; for (Ix = 0; Ix < Ctx->EnableBitsCount; Ix += 1) { if (McGenLevelKeywordEnabled(Ctx, Ctx->EnableLevel[Ix], Ctx->EnableKeyWords[Ix]) != FALSE) { Ctx->EnableBitMask[Ix >> 5] |= (1 << (Ix % 32)); } else { Ctx->EnableBitMask[Ix >> 5] &= ~(1 << (Ix % 32)); } } break; case EVENT_CONTROL_CODE_DISABLE_PROVIDER: Ctx->IsEnabled = EVENT_CONTROL_CODE_DISABLE_PROVIDER; Ctx->Level = 0; Ctx->MatchAnyKeyword = 0; Ctx->MatchAllKeyword = 0; if (Ctx->EnableBitsCount > 0) { RtlZeroMemory(Ctx->EnableBitMask, (((Ctx->EnableBitsCount - 1) / 32) + 1) * sizeof(ULONG)); } break; default: break; } #ifdef MCGEN_PRIVATE_ENABLE_CALLBACK_V2 // // Call user defined callback // MCGEN_PRIVATE_ENABLE_CALLBACK_V2( SourceId, ControlCode, Level, MatchAnyKeyword, MatchAllKeyword, FilterData, CallbackContext ); #endif return; } #endif #endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION //+ // Provider Microsoft-Windows-WLAN-Driver Event Count 7 //+ EXTERN_C __declspec(selectany) const GUID MICROSOFT_WINDOWS_WLAN_DRIVER_PROVIDER_GUID = {0xdaa6a96b, 0xf3e7, 0x4d4d, {0xa0, 0xd6, 0x31, 0xa3, 0x50, 0xe6, 0xa4, 0x45}}; // // Channel // #define MICROSOFT_WINDOWS_WLAN_DRIVER_CHANNEL_ANALYTIC 0x10 // // Opcodes // #define MICROSOFT_WINDOWS_WLAN_DRIVER_OPCODE_DATATRANSMIT 0xb #define MICROSOFT_WINDOWS_WLAN_DRIVER_OPCODE_DATARECEIVE 0xc // // Tasks // #define MICROSOFT_WINDOWS_WLAN_DRIVER_TASK_DATATRANSMITRECEIVE 0x1 // // Keyword // #define MICROSOFT_WINDOWS_WLAN_DRIVER_KEYWORD_DATAPATH 0x1 // // Event Descriptors // EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TxFrameReceivedFromOS = {0x0, 0x1, 0x10, 0x4, 0xb, 0x1, 0x8000000000000001}; #define TxFrameReceivedFromOS_value 0x0 EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TxSubmissionToNIC = {0x1, 0x1, 0x10, 0x4, 0xb, 0x1, 0x8000000000000001}; #define TxSubmissionToNIC_value 0x1 EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TxCompletedByNIC = {0x2, 0x1, 0x10, 0x4, 0xb, 0x1, 0x8000000000000001}; #define TxCompletedByNIC_value 0x2 EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR TxCompletionToOS = {0x3, 0x1, 0x10, 0x4, 0xb, 0x1, 0x8000000000000001}; #define TxCompletionToOS_value 0x3 EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR RxIndicationFromNIC = {0x4, 0x1, 0x10, 0x4, 0xc, 0x1, 0x8000000000000001}; #define RxIndicationFromNIC_value 0x4 EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR RxIndicationToOS = {0x5, 0x1, 0x10, 0x4, 0xc, 0x1, 0x8000000000000001}; #define RxIndicationToOS_value 0x5 EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR RxReturnToDriver = {0x6, 0x1, 0x10, 0x4, 0xc, 0x1, 0x8000000000000001}; #define RxReturnToDriver_value 0x6 // // Note on Generate Code from Manifest Windows Vista and above // //Structures : are handled as a size and pointer pairs. The macro for the event will have an extra //parameter for the size in bytes of the structure. Make sure that your structures have no extra padding. // //Strings: There are several cases that can be described in the manifest. For array of variable length //strings, the generated code will take the count of characters for the whole array as an input parameter. // //SID No support for array of SIDs, the macro will take a pointer to the SID and use appropriate //GetLengthSid function to get the length. // // // Allow Diasabling of code generation // #ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION // // Globals // // // Event Enablement Bits // EXTERN_C __declspec(selectany) DECLSPEC_CACHEALIGN ULONG Microsoft_Windows_WLAN_DriverEnableBits[1]; EXTERN_C __declspec(selectany) const ULONGLONG Microsoft_Windows_WLAN_DriverKeywords[1] = {0x8000000000000001}; EXTERN_C __declspec(selectany) const UCHAR Microsoft_Windows_WLAN_DriverLevels[1] = {4}; EXTERN_C __declspec(selectany) MCGEN_TRACE_CONTEXT MICROSOFT_WINDOWS_WLAN_DRIVER_PROVIDER_GUID_Context = {0, 0, 0, 0, 0, 0, 0, 0, 1, Microsoft_Windows_WLAN_DriverEnableBits, Microsoft_Windows_WLAN_DriverKeywords, Microsoft_Windows_WLAN_DriverLevels}; EXTERN_C __declspec(selectany) REGHANDLE Microsoft_Windows_WLAN_DriverHandle = (REGHANDLE)0; #if !defined(McGenEventRegisterUnregister) #define McGenEventRegisterUnregister DECLSPEC_NOINLINE __inline ULONG __stdcall McGenEventRegister( _In_ LPCGUID ProviderId, _In_opt_ PETWENABLECALLBACK EnableCallback, _In_opt_ PVOID CallbackContext, _Inout_ PREGHANDLE RegHandle ) /*++ Routine Description: This function register the provider with ETW KERNEL mode. Arguments: ProviderId - Provider Id to be register with ETW. EnableCallback - Callback to be used. CallbackContext - Context for this provider. RegHandle - Pointer to Registration handle. Remarks: If the handle != NULL will return ERROR_SUCCESS --*/ { ULONG Error; if (*RegHandle) { // // already registered // return STATUS_SUCCESS; } Error = EtwRegister( ProviderId, EnableCallback, CallbackContext, RegHandle); return Error; } DECLSPEC_NOINLINE __inline ULONG __stdcall McGenEventUnregister(_Inout_ PREGHANDLE RegHandle) /*++ Routine Description: Unregister from ETW KERNEL mode Arguments: RegHandle this is the pointer to the provider context Remarks: If Provider has not register RegHandle = NULL, return ERROR_SUCCESS --*/ { ULONG Error; if(!(*RegHandle)) { // // Provider has not registerd // return STATUS_SUCCESS; } Error = EtwUnregister(*RegHandle); *RegHandle = (REGHANDLE)0; return Error; } #endif // // Tx Events // #define ETW_TX_FRAME_RECV_FROM_OS_EN BIT0 #define ETW_TX_SUBMIT_TO_NIC_EN BIT1 #define ETW_TX_COMPLETE_BY_NIC_EN BIT2 #define ETW_TX_COMPLETE_TO_OS BIT3 // // Rx Events // #define ETW_RX_INDIC_FROM_NIC BIT4 #define ETW_RX_INDIC_TO_OS BIT5 #define ETW_RX_RETURN_TO_DRV BIT6 // // Register with ETW Vista + // #ifndef EventRegisterMicrosoft_Windows_WLAN_Driver #define EventRegisterMicrosoft_Windows_WLAN_Driver() McGenEventRegister(&MICROSOFT_WINDOWS_WLAN_DRIVER_PROVIDER_GUID, McGenControlCallbackV2, &MICROSOFT_WINDOWS_WLAN_DRIVER_PROVIDER_GUID_Context, &Microsoft_Windows_WLAN_DriverHandle) #endif // // UnRegister with ETW // #ifndef EventUnregisterMicrosoft_Windows_WLAN_Driver #define EventUnregisterMicrosoft_Windows_WLAN_Driver() McGenEventUnregister(&Microsoft_Windows_WLAN_DriverHandle) #endif // // Enablement check macro for TxFrameReceivedFromOS // #define EventEnabledTxFrameReceivedFromOS() ((Microsoft_Windows_WLAN_DriverEnableBits[0] & ETW_TX_FRAME_RECV_FROM_OS_EN) != 0) // // Event Macro for TxFrameReceivedFromOS // #define EventWriteTxFrameReceivedFromOS(Activity, FrameUniqueID, PortNumber, TID, PeerID, PayloadLength, QueueLength, QueueState, CustomData1, CustomData2, CustomData3)\ EventEnabledTxFrameReceivedFromOS() ?\ Template_qqcqhhtqqq(Microsoft_Windows_WLAN_DriverHandle, &TxFrameReceivedFromOS, Activity, FrameUniqueID, PortNumber, TID, PeerID, PayloadLength, QueueLength, QueueState, CustomData1, CustomData2, CustomData3)\ : STATUS_SUCCESS\ // // Enablement check macro for TxSubmissionToNIC // #define EventEnabledTxSubmissionToNIC() ((Microsoft_Windows_WLAN_DriverEnableBits[0] & ETW_TX_SUBMIT_TO_NIC_EN) != 0) // // Event Macro for TxSubmissionToNIC // #define EventWriteTxSubmissionToNIC(Activity, FrameUniqueID, QueueLength, QueueState, Status, CustomData1, CustomData2, CustomData3)\ EventEnabledTxSubmissionToNIC() ?\ Template_qhtqqqq(Microsoft_Windows_WLAN_DriverHandle, &TxSubmissionToNIC, Activity, FrameUniqueID, QueueLength, QueueState, Status, CustomData1, CustomData2, CustomData3)\ : STATUS_SUCCESS\ // // Enablement check macro for TxCompletedByNIC // #define EventEnabledTxCompletedByNIC() ((Microsoft_Windows_WLAN_DriverEnableBits[0] & ETW_TX_COMPLETE_BY_NIC_EN) != 0) // // Event Macro for TxCompletedByNIC // #define EventWriteTxCompletedByNIC(Activity, FrameUniqueID, SequenceNumber, Status, RetryCount, CustomData1, CustomData2, CustomData3)\ EventEnabledTxCompletedByNIC() ?\ Template_qhqhqqq(Microsoft_Windows_WLAN_DriverHandle, &TxCompletedByNIC, Activity, FrameUniqueID, SequenceNumber, Status, RetryCount, CustomData1, CustomData2, CustomData3)\ : STATUS_SUCCESS\ // // Enablement check macro for TxCompletionToOS // #define EventEnabledTxCompletionToOS() ((Microsoft_Windows_WLAN_DriverEnableBits[0] & ETW_TX_COMPLETE_TO_OS) != 0) // // Event Macro for TxCompletionToOS // #define EventWriteTxCompletionToOS(Activity, FrameUniqueID, CustomData1, CustomData2, CustomData3)\ EventEnabledTxCompletionToOS() ?\ Template_qqqq(Microsoft_Windows_WLAN_DriverHandle, &TxCompletionToOS, Activity, FrameUniqueID, CustomData1, CustomData2, CustomData3)\ : STATUS_SUCCESS\ // // Enablement check macro for RxIndicationFromNIC // #define EventEnabledRxIndicationFromNIC() ((Microsoft_Windows_WLAN_DriverEnableBits[0] & ETW_RX_INDIC_FROM_NIC) != 0) // // Event Macro for RxIndicationFromNIC // #define EventWriteRxIndicationFromNIC(Activity, FrameUniqueID, TID, PeerID, SequenceNumber, PayloadLength, QueueLength, Retransmit, Status, CustomData1, CustomData2, CustomData3)\ EventEnabledRxIndicationFromNIC() ?\ Template_qcqhhhtqqqq(Microsoft_Windows_WLAN_DriverHandle, &RxIndicationFromNIC, Activity, FrameUniqueID, TID, PeerID, SequenceNumber, PayloadLength, QueueLength, Retransmit, Status, CustomData1, CustomData2, CustomData3)\ : STATUS_SUCCESS\ // // Enablement check macro for RxIndicationToOS // #define EventEnabledRxIndicationToOS() ((Microsoft_Windows_WLAN_DriverEnableBits[0] & ETW_RX_INDIC_TO_OS) != 0) // // Event Macro for RxIndicationToOS // #define EventWriteRxIndicationToOS(Activity, FrameUniqueID, PortNumber, RxBacklog, CustomData1, CustomData2, CustomData3)\ EventEnabledRxIndicationToOS() ?\ Template_qqhqqq(Microsoft_Windows_WLAN_DriverHandle, &RxIndicationToOS, Activity, FrameUniqueID, PortNumber, RxBacklog, CustomData1, CustomData2, CustomData3)\ : STATUS_SUCCESS\ // // Enablement check macro for RxReturnToDriver // #define EventEnabledRxReturnToDriver() ((Microsoft_Windows_WLAN_DriverEnableBits[0] & ETW_RX_RETURN_TO_DRV) != 0) // // Event Macro for RxReturnToDriver // #define EventWriteRxReturnToDriver(Activity, FrameUniqueID, QueueLength, RxBacklog, CustomData1, CustomData2, CustomData3)\ EventEnabledRxReturnToDriver() ?\ Template_qhhqqq(Microsoft_Windows_WLAN_DriverHandle, &RxReturnToDriver, Activity, FrameUniqueID, QueueLength, RxBacklog, CustomData1, CustomData2, CustomData3)\ : STATUS_SUCCESS\ #endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION // // Allow Diasabling of code generation // #ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION // // Template Functions // // //Template from manifest : TxFrameReceivedFromOS // #ifndef Template_qqcqhhtqqq_def #define Template_qqcqhhtqqq_def ETW_INLINE ULONG Template_qqcqhhtqqq( _In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCGUID Activity, _In_ const unsigned int _Arg0, _In_ const unsigned int _Arg1, _In_ const UCHAR _Arg2, _In_ const unsigned int _Arg3, _In_ const unsigned short _Arg4, _In_ const unsigned short _Arg5, _In_ const LOGICAL _Arg6, _In_ const unsigned int _Arg7, _In_ const unsigned int _Arg8, _In_ const unsigned int _Arg9 ) { #define ARGUMENT_COUNT_qqcqhhtqqq 10 EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqcqhhtqqq]; EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const UCHAR) ); EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const LOGICAL) ); EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned int) ); return EtwWrite(RegHandle, Descriptor, Activity, ARGUMENT_COUNT_qqcqhhtqqq, EventData); } #endif // //Template from manifest : TxSubmissionToNIC // #ifndef Template_qhtqqqq_def #define Template_qhtqqqq_def ETW_INLINE ULONG Template_qhtqqqq( _In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCGUID Activity, _In_ const unsigned int _Arg0, _In_ const unsigned short _Arg1, _In_ const LOGICAL _Arg2, _In_ const unsigned int _Arg3, _In_ const unsigned int _Arg4, _In_ const unsigned int _Arg5, _In_ const unsigned int _Arg6 ) { #define ARGUMENT_COUNT_qhtqqqq 7 EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qhtqqqq]; EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const LOGICAL) ); EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned int) ); return EtwWrite(RegHandle, Descriptor, Activity, ARGUMENT_COUNT_qhtqqqq, EventData); } #endif // //Template from manifest : TxCompletedByNIC // #ifndef Template_qhqhqqq_def #define Template_qhqhqqq_def ETW_INLINE ULONG Template_qhqhqqq( _In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCGUID Activity, _In_ const unsigned int _Arg0, _In_ const unsigned short _Arg1, _In_ const unsigned int _Arg2, _In_ const unsigned short _Arg3, _In_ const unsigned int _Arg4, _In_ const unsigned int _Arg5, _In_ const unsigned int _Arg6 ) { #define ARGUMENT_COUNT_qhqhqqq 7 EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qhqhqqq]; EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned int) ); return EtwWrite(RegHandle, Descriptor, Activity, ARGUMENT_COUNT_qhqhqqq, EventData); } #endif // //Template from manifest : TxCompletionToOS // #ifndef Template_qqqq_def #define Template_qqqq_def ETW_INLINE ULONG Template_qqqq( _In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCGUID Activity, _In_ const unsigned int _Arg0, _In_ const unsigned int _Arg1, _In_ const unsigned int _Arg2, _In_ const unsigned int _Arg3 ) { #define ARGUMENT_COUNT_qqqq 4 EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqqq]; EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) ); return EtwWrite(RegHandle, Descriptor, Activity, ARGUMENT_COUNT_qqqq, EventData); } #endif // //Template from manifest : RxIndicationFromNIC // #ifndef Template_qcqhhhtqqqq_def #define Template_qcqhhhtqqqq_def ETW_INLINE ULONG Template_qcqhhhtqqqq( _In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCGUID Activity, _In_ const unsigned int _Arg0, _In_ const UCHAR _Arg1, _In_ const unsigned int _Arg2, _In_ const unsigned short _Arg3, _In_ const unsigned short _Arg4, _In_ const unsigned short _Arg5, _In_ const LOGICAL _Arg6, _In_ const unsigned int _Arg7, _In_ const unsigned int _Arg8, _In_ const unsigned int _Arg9, _In_ const unsigned int _Arg10 ) { #define ARGUMENT_COUNT_qcqhhhtqqqq 11 EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qcqhhhtqqqq]; EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const UCHAR) ); EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const LOGICAL) ); EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const unsigned int) ); return EtwWrite(RegHandle, Descriptor, Activity, ARGUMENT_COUNT_qcqhhhtqqqq, EventData); } #endif // //Template from manifest : RxIndicationToOS // #ifndef Template_qqhqqq_def #define Template_qqhqqq_def ETW_INLINE ULONG Template_qqhqqq( _In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCGUID Activity, _In_ const unsigned int _Arg0, _In_ const unsigned int _Arg1, _In_ const unsigned short _Arg2, _In_ const unsigned int _Arg3, _In_ const unsigned int _Arg4, _In_ const unsigned int _Arg5 ) { #define ARGUMENT_COUNT_qqhqqq 6 EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqhqqq]; EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) ); return EtwWrite(RegHandle, Descriptor, Activity, ARGUMENT_COUNT_qqhqqq, EventData); } #endif // //Template from manifest : RxReturnToDriver // #ifndef Template_qhhqqq_def #define Template_qhhqqq_def ETW_INLINE ULONG Template_qhhqqq( _In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCGUID Activity, _In_ const unsigned int _Arg0, _In_ const unsigned short _Arg1, _In_ const unsigned short _Arg2, _In_ const unsigned int _Arg3, _In_ const unsigned int _Arg4, _In_ const unsigned int _Arg5 ) { #define ARGUMENT_COUNT_qhhqqq 6 EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qhhqqq]; EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short) ); EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int) ); EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int) ); return EtwWrite(RegHandle, Descriptor, Activity, ARGUMENT_COUNT_qhhqqq, EventData); } #endif #endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION #if defined(__cplusplus) }; #endif