PipRecordOpenHandleVeto

VOID __stdcall PipRecordOpenHandleVeto(
        UINT64 ArrayCount,
        _DEVICE_OBJECT **DeviceObjectArray,
        _DEVICE_OBJECT *DeviceObject,
        _ENUM_HANDLES_CONTEXT *EnumContext,
        INT64 a5){
  INT64 v6; 
  INT64 v7; 
  __int64 v8; 
  _ADAPTER_OBJECT *v9; 
  _ADAPTER_OBJECT *v10; 

  *(_DWORD *)a5 = 5;
  PnpCollectOpenHandles((PVOID *)DeviceObjectArray, (unsigned int)ArrayCount, (__int64)EnumContext);
  v8 = 0i64;
  if( DeviceObject )
  {
    LODWORD(v9) = IoGetDeviceAttachmentBaseRef((INT64)DeviceObject, v6, v7);
    v10 = v9;
    if( v9 )
      v8 = *(_QWORD *)(v9->ExpiredLock._bf_0 + 40);
    RtlCopyUnicodeString((PUNICODE_STRING)(a5 + 8), (PCUNICODE_STRING)(v8 + 40));
    HalPutDmaAdapter(v10);
  }
  else
  {
    RtlInitUnicodeString((PUNICODE_STRING)(a5 + 8), 0i64);
  }
}

Referenced by:

PipSendQueryRemoveIrpAndCheckOpenHandles