SmAcquireReleaseCharges

UINT64 __stdcall SmAcquireReleaseCharges(UINT64 Size, UINT64 Flags, UINT64 ReleaseCharges){
  UINT64 v3; 
  unsigned int v4; 
  UINT64 v5; 

  v3 = Size >> 12;
  v4 = 1;
  v5 = Flags & 1 | 2;
  if( (Flags & 2) == 0 )
    v5 = Flags & 1;
  if( (_DWORD)ReleaseCharges )
    MmReleaseResourceCharge(v3, (unsigned int)v5, MmChargeStore);
  else
    return(unsigned int)MmChargeResources(v3, (unsigned int)v5, MmChargeStore, v5);
  return v4;
}

Referenced by:

SMKM_STORE::SmStCleanup
SMKM_STORE::SmStMapVirtualRegion
SMKM_STORE::SmStStart
SMKM_STORE::SmStUnmapVirtualRegion
SmFpAllocate
SmFpCleanup
SmFpFree
SmFpPreAllocate
SmKmAllocateMdlForLock
SmKmFreeMdlForLock