VfAllocateCrashDumpRegisters

NTSTATUS __stdcall VfAllocateCrashDumpRegisters(_ADAPTER_OBJECT *AdapterObject, UINT64 *NumberOfMapRegisters){
  ULONG *v2; 
  LIST_ENTRY *AdapterInformationInternal; 
  PVOID CrashDumpRegisters; 
  v2 = (ULONG *)NumberOfMapRegisters;
  if( KeGetCurrentIrql() > 2u )
    VfDisableHalVerifier();
  LOBYTE(NumberOfMapRegisters) = 1;
  AdapterInformationInternal = ViGetAdapterInformationInternal(
                                 (DMA_ADAPTER *)AdapterObject,
                                 (INT64)NumberOfMapRegisters);
  CrashDumpRegisters = HalAllocateCrashDumpRegisters((PADAPTER_OBJECT)AdapterObject, v2);
  if( AdapterInformationInternal )
  {
    VF_ASSERT_IRQL(2u);
    _InterlockedExchangeAdd((volatile signed __int32 *)&AdapterInformationInternal[9].Blink, *v2);
    ADD_MAP_REGISTERS((__int64)AdapterInformationInternal, *v2, 0);
    if( ViVerifyDma )
    {
      if( !CrashDumpRegisters )
        LODWORD(CrashDumpRegisters) = -559026163;
    }
  }
  return(int)CrashDumpRegisters;
}

Referenced by:

No references.