PnpCtxOpenContextBaseKey
NTSTATUS __fastcall PnpCtxOpenContextBaseKey(INT64 a1, INT64 a2, INT64 a3, UINT64 a4, _HANDLE *a5){
__int64 v5;
unsigned int v6;
int CachedContextBaseKey;
__int64 v8;
int v9;
VOID *v11;
v5 = *(&stru_140CF2E80 + 607);
v11 = 0i64;
v6 = a4;
CachedContextBaseKey = PnpCtxGetCachedContextBaseKey(*(&stru_140CF2E80 + 607), (PNPCTX_BASE_KEY_TYPE)a2, &v11);
if( CachedContextBaseKey >= 0 )
{
if( v5 )
v8 = *(_QWORD *)(v5 + 224);
else
v8 = 0i64;
v9 = SysCtxRegOpenKey(v8, v11, (const WCHAR *)&dword_1407CF120, 0, v6, (VOID **)a5);
if( v9 == -1073741444 )
{
return -1073741595;
}
else if( v9 < 0 )
{
return v9;
}
}
return CachedContextBaseKey;
}Referenced by:
PiCMOpenClassKey
PiDevCfgEnumDeviceKeys
PiDevCfgResolveVariableKeyHandle