IopFetchConfigurationInformation

NTSTATUS __stdcall IopFetchConfigurationInformation(
        WCHAR **SymbolicLinkList,
        _GUID *InterfaceClassGuid,
        UINT64 ExpectedNumber,
        UINT64 *NumberFound){
  WCHAR *v4; 
  unsigned int v6; 
  unsigned int v8; 
  WCHAR *v9; 
  __int64 v10; 
  __int64 v11; 
  WCHAR *v12; 

  v4 = *SymbolicLinkList;
  v6 = ExpectedNumber;
  v8 = 0;
  if( IoGetDeviceInterfaces(InterfaceClassGuid, 0i64, 0i64, SymbolicLinkList) < 0 )
  {
    if( v4 )
      *v4 = 0;
    goto LABEL_12;
  }
  v9 = *SymbolicLinkList;
  v10 = -1i64;
  do
    ++v10;
  while( v9[v10] );
  while( (_DWORD)v10 )
  {
    ++v8;
    v11 = -1i64;
    do
      ++v11;
    while( v9[v11] );
    v12 = &v9[v11];
    v10 = -1i64;
    v9 = v12 + 1;
    do
      ++v10;
    while( v9[v10] );
  }
  *(_DWORD *)NumberFound = v8;
  if( v8 < v6 )
LABEL_12:
    LODWORD(v10) = -1073741823;
  return v10;
}

Referenced by:

IopCreateArcNamesCd
IopCreateArcNamesDisk