PnpDiagnosticTraceObject
INT64 __stdcall PnpDiagnosticTraceObject(const _EVENT_DESCRIPTOR *EventDescriptor, _UNICODE_STRING *Name){
EVENT_DESCRIPTOR *v2;
UINT64 v3;
INT64 result;
int Length;
UINT64 UserDataCount;
__int16 v9;
EVENT_DATA_DESCRIPTOR UserData;
wchar_t *Buffer;
int v12;
int v13;
v3 = PnpEtwHandle;
if( !PnpEtwHandle || !EtwEventEnabled(PnpEtwHandle, (EVENT_DESCRIPTOR *)EventDescriptor, v2) )
return 0i64;
Length = Name->Length;
UserData.Reserved = 0;
v13 = 0;
v9 = (unsigned __int16)Length >> 1;
UserData.Ptr = (unsigned __int64)&v9;
Buffer = Name->Buffer;
LODWORD(UserDataCount) = 2;
UserData.Size = 2;
v12 = Length;
LODWORD(result) = EtwWriteEx(
v3,
(EVENT_DESCRIPTOR *)EventDescriptor,
0i64,
0i64,
0i64,
0i64,
UserDataCount,
&UserData);
return result;
}Referenced by:
IopLoadDriver
IopUnloadDriver
PiDevCfgProcessDevice
PiDrvDbLoadNodeWorkerCallback
PiDrvDbUnloadNodeWorkerCallback
PipEnumerateDevice
PnpDeviceCompletionRoutine
PnpEarlyLaunchImageNotificationPostProcess
PnpEarlyLaunchImageNotificationPreProcess
PnpInitializeBootStartDriver
PnpQueueQueryAndRemoveEvent
PnpRebalance
PnpStartDeviceNode