StorPortInitializePoFxPower - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// storport.h

ULONG StorPortInitializePoFxPower(
  [in]           PVOID             HwDeviceExtension,
  [in, optional] PSTOR_ADDRESS     Address,
  [in]           PSTOR_POFX_DEVICE Device,
  [in, out]      PBOOLEAN          D3ColdEnabled
);

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-storport-storportinitializepofxpower)

StorPortInitializePoFxPower function

Description

A miniport driver calls StorPortInitializePoFxPower to register a storage device with the power management framework (PoFx).

Parameters

HwDeviceExtension [in]

A pointer to the hardware device extension for the host bus adapter (HBA).

Address [in, optional]

The address of a storage device unit. This parameter is NULL when registering for a storage adapter.

Device [in]

A pointer to a STOR_POFX_DEVICE_V2 structure cast to a pointer to STOR_POFX_DEVICE. This structure contains a component list with F-states for a storage device.

D3ColdEnabled [in, out]

A pointer to a BOOLEAN value which the Storport driver will set to indicate whether the D3 Cold state is enabled for the storage device.

Return value

The StorPortInitializePoFxPower routine returns one of these status codes:

Return code Description
STOR_STATUS_INVALID_PARAMETER Either HwDeviceExtension or Device is NULL.

-or-

Address points to an invalid unit address structure.

-or-

The storage device specified by Address is not found.

-or-

The STOR_POFX_DEVICE structure pointed to by Device is formatted incorrectly or contains invalid data.
STOR_STATUS_SUCCESS The storage device was successfully registered with PoFx.
STOR_STATUS_INSUFFICIENT_RESOURCES Sufficient resources are not available to register the storage device with PoFx.
STOR_STATUS_UNSUCCESSFUL The storage device was not successfully registered with PoFx.

-or-

The storage device is already registered with PoFx.

Remarks

Adapter devices are always registered with a NULL value for address. Unit devices are registered by specifying a valid unit address for address.

If the STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD flag is set in the Flags member of Device, Storport will attempt to enable D3 Cold support for the device component. The D3 Cold enabled status is returned in the BOOLEAN value pointed to by D3ColdEnabled.

See also

STOR_POFX_DEVICE