PiDevCfgParseVariableName
UINT8 __stdcall PiDevCfgParseVariableName(
PWCHAR VariableString,
_UNICODE_STRING *VariableName,
UINT64 *VariableModifiers){
PWCHAR i;
int v5;
WCHAR v6;
int v8;
i = 0i64;
v5 = 0;
if( *VariableString == 36 )
{
for( i = VariableString + 1; ; ++i )
{
v6 = *i;
if( !*i )
break;
if( v6 == 63 )
{
v8 = 0x10000;
}
else if( v6 == 33 )
{
v8 = 0x20000;
}
else if( v6 == 43 )
{
v8 = 0x40000;
}
else
{
if( v6 != 45 )
{
if( v6 == 36 )
++i;
break;
}
v8 = 0x80000;
}
v5 |= v8;
}
}
RtlInitUnicodeString(VariableName, i, (WCHAR)VariableName);
*(_DWORD *)VariableModifiers = v5;
return i != 0i64;
}Referenced by:
PiDevCfgConfigureDeviceInterfaces
PiDevCfgCopyDeviceKey
PiDevCfgQueryResolveValue