IopFetchConfigurationInformation
INT64 __fastcall IopFetchConfigurationInformation(
WCHAR **SymbolicLinkList,
GUID *InterfaceClassGuid,
UINT64 ExpectedNumber,
UINT64 *NumberFound){
WCHAR *v4;
unsigned int v6;
unsigned int v8;
WCHAR *v9;
INT64 result;
__int64 v11;
WCHAR *v12;
v4 = *SymbolicLinkList;
v6 = ExpectedNumber;
v8 = 0;
if( IoGetDeviceInterfaces(InterfaceClassGuid, 0i64, 0, SymbolicLinkList) < 0 )
{
if( v4 )
*v4 = 0;
return 3221225473i64;
}
v9 = *SymbolicLinkList;
result = -1i64;
do
++result;
while( v9[result] );
while( (_DWORD)result )
{
++v8;
v11 = -1i64;
do
++v11;
while( v9[v11] );
v12 = &v9[v11];
result = -1i64;
v9 = v12 + 1;
do
++result;
while( v9[result] );
}
*(_DWORD *)NumberFound = v8;
if( v8 < v6 )
return 3221225473i64;
return result;
}Referenced by:
IopCreateArcNamesCd
IopCreateArcNamesDisk