DEVICE_DSM_NOTIFICATION_PARAMETERS 結構 (ntddstor.h)
DEVICE_DSM_NOTIFICATION_PARAMETERS 結構會指定與裝置數據集屬性相關的通知作業參數。
語法
typedef struct _DEVICE_DSM_NOTIFICATION_PARAMETERS {
ULONG Size;
ULONG Flags;
ULONG NumFileTypeIDs;
GUID FileTypeID[ANYSIZE_ARRAY];
} DEVICE_DSM_NOTIFICATION_PARAMETERS, *PDEVICE_DSM_NOTIFICATION_PARAMETERS;
成員
Size
這個 結構的大小總計,以位元組為單位。 這個成員的值必須包含 FileTypeID 成員的總大小,以位元組為單位。
Flags
指定通知作業特性的旗標。 Flags 成員必須設定為下列其中一個值:
旗標 | 意義 |
---|---|
DEVICE_DSM_NOTIFY_FLAG_BEGIN | FileTypeID 成員中指定的檔類型目前會使用邏輯區塊位址 (LBA) 範圍。 LBA 範圍是由 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求承載 內的數據集範圍所指定。 |
DEVICE_DSM_NOTIFY_FLAG_END | LBA 範圍不再由 FileTypeID 成員中指定的檔案類型使用。 |
NumFileTypeIDs
FileTypeID 成員中的項目數目。
FileTypeID[ANYSIZE_ARRAY]
一或多個 GUID 值,指定通知作業的檔案類型。 下表描述 FileTypeID GUID 值。
GUID 值 | Description |
---|---|
FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE | 指定頁面檔案的通知作業。 |
FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE | 指定系統休眠檔案的通知作業。 |
FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE | 指定系統損毀傾印檔案的通知作業。 |
備註
通知是在 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求承載內的參數區塊中指定。 如需承載配置的一般描述,請參閱 數據集管理概觀 。
從 Windows 7 開始,當邏輯區塊尋址 (LBA) 數據集範圍變更時,NTFS 檔案系統會通知記憶體堆疊。 文件系統會傳送記憶體堆疊,以包含DEVICE_DSM_INPUT結構的系統緩衝區傳送IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES要求,以發出此通知。 針對通知作業,文件系統會設定DEVICE_DSM_INPUT結構的成員,如下所示:
- Action 成員會設定為 DeviceDsmAction_Notification。
- ParameterBlockOffset 和 ParameterBlockLength 成員會指定通知作業的參數區塊位置和大小。 參數區塊會格式化為DEVICE_DSM_NOTIFICATION_PARAMETERS結構。
- 如果 Flags 成員設定為零, DataSetRangesOffset 和 DataSetRangesLength 成員會指定 IOCTL 承載內的數據集範圍區塊。
- 如果 Flags 成員設定為 DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE,DataSetRangesOffset 和 DataSetRangesLength 成員會設定為零,而通知動作會包含指定檔案的整個數據集範圍。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 |
最低支援的伺服器 | Windows Server 2008 R2 |
標頭 | ntddstor.h (包含 Ntddstor.h) |