Skip to content

Latest commit

 

History

History
115 lines (87 loc) · 3.67 KB

nf-pepfx-pofxregistercoredevice.md

File metadata and controls

115 lines (87 loc) · 3.67 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:pepfx.PoFxRegisterCoreDevice
PoFxRegisterCoreDevice function (pepfx.h)
The PoFxRegisterCoreDevice routine registers a new core system resource with the Windows power management framework (PoFx).
kernel\pofxregistercoredevice.htm
kernel
04/30/2018
PoFxRegisterCoreDevice function
PoFxRegisterCoreDevice, PoFxRegisterCoreDevice routine [Kernel-Mode Driver Architecture], kernel.pofxregistercoredevice, pepfx/PoFxRegisterCoreDevice
pepfx.h
Pep_x.h
Windows
Available starting with Windows 10.
Ntoskrnl.lib
PASSIVE_LEVEL
Windows
PoFxRegisterCoreDevice
pepfx/PoFxRegisterCoreDevice
APIRef
kbSyntax
LibDef
ntoskrnl.lib
ntoskrnl.dll
PoFxRegisterCoreDevice

PoFxRegisterCoreDevice function (pepfx.h)

-description

The PoFxRegisterCoreDevice routine registers a new core system resource with the Windows power management framework (PoFx).

-parameters

-param Id [in]

A string that uniquely identifies the core system resource. This member is a pointer to a UNICODE_STRING structure that contains a device identification string.

-param Device [in]

A pointer to a PO_FX_CORE_DEVICE structure that describes the power characteristics of the core system resource.

-param Handle [out]

A pointer to a location to which the routine writes a POHANDLE value. This handle represents the registration of the core system resource with PoFx.

-returns

PoFxRegisterCoreDevice returns STATUS_SUCCESS if the call successfully registers the PEP. Possible error return values include the following status codes.

Return value Description
STATUS_INVALID_PARAMETER
The component count for this device is zero, or the PO_FX_CORE_DEVICE structure contains an invalid version number, or the ComponentCriticalTransitionCallback member of this structure contains an invalid function pointer.
STATUS_INSUFFICIENT_RESOURCES
Unable to allocate the resources required to complete the requested registration.

-remarks

This routine registers a core system resource so that this resource can be power-managed by PoFx.

Core system resources are hardware devices, such as timers and interrupt controllers, that are managed by the Windows hardware abstraction layer (HAL). These devices provide basic functions that are required by the operating system. Due to the close relationship between core system resources and processors, the power management of these resources needs to be coordinated with processor idle state management.

The PoFxRegisterCoreDevice routine should be called at IRQL = PASSIVE_LEVEL.

-see-also

PO_FX_CORE_DEVICE

UNICODE_STRING