31#if defined(__cplusplus)
47#define KMDF_CENSUS_EVT_WRITE_DEVICE_START(TraceHandle , Globals, DriverConfig, SetupClass, BusEnum, HwID, Manafacturer) \
48 TraceLoggingWrite(TraceHandle, \
49 "KmdfCensusEvtDeviceStart", \
50 WDF_TELEMETRY_EVT_KEYWORDS, \
51 WDF_CENSUS_EVT_DATA_COMMON(Globals), \
52 TraceLoggingString((Globals)->Public.DriverName, "DriverServiceName"), \
53 TraceLoggingKmdfDriverConfigInfo(DriverConfig, "DriverConfigInfo"), \
54 TraceLoggingWideString(SetupClass.m_UnicodeString.Buffer, "SetupClass"), \
55 TraceLoggingWideString(BusEnum.m_UnicodeString.Buffer, "BusEnumerator"), \
56 TraceLoggingWideString(HwID.m_UnicodeString.Buffer, "HardwareId"), \
57 TraceLoggingWideString(Manafacturer.m_UnicodeString.Buffer, "ManufacturerString") \
63#define TraceLoggingKmdfDriverConfigInfo(info, fieldName) \
65 TraceLoggingStruct(23, fieldName), \
67 TraceLoggingUInt8(info.bitmap.IsNonPnpDriver, "IsNonPnpDriver" ), \
68 TraceLoggingUInt8(info.bitmap.IsNoDispatchOverride, "IsNoDispatchOverride" ), \
69 TraceLoggingUInt8(info.bitmap.IsVerifierOn, "IsVerifierOn" ), \
70 TraceLoggingUInt8(info.bitmap.IsEnhancedVerifierOn, "IsEnhancedVerifierOn" ), \
71 TraceLoggingUInt8(info.bitmap.IsFilter, "IsFilter" ), \
73 TraceLoggingUInt8(info.bitmap.IsUsingRemoveLockOption, "IsUsingRemoveLockOption" ), \
74 TraceLoggingUInt8(info.bitmap.IsUsingNonDefaultHardwareReleaseOrder, "IsUsingNonDefaultHardwareReleaseOrder" ), \
75 TraceLoggingUInt8(info.bitmap.IsPowerPolicyOwner, "IsPowerPolicyOwner" ), \
76 TraceLoggingUInt8(info.bitmap.IsS0IdleWakeFromS0Enabled, "IsS0IdleWakeFromS0Enabled" ), \
77 TraceLoggingUInt8(info.bitmap.IsS0IdleUsbSSEnabled, "IsS0IdleUsbSSEnabled" ), \
79 TraceLoggingUInt8(info.bitmap.IsS0IdleSystemManaged, "IsS0IdleSystemManaged" ), \
80 TraceLoggingUInt8(info.bitmap.IsSxWakeEnabled, "IsSxWakeEnabled" ), \
81 TraceLoggingUInt8(info.bitmap.IsUsingLevelTriggeredLineInterrupt, "IsUsingLevelTriggeredLineInterrupt" ), \
82 TraceLoggingUInt8(info.bitmap.IsUsingEdgeTriggeredLineInterrupt, "IsUsingEdgeTriggeredLineInterrupt" ), \
83 TraceLoggingUInt8(info.bitmap.IsUsingMsiXOrSingleMsi22Interrupt, "IsUsingMsiXOrSingleMsi22Interrupt" ), \
85 TraceLoggingUInt8(info.bitmap.IsUsingMsi22MultiMessageInterrupt, "IsUsingMsi22MultiMessageInterrupt" ), \
86 TraceLoggingUInt8(info.bitmap.IsUsingMultipleInterrupt, "IsUsingMultipleInterrupt" ), \
87 TraceLoggingUInt8(info.bitmap.IsUsingPassiveLevelInterrupt, "IsUsingPassiveLevelInterrupt" ), \
88 TraceLoggingUInt8(info.bitmap.IsUsingBusMasterDma, "IsUsingBusMasterDma" ), \
89 TraceLoggingUInt8(info.bitmap.IsUsingSystemDma, "IsUsingSystemDma" ), \
91 TraceLoggingUInt8(info.bitmap.IsUsingSystemDmaDuplex, "IsUsingSystemDmaDuplex" ), \
92 TraceLoggingUInt8(info.bitmap.IsUsingStaticBusEnumration, "IsUsingStaticBusEnumration" ), \
93 TraceLoggingUInt8(info.bitmap.IsUsingDynamicBusEnumeration, "IsUsingDynamicBusEnumeration" ) \
193#if defined(__cplusplus)
#define __drv_maxIRQL(irql)
VOID RegistryReadLastLoggedTime(_In_ PFX_DRIVER_GLOBALS DriverGlobals, _Out_ PLARGE_INTEGER CurrentTime)
NTSTATUS GetHardwareIdAndSetupclassFromRegistry(_In_ FxDevice *Fdo, _Out_ PUNICODE_STRING HwIds, _Out_ PUNICODE_STRING SetupClass)
VOID GetDriverInfo(_In_ PFX_DRIVER_GLOBALS Globals, _In_opt_ FxDevice *Fdo, _Out_ FxTelemetryDriverInfo *DriverInfo)
VOID FxGetDevicePropertyString(_In_ FxDevice *Fdo, _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty, _Out_ PUNICODE_STRING PropertyString)
VOID RegistryWriteCurrentTime(_In_ PFX_DRIVER_GLOBALS DriverGlobals)
VOID GetFirstHardwareId(_Inout_ PUNICODE_STRING HardwareIds)
BOOLEAN IsLoggingEnabledAndNeeded(_In_ PFX_DRIVER_GLOBALS DriverGlobals)
_Must_inspect_result_ _In_ PFX_DRIVER_GLOBALS Globals
_Must_inspect_result_ NTSTATUS FxQueryData(_In_ PFX_DRIVER_GLOBALS DriverGlobals, _In_ HANDLE Key, _In_ PCUNICODE_STRING ValueName, _In_ ULONG Tag, _Out_ PKEY_VALUE_PARTIAL_INFORMATION *Info)
#define _Must_inspect_result_
DRIVER_INFORMATION DriverInfo
DWORD IsNoDispatchOverride
DWORD IsUsingRemoveLockOption
DWORD IsUsingPassiveLevelInterrupt
DWORD IsS0IdleWakeFromS0Enabled
DWORD IsUsingDynamicBusEnumeration
DWORD IsUsingEdgeTriggeredLineInterrupt
DWORD IsUsingNonDefaultHardwareReleaseOrder
DWORD IsEnhancedVerifierOn
DWORD IsUsingMsiXOrSingleMsi22Interrupt
DWORD IsUsingBusMasterDma
DWORD IsUsingStaticBusEnumration
DWORD IsUsingLevelTriggeredLineInterrupt
DWORD IsUsingSystemDmaDuplex
DWORD IsS0IdleSystemManaged
DWORD IsUsingMsi22MultiMessageInterrupt
DWORD IsUsingMultipleInterrupt
DWORD IsS0IdleUsbSSEnabled
struct FxTelemetryDriverInfo::@4834 bitmap
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
_Must_inspect_result_ _In_ WDFDEVICE Fdo
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName