HalpQueryCapsuleCapabilities

NTSTATUS __stdcall HalpQueryCapsuleCapabilities(
        VOID *CapsuleHeaderArray,
        INT64 CapsuleCount,
        UINT64 *MaximumCapsuleSize,
        UINT64 *ResetType){
  char v6; 
  unsigned int v7; 
  NTSTATUS CapsuleCapabilities; 
  _GROUP_AFFINITY Affinity; 
  _GROUP_AFFINITY PreviousAffinity; 

  Affinity = 0i64;
  PreviousAffinity = 0i64;
  if( !byte_140C49D08 )
    return -1073741822;
  if( KeGetCurrentIrql() >= 2u )
  {
    v6 = 0;
  }
  else
  {
    v6 = 1;
    v7 = KiProcessorIndexToNumberMappingTable[KeGetPcr()->Prcb.Number];
    Affinity.Reserved[1] = 0;
    Affinity.Reserved[2] = 0;
    *(_DWORD *)&Affinity.Group = (unsigned __int16)(v7 >> 6);
    Affinity.Mask = 1i64 << (v7 & 0x3F);
    KeSetSystemGroupAffinityThread(&Affinity, &PreviousAffinity);
  }
  CapsuleCapabilities = HalEfiQueryCapsuleCapabilities((__int64)CapsuleHeaderArray);
  if( v6 )
    KeRevertToUserGroupAffinityThread(&PreviousAffinity);
  return CapsuleCapabilities;
}

Referenced by:

No references.