IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL (ntddstor.h)
此 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求可用來將數據集管理要求傳送至存儲設備。
主要程序代碼
輸入緩衝區
Irp->AssociatedIrp.SystemBuffer 的緩衝區包含 DEVICE_DSM_INPUT 結構。 視此結構的 Action 成員而定,輸入緩衝區可能會另外包含參數區塊和數據集範圍的區塊。 如需所有可能動作的描述,請參閱 DEVICE_DSM_ACTION 描述。
輸入緩衝區長度
參數.DeviceIoControl.InputBufferLength 在 IRP 的 I/O 堆棧位置,表示緩衝區的大小,以位元組為單位,緩衝區的大小至少必須是 大小(DEVICE_DSM_INPUT)。
輸出緩衝區
根據DEVICE_DSM_INPUT的 Action 成員中所設定的值,要求可能會在 Irp->AssociatedIrp.SystemBuffer傳回緩衝區中的數據。 如果 DSM 作業傳回輸出並 Parameters.DeviceIoControl.OutputBufferLength> 0,系統緩衝區將會包含有效的 DEVICE_DSM_OUTPUT 數據。 視 Action而定,輸出緩衝區可能會另外包含輸出區塊。
輸出緩衝區長度
輸出緩衝區的位元組長度,如果有的話。 如果傳回輸出,輸出緩衝區必須至少 sizeof(DEVICE_DSM_OUTPUT)。
狀態區塊
[狀態] 字段可以設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_INVALID_DEVICE_REQUEST]、[STATUS_BUFFER_TOO_SMALL]、[STATUS_BUFFER_OVERFLOW] 或其他錯誤狀態。
言論
由於記憶體驅動程式堆疊的記憶體集區需求,包含此 IOCTL 的 IRP 完成必須位於 IRQL < DISPATCH_LEVEL。
如需詳細資訊,請參閱 數據集管理概觀。
要求
要求 | 價值 |
---|---|
標頭 | ntddstor.h (include Ntddstor.h) |
IRQL | IRQL < DISPATCH_LEVEL (請參閱一節。) |