PnpDiagnosticTraceDeviceOperation

NTSTATUS __stdcall PnpDiagnosticTraceDeviceOperation(
        EVENT_DESCRIPTOR *EventDescriptor,
        UNICODE_STRING *DeviceName,
        INT64 Status,
        UNICODE_STRING *DriverName,
        UINT64 Version){
  unsigned __int16 Length; 
  unsigned __int16 v7; 
  wchar_t *v8; 
  __int16 v10; 
  unsigned __int16 v11; 
  struct _EVENT_DATA_DESCRIPTOR UserData; 
  wchar_t *Buffer; 
  int v14; 
  int v15; 
  int *v16; 
  __int64 v17; 
  __int16 *v18; 
  __int64 v19; 
  wchar_t *v20; 
  int v21; 
  int v22; 
  UINT64 *p_Version; 
  __int64 v24; 
  int v25; 
  v25 = Status;
  *(_QWORD *)&UserData.Size = 2i64;
  v15 = 0;
  Length = DeviceName->Length;
  v14 = DeviceName->Length;
  v10 = Length >> 1;
  UserData.Ptr = (unsigned __int64)&v10;
  Buffer = DeviceName->Buffer;
  v16 = &v25;
  v17 = 4i64;
  if( DriverName )
    v7 = DriverName->Length >> 1;
  else
    v7 = 0;
  v11 = v7;
  v18 = (__int16 *)&v11;
  v19 = 2i64;
  if( DriverName )
    v8 = DriverName->Buffer;
  else
    v8 = 0i64;
  v20 = v8;
  v21 = 2 * v7;
  v22 = 0;
  p_Version = &Version;
  v24 = 4i64;
  return PnpDiagnosticTrace(EventDescriptor, 6ui64, &UserData);
}

Referenced by:

PipCallDriverAddDeviceQueryRoutine
PnpQueueQueryAndRemoveEvent
PnpTraceStartDevice