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
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