PiDevCfgResolveVariableGenerateGuid
NTSTATUS __stdcall PiDevCfgResolveVariableGenerateGuid(
_PI_DEVCFG_RESOLVE_CONTEXT *ResolveContext,
VOID *VariableKeyHandle,
_PI_DEVCFG_VARIABLE_ENTRY *VariableEntryResult){
int v4;
size_t v5;
VOID **PoolWithTag;
VOID **v7;
_UNICODE_STRING GuidString;
UUID Uuid;
Uuid = 0i64;
*(_QWORD *)&GuidString.Length = 0i64;
GuidString.Buffer = 0i64;
v4 = ExUuidCreate(&Uuid);
if( v4 >= 0 )
{
v4 = RtlStringFromGUIDEx(&Uuid, &GuidString, 1u);
if( v4 >= 0 )
{
v4 = RtlUpcaseUnicodeString(&GuidString, &GuidString, 0);
if( v4 >= 0 )
{
v5 = GuidString.Length + 2;
PoolWithTag = ExAllocatePoolWithTag(1ui64, v5, 1667526736i64);
v7 = PoolWithTag;
if( PoolWithTag )
{
memmove(PoolWithTag, GuidString.Buffer, v5);
VariableEntryResult[8] = 1;
VariableEntryResult[9] = v5;
*((_QWORD *)VariableEntryResult + 5) = v7;
}
else
{
v4 = -1073741670;
}
}
}
}
RtlFreeAnsiString(&GuidString);
return v4;
}Referenced by:
No references.