SUBTRACT_MAP_REGISTERS
VOID __stdcall SUBTRACT_MAP_REGISTERS(_ADAPTER_INFORMATION *AdapterInformation, UINT64 NumberOfMapRegisters){
int v3;
UINT64 v4;
UINT64 v5;
v3 = _InterlockedExchangeAdd(AdapterInformation + 40, -(int)NumberOfMapRegisters) - NumberOfMapRegisters;
if( v3 < 0 )
{
v4 = -v3;
ViHalPreprocessOptions(
(UINT64 *)((char *)&qword_140C12CB4 + 4),
(PSTR)"Freed too many map registers: -%x.",
5ui64,
v4,
0i64,
0i64,
v5);
VfReportIssueWithOptions(0xE6ui64, 5u, v4, 0, 0, (UINT64 *)((char *)&qword_140C12CB4 + 4));
}
_InterlockedExchange(AdapterInformation + 47, 0);
}Referenced by:
VfAllocateAdapterChannel
VfAllocateAdapterChannelEx
VfCancelAdapterChannel
VfFreeAdapterChannel
VfFreeAdapterObject
VfFreeMapRegisters
VfPutScatterGatherList
ViAdapterCallback
ViFlushZeroMapRegisterBaseWcbs