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
struct FxTelemetryDriverInfo::@4826 bitmap
DWORD IsUsingStaticBusEnumration
DWORD IsUsingLevelTriggeredLineInterrupt
DWORD IsUsingSystemDmaDuplex
DWORD IsS0IdleSystemManaged
DWORD IsUsingMsi22MultiMessageInterrupt
DWORD IsUsingMultipleInterrupt
DWORD IsS0IdleUsbSSEnabled
_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