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 périphérique de stockage.

Code principal

IRP_MJ_DEVICE_CONTROL

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

DEVICE_DSM_ACTION Descriptions

DEVICE_DSM_INPUT

DEVICE_DSM_OUTPUT