_DEVICE_DSM_NOTIFICATION_PARAMETERS structure

The DEVICE_DSM_NOTIFICATION_PARAMETERS structure specifies the parameters for a notification action related to the data-set attributes for a device.

The notification action is specified in the DEVICE_MANAGE_DATA_SET_ATTRIBUTES structure that is contained in the system buffer of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request.

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

Specifies the total size, in bytes, of this structure. The value of this member must include the total size, in bytes, of the FileTypeIDs member.

Flags

A flag that specifies the characteristics of the notification operation. The Flags member must be set to one of the following values:

DEVICE_DSM_NOTIFY_FLAG_BEGIN

The Logical Block Address (LBA) range is currently being used by the file types that are specified in the FileTypeIDs member.

Note The LBA range is specified by the data set range of the DEVICE_MANAGE_DATA_SET_ATTRIBUTES structure.

DEVICE_DSM_NOTIFY_FLAG_END

The LBA range is no longer being used by the file types that are specified in the FileTypeIDs member.

NumFileTypeIDs

The number of entries in the FileTypeIDs member.

Remarks

Starting with Windows 7, the NTFS file system notifies the storage stack when the 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_MANAGE_DATA_SET_ATTRIBUTES structure. For the notification operation, the file system sets the members of the DEVICE_MANAGE_DATA_SET_ATTRIBUTES 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

   
Windows version Windows 7 Windows Server 2008 R2
Header ntddstor.h (include Ntddstor.h)

See Also

DEVICE_MANAGE_DATA_SET_ATTRIBUTES

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES