structure DEVICE_MANAGE_DATA_SET_ATTRIBUTES (ntddstor.h)
La structure DEVICE_DSM_INPUT (ou DEVICE_MANAGE_DATA_SET_ATTRIBUTES) spécifie une action de gestion pour les attributs du jeu de données d’un appareil.
Syntaxe
typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES {
ULONG Size;
DEVICE_DSM_ACTION Action;
ULONG Flags;
ULONG ParameterBlockOffset;
ULONG ParameterBlockLength;
ULONG DataSetRangesOffset;
ULONG DataSetRangesLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES, DEVICE_DSM_INPUT, *PDEVICE_DSM_INPUT;
Membres
Size
Taille de la structure DEVICE_DSM_INPUT, en octets. La valeur de ce membre change à mesure que des membres sont ajoutés à la structure.
Action
Valeur DEVICE_DSM_ACTION qui spécifie l’action à effectuer. Pour obtenir la liste des valeurs d’action et des descriptions, consultez descriptions DEVICE_DSM_ACTION.
Si l’indicateur DeviceDsmActionFlag_NonDestructive (bit le plus significatif) est défini dans Action, l’action spécifiée n’est pas destructrice. Pour les actions non destructrices, le pilote peut transférer en toute sécurité la demande IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES au pilote inférieur suivant de la pile, même si le pilote ne gère pas l’action spécifiée. Si le pilote gère le DSM, il doit effectuer le traitement normal du bloc de plages de jeux de données spécifié par les membres DataSetRangesOffset et DataSetRangesLength avant de transférer la demande IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES au pilote inférieur suivant.
Flags
Ces indicateurs sont globaux pour toutes les actions de contrôle. Ce membre peut être défini sur l’un des indicateurs suivants :
Valeur de l’indicateur | Signification |
---|---|
DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE | L’action de contrôle est spécifiée pour l’ensemble du bloc de plages de jeu de données. Si cet indicateur est défini, les membres DataSetRangesOffset et DataSetRangesLength doivent être définis sur zéro. |
ParameterBlockOffset
Spécifie le début du bloc de paramètres dans la charge utile de la demande IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES . Le format du bloc de paramètres dépend de la valeur du membre Action . Pour plus d’informations sur le format de bloc de paramètres, consultez descriptions DEVICE_DSM_ACTION. Remarque : Le décalage du bloc de paramètres doit être aligné sur la limite d’adresse du paramètre correspondant.
Si ParameterBlockOffset a la valeur zéro, le bloc de paramètres n’existe pas.
ParameterBlockLength
Spécifie la longueur, en octets, du bloc de paramètres dans la charge utile de la requête IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES.
Si ParameterBlockLength a la valeur zéro, le bloc de paramètres n’existe pas.
DataSetRangesOffset
Spécifie le début du bloc de plages de jeu de données dans la charge utile de la requête IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. Ce bloc se compose d’une ou plusieurs entrées contiguës mises en forme en tant que structures DEVICE_DSM_RANGE . Remarque : Le décalage du bloc de plage de jeu de données doit être aligné sur la limite d’adresse de la structure DEVICE_DSM_RANGE.
Si la valeur est égale à zéro, le bloc de plages de jeu de données n’existe pas.
DataSetRangesLength
Spécifie la longueur, en octets, du bloc de plages de jeu de données dans la charge utile de la requête IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES. Si DataSetRangesLength a la valeur zéro, le bloc de plages de jeux de données n’existe pas.
Remarques
Pour plus d’informations sur le format de la charge utile pour une demande de IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES , consultez Vue d’ensemble de la gestion des ensembles de données. La taille totale de la mémoire tampon doit être au moins sizeof(DEVICE_DSM_INPUT) + ParameterBlockLength + DataSetRangesLength
.
Le bloc de plages de jeux de données est spécifié par les membres DataSetRangesOffset et DataSetRangesLength . Si ce bloc existe, il contient des structures DEVICE_DSM_RANGE contiguës.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddstor.h (inclure Ntddstor.h) |
Voir aussi
Vue d’ensemble de la gestion des ensembles de données