StorPortPoFxPowerControl 函式 (storport.h)
StorPortPoFxPowerControl 例程會將電源控制要求傳送至電源管理架構, (PoFx) ,以轉送至電源引擎外掛程式 (PEP) 。
語法
ULONG StorPortPoFxPowerControl(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
[in] LPCGUID PowerControlCode,
[in, optional] PVOID InBuffer,
[in] SIZE_T InBufferSize,
[out, optional] PVOID OutBuffer,
[in] SIZE_T OutBufferSize,
[out, optional] PSIZE_T BytesReturned
);
參數
[in] HwDeviceExtension
主機總線適配卡的硬體裝置擴充功能指標, (HBA) 。 這是用來在 StorPortInitializePoFxPower 呼叫之前註冊裝置的裝置擴充功能。
Address
電源控制件程式代碼的指標。 此程式代碼是指定所要求作業的 GUID 值。
[in] PowerControlCode
電源控制件程式代碼的指標。 此程式代碼是指定所要求作業的 GUID 值。
[in, optional] InBuffer
呼叫端配置的緩衝區指標,其中包含作業的輸入數據。 此緩衝區中的數據格式取決於 PowerControlCode 參數所指定的電源控制程式代碼。 InBuffer 參數是選擇性的,如果指定的作業不需要輸入數據,則可以指定為 NULL。
[in] InBufferSize
InBuffer 參數所指向之輸入緩衝區的大小,以位元組為單位。 如果 InBuffer 為 NULL,請將 InBufferSize 設定為零。
[out, optional] OutBuffer
呼叫端配置的緩衝區指標,這個緩衝區是要包含來自作業的輸出數據。 此緩衝區中的數據格式取決於 PowerControlCode 參數所指定的電源控制程式代碼。 OutBuffer 參數是選擇性的,如果指定的作業不會產生輸出數據,則可以指定為 NULL。
[in] OutBufferSize
OutBuffer 參數所指向之輸出緩衝區的大小,以位元組為單位。 如果 OutBuffer 為 NULL,請將 OutBufferSize 設定為零。
[out, optional] BytesReturned
例程寫入 至 OutBuffer 所指向之緩衝區的數據位元組數目的位置指標。 寫入的位元組數目會小於或等於 OutBufferSize。 如果呼叫端不需要知道寫入輸出緩衝區的位元組數目,這個參數是選擇性的,而且可以指定為 NULL 。
傳回值
StorPortPoFxPowerControl 例程會傳回下列其中一個狀態代碼:
傳回碼 | Description |
---|---|
|
已成功執行 PowerControlCode 中指定的電源控制作業。 |
|
HwDeviceExtension 或 Device 為 NULL。
-或- 位址 指向無效的單位地址結構。 -或- 找不到 Address 所指定的儲存裝置。 |
|
儲存裝置未向PoFx註冊。 |
|
目前的 IRQL > DISPATCH_LEVEL。 |
|
電源控制作業失敗。 |
備註
minport 驅動程式會呼叫此例程,直接將電源控制要求傳送至 PEP。 電源控制要求類似於 I/O 控制檔要求, (IOCTL) 。 不過,不同於 IOCTL,電源控制要求會直接傳送至 PEP,而且裝置堆疊中的其他設備驅動器不會觀察到。 在 StorPortPoFxPowerControl 呼叫期間,PEP 會同步執行要求的作業。
同樣地,PEP 可以直接將電源控制要求傳送至迷你埠。 迷你埠驅動程式會在其 HwStorAdapterControl 和 HwStorUnitControl 例程中處理此要求。 ControlType 參數會接收 HwStorAdapterControl 例程中的 ScsiAdapterPoFxPowerControl 類型,以及 HwStorUnitControl 例程中的 ScsiUnitPoFxPowerControl。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平台 | Universal |
標頭 | storport.h |
程式庫 | Storport.lib |
IRQL | <= DISPATCH_LEVEL |