共用方式為


IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE IOCTL (ehstorioctl.h)

IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE要求是由尋址接收器驅動程式和應用程式傳送,以變更記憶體裝置佇列的狀態。 當裝置暫時未經授權時,會保留記憶體裝置佇列中的IO要求。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp-AssociatedIrp.SystemBuffer> 的輸入緩衝區包含ACT_QUEUE_STATE結構。 ACT_QUEUE_STATEehstorioctl.h 中宣告如下。

typedef struct tagACT_QUEUE_STATE
{
    BOOLEAN fFrozen;
} ACT_QUEUE_STATE;

輸入緩衝區長度

ACT_QUEUE_STATE 結構的長度。

輸出緩衝區

無。

輸出緩衝區長度

無。

狀態區塊

下列其中一個值可以在 [ 狀態 ] 字段中傳回。

狀態值 Description
STATUS_SUCCESS 已成功變更佇列狀態。
STATUS_INVALID_BUFFER_SIZE 輸入緩衝區長度太小。
STATUS_ACCESS_DENIED IOCTL 要求不是由尋址接收器驅動程序發出。

備註

如果需要暫時未經授權,尋址接收器驅動程式或應用程式可以凍結儲存裝置 IO 要求佇列。 一般而言,暫時未經授權會在低電源狀態期間發生,或當原則需要鎖定增強型存儲設備時發生,例如鎖定的用戶會話。 在這種情況下,最好保留擱置的 IO 要求,而不是讓 IO 要求失敗並造成數據遺失。

若要防止應用程式濫用 IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE 要求,只有驅動程式可以發出此 IOCTL。 如果從使用者模式應用程式傳送,此要求將會失敗並STATUS_ACCESS_DENIED。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供
標頭 ehstorioctl.h (包含 EhStorIoctl.h)

另請參閱

IOCTL_EHSTOR_DEVICE_GET_QUEUE_STATE