共用方式為


IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL (ntddstor.h)

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求可用來將數據集管理要求傳送至存儲設備。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

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而定,輸出緩衝區可能會另外包含輸出區塊。

輸出緩衝區長度

輸出緩衝區的位元組長度,如果有的話。 如果傳回輸出,輸出緩衝區必須至少 sizeofDEVICE_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 (請參閱一節。)

另請參閱

數據集管理概觀

DEVICE_DSM_ACTION 描述

DEVICE_DSM_INPUT

DEVICE_DSM_OUTPUT