HvpCountSetRangesInVector

UINT64 __stdcall HvpCountSetRangesInVector(_RTL_BITMAP *Vector){
  unsigned int v1; 
  unsigned int v2; 
  NTSTATUS NextForwardRunClear; 
  UINT64 StartingRunIndex; 

  LODWORD(StartingRunIndex) = 0;
  v1 = 0;
  v2 = 0;
  if( Vector->SizeOfBitMap )
  {
    while( 1 )
    {
      NextForwardRunClear = RtlFindNextForwardRunClear((INT64)Vector, v1, &StartingRunIndex);
      if( !NextForwardRunClear )
        break;
      if( (_DWORD)StartingRunIndex != v1 )
        ++v2;
      v1 = StartingRunIndex + NextForwardRunClear;
      if( (unsigned int)(StartingRunIndex + NextForwardRunClear) >= Vector->SizeOfBitMap )
        return v2;
    }
    ++v2;
  }
  return v2;
}

Referenced by:

HvGetHiveLogFileStatus
HvStoreModifiedData
HvpGenerateLogEntryDirtyData
HvpGenerateLogMetadata