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
指定通知作業特性的旗標。 旗標 成員必須設定為下列其中一個值:
旗 | 意義 |
---|---|
DEVICE_DSM_NOTIFY_FLAG_BEGIN | 邏輯區塊位址 (LBA) 範圍目前正由 FileTypeID 成員中指定的檔案類型使用。 LBA 範圍是由 IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES 要求承載內的數據集範圍所指定。 |
DEVICE_DSM_NOTIFY_FLAG_END | LBA 範圍不再由 FileTypeID 成員中指定的檔類型使用。 |
NumFileTypeIDs
FileTypeID 成員中的項目數。
FileTypeID[ANYSIZE_ARRAY]
指定通知作業檔類型的一或多個 GUID 值。 下表描述 FileTypeID GUID 值。
GUID 值 | 描述 |
---|---|
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結構。
- 如果 旗標 成員設定為零,DataSetRangesOffset,DataSetRangesLength 成員指定 IOCTL 承載內的數據集範圍區塊。
- 如果 旗標 成員設定為 DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE,DataSetRangesOffset 和 DataSetRangesLength 成員設定為零,且通知動作包含指定檔案的整個數據集範圍。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 7 |
支援的最低伺服器 | Windows Server 2008 R2 |
標頭 | ntddstor.h (include Ntddstor.h) |