VfAllocateCrashDumpRegisters
VOID *__stdcall VfAllocateCrashDumpRegisters(PADAPTER_OBJECT AdapterObject, PULONG NumberOfMapRegisters){
UINT64 *v2;
_LIST_ENTRY *AdapterInformationInternal;
VOID *CrashDumpRegisters;
v2 = (UINT64 *)NumberOfMapRegisters;
if( KeGetCurrentIrql() > 2u )
VfDisableHalVerifier();
LOBYTE(NumberOfMapRegisters) = 1;
AdapterInformationInternal = ViGetAdapterInformationInternal(
&AdapterObject->AdapterObject.DmaHeader,
(INT64)NumberOfMapRegisters);
CrashDumpRegisters = HalAllocateCrashDumpRegisters(AdapterObject, v2);
if( AdapterInformationInternal )
{
VF_ASSERT_IRQL(2u);
_InterlockedExchangeAdd((volatile signed __int32 *)&AdapterInformationInternal[9].Blink, *(_DWORD *)v2);
ADD_MAP_REGISTERS((_ADAPTER_INFORMATION *)AdapterInformationInternal, *(unsigned int *)v2, 0);
if( ViVerifyDma )
{
if( !CrashDumpRegisters )
return(VOID *)-559026163i64;
}
}
return CrashDumpRegisters;
}Referenced by:
No references.