PnpCtxOpenContextBaseKey

__int64 __fastcall PnpCtxOpenContextBaseKey(__int64 a1, int a2, __int64 a3, ACCESS_MASK a4, void **a5){
  INT64 v5; 
  int CachedContextBaseKey; 
  __int64 v8; 
  int v9; 
  char *v11; 
  v5 = PiPnpRtlCtx;
  v11 = 0i64;
  CachedContextBaseKey = PnpCtxGetCachedContextBaseKey(PiPnpRtlCtx, a2, (__int64 *)&v11);
  if( CachedContextBaseKey >= 0 )
  {
    if( v5 )
      v8 = *(_QWORD *)(v5 + 224);
    else
      v8 = 0i64;
    v9 = SysCtxRegOpenKey(v8, v11, &word_1407CF120, 0, a4, a5);
    if( v9 == -1073741444 )
    {
      return(unsigned int)-1073741595;
    }
    else if( v9 < 0 )
    {
      return(unsigned int)v9;
    }
  }
  return(unsigned int)CachedContextBaseKey;
}

Referenced by:

PiCMOpenClassKey
PiDevCfgEnumDeviceKeys
PiDevCfgResolveVariableKeyHandle