PnprIsProcessorDevice

UINT8 __stdcall PnprIsProcessorDevice(
        DEVICE_OBJECT *DeviceObject,
        UINT8 IsTarget,
        UINT64 *ProcessorNumber,
        UINT64 *ApicId){
  PZZWSTR SymbolicLinkList; 
  SymbolicLinkList = 0i64;
  if( IsTarget )
  {
    if( IoGetDeviceInterfaces(&GUID_DEVICE_PROCESSOR, DeviceObject, 0, &SymbolicLinkList) >= 0 && *SymbolicLinkList )
    {
      ExFreePoolWithTag(SymbolicLinkList, 0);
      IoGetDevicePropertyData(DeviceObject, (DEVPROPKEY *)&PROCESSOR_NUMBER_PKEY, 0i64, 0i64);
    }
  }
  else
  {
    IoGetDevicePropertyData(DeviceObject, (DEVPROPKEY *)&DEVPKEY_Spare_Processor_Apic_Id, 0i64, 0i64);
  }
  return 0;
}

Referenced by:

PnprAddDeviceResources