PnpCtxGetCachedContextBaseKey
NTSTATUS __stdcall PnpCtxGetCachedContextBaseKey(HPNPCTX *hPnpCtx, PNPCTX_BASE_KEY_TYPE BaseKeyType, VOID **phkResult){
__int64 *v4;
HPNPCTX *v6;
v4 = *(__int64 **)&hPnpCtx[2 * BaseKeyType + 24];
if( !v4 )
{
if( BaseKeyType > PNPCTX_BASE_KEY_TYPE_CODEVICEINSTALLERS )
{
if( BaseKeyType <= PNPCTX_BASE_KEY_TYPE_MAX
|| BaseKeyType > (PNPCTX_BASE_KEY_TYPE_MAX|PNPCTX_BASE_KEY_TYPE_SOFTWARE) )
{
goto LABEL_10;
}
}
else if( BaseKeyType < PNPCTX_BASE_KEY_TYPE_DEVICECONTAINERS
&& (BaseKeyType == PNPCTX_BASE_KEY_TYPE_CONTROLSET || BaseKeyType != PNPCTX_BASE_KEY_TYPE_ENUM) )
{
goto LABEL_10;
}
v6 = (HPNPCTX *)*((_QWORD *)hPnpCtx + 7);
v4 = (__int64 *)(v6 - 4);
if( v6 != hPnpCtx + 14 )
{
LABEL_11:
*(_QWORD *)&hPnpCtx[2 * BaseKeyType + 24] = v4;
return PnpCtxGetCachedNodeBaseKey((__int64)hPnpCtx, v4, BaseKeyType, phkResult);
}
LABEL_10:
v4 = (__int64 *)*((_QWORD *)hPnpCtx + 11);
goto LABEL_11;
}
return PnpCtxGetCachedNodeBaseKey((__int64)hPnpCtx, v4, BaseKeyType, phkResult);
}Referenced by:
CmDeleteCommonClassRegKeyWorker
CmDeleteDeviceContainerRegKeyWorker
CmDeleteDeviceInterfaceRegKeyWorker
CmDeleteDevicePanelRegKeyWorker
CmDeleteDeviceRegKeyWorker
CmDeleteInstallerClassMappedPropertyFromCoInstallers
CmGetDeviceContainerIdFromBase
CmGetDevicesInBaseContainerList
CmGetInstallerClassMappedPropertyFromCoInstallers
CmGetMatchingCommonClassListWorker
CmGetMatchingDeviceContainerListWorker
CmGetMatchingDeviceListForSubkey
CmGetMatchingDevicePanelListWorker
CmGetMatchingFilteredDeviceInterfaceListWorker
CmOpenCommonClassRegKeyWorker
CmOpenDeviceContainerRegKeyWorker
CmOpenDeviceInterfaceRegKeyWorker
CmOpenDevicePanelRegKeyWorker
CmOpenDeviceRegKeyWorker
CmRemoveDeviceFromContainerWorker
CmRemovePanelDeviceWorker
CmSetInstallerClassMappedPropertyFromCoInstallers
DrvDbLoadDatabaseNode
IopInitializePlugPlayServices
NtDisableLastKnownGood
NtEnableLastKnownGood
PiCMDeleteDeviceKey
PiCMEnumerateSubKeys
PiDevCfgConfigureDeviceLocation
PiDevCfgInitMigrationContext
PiDevCfgOpenDeviceMigrationKey
PipCommitPendingOsExtensionResource
PipCommitPendingService
PipHardwareConfigInit
PipHardwareConfigOpenKey
PipMakeGloballyUniqueId
PipMigratePnpState
PipOpenServiceEnumKeys
PipUpdateDeviceProducts
PnpCheckDriverDependencies
PnpCtxOpenContextBaseKey
PnpOpenCCSPnpRegKey
PnprGetPluginDriverImagePath