HalpAcquirePccInterface

VOID __fastcall HalpAcquirePccInterface(INT64 SubspaceId, _PCC_INTERFACE_STANDARD *PccInterface, INT64 a3, INT64 a4){
  int v5; 
  INT64 v6; 
  INT64 v7; 
  INT64 v8; 
  _ADAPTER_OBJECT *v9; 
  UINT64 Tag; 
  UINT64 Taga; 
  INT64 Tagb; 
  VOID **Object; 
  VOID **Objecta; 
  _IO_STATUS_BLOCK IoStatusBlock; 
  _OBJECT_ATTRIBUTES ObjectAttributes; 
  VOID *FileHandle; 
  PADAPTER_OBJECT DmaAdapter; 

  DmaAdapter = 0i64;
  *(&ObjectAttributes.Length + 1) = 0;
  *(&ObjectAttributes.Attributes + 1) = 0;
  v5 = (unsigned __int8)SubspaceId;
  IoStatusBlock = 0i64;
  if( PccInterface && PccInterface->Context )
  {
    LODWORD(Object) = 0;
    ObjectAttributes.RootDirectory = 0i64;
    FileHandle = 0i64;
    LODWORD(Tag) = 0;
    ObjectAttributes.ObjectName = (_UNICODE_STRING *)PccInterface;
    ObjectAttributes.Length = 48;
    ObjectAttributes.Attributes = 576;
    *(_OWORD *)&ObjectAttributes.SecurityDescriptor = 0i64;
    if( ZwOpenFile(&FileHandle, 0x120089ui64, &ObjectAttributes, &IoStatusBlock, Tag, (UINT64)Object) >= 0 )
    {
      LODWORD(Taga) = 1953261124;
      if( ObpReferenceObjectByHandleWithTag(FileHandle, 0i64, 0i64, 0, Taga, (VOID **)&DmaAdapter, 0i64, 0i64) >= 0 )
      {
        Objecta = (VOID **)a3;
        v9 = DmaAdapter;
        LODWORD(Tagb) = v5;
        HalpQueryPccInterface(
          (PDEVICE_OBJECT)DmaAdapter->AdapterObject.DmaHeader.DmaOperations,
          v6,
          v7,
          v8,
          Tagb,
          Objecta);
        HalPutDmaAdapter(v9);
      }
    }
    if( FileHandle )
      ZwClose((_HANDLE)FileHandle);
  }
}

Referenced by:

HaliInitializePlatformDebugTriggers
HalpStartPccCommand