DEVICE_DSM_NOTIFICATION_PARAMETERS structure (ntddstor.h)
The DEVICE_DSM_NOTIFICATION_PARAMETERS structure specifies the parameters for a notification operation related to the data-set attributes for a device.
Syntax
typedef struct _DEVICE_DSM_NOTIFICATION_PARAMETERS {
ULONG Size;
ULONG Flags;
ULONG NumFileTypeIDs;
GUID FileTypeID[ANYSIZE_ARRAY];
} DEVICE_DSM_NOTIFICATION_PARAMETERS, *PDEVICE_DSM_NOTIFICATION_PARAMETERS;
Members
Size
The total size, in bytes, of this structure. The value of this member must include the total size, in bytes, of the FileTypeID member.
Flags
A flag that specifies the characteristics of the notification operation. The Flags member must be set to one of the following values:
Flag | Meaning |
---|---|
DEVICE_DSM_NOTIFY_FLAG_BEGIN | The Logical Block Address (LBA) range is currently being used by the file types that are specified in the FileTypeID member. The LBA range is specified by the data set range within the payload of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request. |
DEVICE_DSM_NOTIFY_FLAG_END | The LBA range is no longer being used by the file types that are specified in the FileTypeID member. |
NumFileTypeIDs
The number of entries in the FileTypeID member.
FileTypeID[ANYSIZE_ARRAY]
One or more GUID values that specify the file type for the notification operation. The following table describes the FileTypeID GUID values.
GUID value | Description |
---|---|
FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE | Specifies a notification operation for a page file. |
FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE | Specifies a notification operation for the system hibernation file. |
FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE | Specifies a notification operation for a system crash dump file. |
Remarks
The notification is specified in the parameter block within the payload of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request. See Data Set Management Overview for a general description of the payload layout.
Starting with Windows 7, the NTFS file system notifies the storage stack when the logical block addressing (LBA) data set range changes for a specified set of files. The file system issues this notification by sending the storage stack an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request with a system buffer that contains a DEVICE_DSM_INPUT structure. For the notification operation, the file system sets the members of the DEVICE_DSM_INPUT structure as follows:
- The Action member is set to DeviceDsmAction_Notification.
- The ParameterBlockOffset and ParameterBlockLength members specify the location and size of the parameter block for the notification operation. The parameter block is formatted as a DEVICE_DSM_NOTIFICATION_PARAMETERS structure.
- If the Flags member is set to zero, the DataSetRangesOffset and DataSetRangesLength members specify the data set range block within the IOCTL payload.
- If the Flags member is set to DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE, the DataSetRangesOffset and DataSetRangesLength members are set to zero and the notification action includes the entire data set range for the specified files.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 |
Minimum supported server | Windows Server 2008 R2 |
Header | ntddstor.h (include Ntddstor.h) |