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 périphérique de stockage.
Code principal
Mémoire tampon d'entrée
La mémoire tampon dans Irp-AssociatedIrp.SystemBuffer> contient une structure DEVICE_DSM_INPUT. Selon le membre Action de cette structure, la mémoire tampon d’entrée peut également inclure un bloc de paramètres et un bloc de plages de jeux de données. Pour obtenir une description de toutes les actions possibles , consultez descriptions de DEVICE_DSM_ACTION.
Longueur de la mémoire tampon d’entrée
Parameters.DeviceIoControl.InputBufferLength dans 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 sizeof(DEVICE_DSM_INPUT).
Mémoire tampon de sortie
Selon la valeur définie dans le membre Action de DEVICE_DSM_INPUT, la demande peut retourner des données dans la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer>. La mémoire tampon système contiendra des données DEVICE_DSM_OUTPUT valides si l’opération DSM retourne la sortie et Parameters.DeviceIoControl.OutputBufferLength> 0. En fonction de l’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 sizeof(DEVICE_DSM_OUTPUT).
Bloc d’état
Le champ État peut être défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_INVALID_DEVICE_REQUEST, STATUS_BUFFER_TOO_SMALL, STATUS_BUFFER_OVERFLOW ou d’autres status 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 ce IOCTL doit être au DISPATCH_LEVEL IRQL < .
Pour plus d’informations, consultez Vue d’ensemble de la gestion des ensembles de données.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddstor.h (inclure Ntddstor.h) |
IRQL | DISPATCH_LEVEL IRQL < (voir la section Notes.) |
Voir aussi
Vue d’ensemble de la gestion des ensembles de données