PnpGetObjectProperty

NTSTATUS __stdcall PnpGetObjectProperty(
        ULONG Tag,
        INT64 a2,
        INT64 a3,
        INT64 a4,
        INT64 a5,
        INT64 a6,
        INT64 a7,
        INT64 a8){
  unsigned int v8; 
  INT64 v10; 
  __int64(__fastcall *v11)(ULONG, INT64, INT64, __int64, int, __int64 *); 
  int v12; 
  NTSTATUS ObjectPropertyWorker; 
  NTSTATUS v14; 
  int v15; 
  int v16; 
  NTSTATUS v17; 
  INT64 v19; 
  INT64 v20; 
  __int64 v21[2]; 
  INT64 v22; 
  INT64 v23; 
  INT64 v24; 
  INT64 v25; 
  __int64 v26; 
  INT64 v27; 
  INT64 v28; 
  INT64 v29; 
  unsigned int v30; 
  INT64 v31; 
  unsigned int v32; 

  v8 = a3;
  v21[0] = 0i64;
  v21[1] = 0i64;
  v10 = *(_QWORD *)&Tag;
  v11 = *(__int64(__fastcall **)(ULONG, INT64, INT64, __int64, int, __int64 *))(*(_QWORD *)&Tag + 488i64);
  v23 = a5;
  v24 = a6;
  v25 = a7;
  v26 = a8;
  v27 = v30;
  v28 = v31;
  v29 = v32;
  v22 = a4;
  if( v11 )
  {
    v12 = v11(Tag, a2, a3, 8i64, 1, v21);
    if( v12 == -1073741822 )
    {
      v11 = 0i64;
    }
    else
    {
      if( v12 == -1073741536 )
        return v21[0];
      if( v12 )
        return -1073741595;
    }
  }
  LODWORD(v20) = v29;
  LODWORD(v19) = v27;
  ObjectPropertyWorker = PnpGetObjectPropertyWorker(v10, a2, v8, v22, v23, v24, v25, v26, v19, v28, v20);
  v14 = ObjectPropertyWorker;
  if( !v11 )
    return v14;
  LODWORD(v21[0]) = ObjectPropertyWorker;
  v15 = v11(v10, a2, v8, 8i64, 2, v21);
  v16 = v15;
  if( v15 == -1073741822 )
    return v14;
  if( v15 == -1073741536 )
    return v21[0];
  v17 = v14;
  if( v16 )
    return -1073741595;
  return v17;
}

Referenced by:

CmDeleteDeviceWorker
CmGetContainerBooleanPropertyCallback
CmGetDeviceCompoundFiltersWorker
CmGetDeviceInterfaceMappedPropertyFromComposite
CmGetDeviceMappedPropertyFromComposite
CmGetDeviceParent
CmGetDeviceRegPropWorker
CmGetInstallerClassCompoundFiltersWorker
CmGetInstallerClassMappedPropertyFromComposite
CmGetInterfaceClassMappedPropertyFromComposite
CmGetParentDeviceContainerId
CmIsDeviceSafeRemovalRequired
CmMatchLastKnownParentCallback
CmQueryDevicePanelPldProperty
CmUpdateDevicePanel
CmUpdateDevicePanelInterface
IoGetDeviceDirectory
IoGetDeviceInterfaceAlias
IopDeviceObjectFromSymbolicName
IopGetDeviceInterfaces
IopProcessSetInterfaceState
IopRegisterDeviceInterface
PiAuditDeviceOperation
PiAuditDeviceStart
PiCMGetObjectProperty
PiCMUnregisterDeviceInterface
PiDcContainerRequiresConfiguration
PiDcGenerateConfigNotificationIfContainerRequiresConfiguration
PiDcHandleDeviceEvent
PiDcHandleInterfaceEvent
PiDcResetChildDeviceContainerCallback
PiDevCfgConfigureDevice
PiDevCfgCopyDeviceKey
PiDevCfgCopyObjectProperties
PiDevCfgFindDeviceDriver
PiDevCfgGetDeviceClassConfigFlags
PiDevCfgGetFailedInstallProblemStatus
PiDevCfgMigrateDevice
PiDevCfgProcessDevice
PiDevCfgQueryObjectProperties
PiDevCfgResetDeviceDriverSettings
PiDevCfgResolveVariableDeviceProperty
PiDmGetReferencedObjectFromProperty
PiDmListInitEnumCallback
PiDmObjectGetAggregatedBooleanPropertyData
PiDmObjectProcessPropertyChange
PiDmObjectUpdateCachedObjectProperty
PiDqPnPGetObjectProperty
PiDrvDbGetNodeSystemRoot
PiDrvDbLoadNodeWorkerCallback
PiDrvDbQuerySyncNodesUpdated
PiDrvDbSetupNodes
PiPnpRtlApplyMandatoryDeviceInterfaceFilters
PiPnpRtlGatherInstallerClassChangeInfo
PiPnpRtlGatherInterfaceDeleteInfo
PiPnpRtlInterfaceFilterCallback
PiPnpRtlIsDeviceEnumerableForUser
PiPnpRtlIsDeviceValidForSession
PiPnpRtlObjectActionCallback
PiPnpRtlServiceFilterCallback
PiPnpRtlSetObjectProperty
PiRebalanceOptOut
PiUEventCacheObjectProperties
PiUEventDeviceNeedsInstall
PiUEventProcessBroadcastNotifications
PipCallDriverAddDevice
PipGetDeviceObjectLocation
PnpAssignResourcesToDevices
PnpCallDriverQueryServiceHelper
PnpDeviceRaisePropertyChangeEventWorker
PnpGetDeviceInstancePropertyData
PnpGetDeviceInterfacePropertyData
PnpGetDevicePropertyData
PnpUpdateRebootRequiredReason
PpForEachDeviceInstanceDriver