Partager via


IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL (ntddstor.h)

Cette demande IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES est utilisée pour envoyer une demande de gestion de jeu de données à un appareil de stockage.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

La mémoire tampon à Irp->AssociatedIrp.SystemBuffer contient une structure DEVICE_DSM_INPUT. En fonction de l’action membre de cette structure, la mémoire tampon d’entrée peut également inclure un bloc de paramètres et un bloc de plages de jeu de données. Consultez DEVICE_DSM_ACTION descriptions pour obtenir des descriptions de toutes les actions possibles.

Longueur de la mémoire tampon d’entrée

Parameters.DeviceIoControl.InputBufferLength à l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon, qui doit être au moins taille de(DEVICE_DSM_INPUT).

Mémoire tampon de sortie

Selon la valeur définie dans l’action de membre de DEVICE_DSM_INPUT, la requête peut retourner des données dans la mémoire tampon à Irp->AssociatedIrp.SystemBuffer. La mémoire tampon système contient des données DEVICE_DSM_OUTPUT valides si l’opération DSM retourne la sortie et Parameters.DeviceIoControl.OutputBufferLength> 0. Selon 'action, la mémoire tampon de sortie peut également inclure un bloc de sortie.

Longueur de la mémoire tampon de sortie

Longueur en octets de la mémoire tampon de sortie, le cas échéant. Si la sortie est retournée, la mémoire tampon de sortie doit être au moins taille de(DEVICE_DSM_OUTPUT).

Bloc d’état

Le champ d’état de peut être défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_INVALID_DEVICE_REQUEST, STATUS_BUFFER_TOO_SMALL, STATUS_BUFFER_OVERFLOW ou un autre état d’erreur.

Remarques

En raison des exigences du pool de mémoire par la pile des pilotes de stockage, l’achèvement de l’IRP contenant cette durée de vie IOCTL doit être au < DISPATCH_LEVEL IRQL.

Pour plus d’informations, consultez Vue d’ensemble de la gestion des ensembles de données.

Exigences

Exigence Valeur
d’en-tête ntddstor.h (include Ntddstor.h)
IRQL IRQL < DISPATCH_LEVEL (voir la section Remarques.)

Voir aussi

Vue d’ensemble de la gestion des ensembles de données

DEVICE_DSM_ACTION descriptions

DEVICE_DSM_INPUT

DEVICE_DSM_OUTPUT