Partager via


IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ IOCTL (ehstorioctl.h)

IOCTL_EHSTOR_DRIVER_PERFORM_AUTHZ est envoyé par le pilote EHSTOR (Enhanced Storage Class Driver) au pilote de silo pour lancer l’authentification à la demande ou la déauthentication.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

La mémoire tampon d’entrée sur Irp-AssociatedIrp.SystemBuffer> doit contenir une structure AUTHZ_STATE qui indique le type d’opération d’authentification à effectuer. AUTHZ_STATE est déclaré dans ehstorioctl.h comme suit.

typedef struct _AUTHZ_STATE
{
    ULONG AuthzState;
} AUTHZ_STATE;

La valeur d’AuthzState spécifie l’opération d’authentification. Il s’agit de l’un des éléments suivants.

Valeur Description
0 Effectuez la déauthentication à la demande.
AUTHZSTATE_AUTHENTICATE Effectuez l’authentification à la demande.
AUTHZSTATE_CLEAR_AUTHKEY_CACHE Effectuez la déauthentication à la demande et effacez les clés d’authentification mises en cache.

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

Longueur d’une structure AUTHZ_STATE .

Mémoire tampon de sortie

Aucun.

Longueur de la mémoire tampon de sortie

Aucun.

Bloc d’état

STATUS_SUCCESS est retourné dans le champ État par le pilote de silo si l’état d’authentification est modifié. Sinon, STATUS_UNSUCCESSFUL est retourné.

Remarques

Ce IOCTL est envoyé par EHSTOR à un pilote de silo qui prend en charge l’authentification à la demande. Le pilote de silo avertit EHSTOR de cette fonctionnalité dans une demande de IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES précédente avec l’indicateur CAP_ON_DEMAND_AUTHENTICATION défini dans le membre Capabilities de SILO_DRIVER_CAPABILITES.

En réponse à ce IOCTL, le pilote de silo effectue l’authentification ou la déauthentication pour l’appareil. Pour les appareils à bandes, le pilote de silo va, en fonction de l’opération spécifiée dans la mémoire tampon système, déverrouiller ou verrouiller autant de bandes que possible pour les lectures et les écritures.

Si le pilote de silo ne parvient pas à effectuer l’opération demandée, l’état d’authentification d’un appareil ne sera pas modifié.

Si le membre AuthzState de AUTHZ_STATE est défini sur AUTHZSTATE_CLEAR_AUTHKEY_CACHE, le pilote de silo efface son cache de clé d’authentification en plus de la désauthentification. AUTHZSTATE_CLEAR_AUTHKEY_CACHE est défini lors de l’arrêt ou de la mise en veille prolongée du système. Cela empêche la présence du cache de clés dans le fichier de mise en veille prolongée.

Si un appareil prend en charge plusieurs silos, l’authentification par chaque silo est exclusive. Une opération d’authentification par un pilote de silo n’affecte pas l’état d’authentification défini par un autre pilote de silo.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8
En-tête ehstorioctl.h (inclure EhStorIoctl.h)

Voir aussi

IOCTL_EHSTOR_DRIVER_REPORT_CAPABILITIES

SILO_DRIVER_CAPABILITES