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
  • ParameterBlockOffsetParameterBlockLength 成員會指定通知作業的參數區塊位置和大小。 參數區塊會格式化為DEVICE_DSM_NOTIFICATION_PARAMETERS結構。
  • 如果 Flags 成員設定為零, DataSetRangesOffsetDataSetRangesLength 成員會指定 IOCTL 承載內的數據集範圍區塊。
  • 如果 Flags 成員設定為 DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE,DataSetRangesOffsetDataSetRangesLength 成員會設定為零,而通知動作會包含指定檔案的整個數據集範圍。

規格需求

需求
最低支援的用戶端 Windows 7
最低支援的伺服器 Windows Server 2008 R2
標頭 ntddstor.h (包含 Ntddstor.h)

另請參閱

數據集管理概觀

DEVICE_DSM_ACTION描述

DEVICE_DSM_INPUT

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES