Partager via


IRP_MJ_SET_SECURITY (pilotes FS et filtre)

Date d’envoi

Le Gestionnaire d’E/S envoie la demande IRP_MJ_SET_SECURITY. Cette requête peut être envoyée, par exemple, lorsqu’une application en mode utilisateur a appelé une fonction Win32 telle que SetSecurityInfo.

Opération : Pilotes du système de fichiers

Le pilote de système de fichiers doit extraire et décoder l’objet file pour déterminer s’il représente un fichier utilisateur ou un répertoire ouvert. Si c’est le cas, le pilote doit traiter la demande et terminer l’IRP. Dans le cas contraire, le pilote doit effectuer l’IRP comme il convient sans traiter la demande.

Opération : Pilotes de filtre de système de fichiers hérités

Le pilote de filtre doit transmettre cette IRP au pilote inférieur suivant sur la pile.

Paramètres

Un système de fichiers ou un pilote de filtre appelle IoGetCurrentIrpStackLocation pour l’IRP donné afin d’obtenir un pointeur vers son propre emplacement de pile dans l’IRP. Dans les paramètres suivants, Irp pointe vers l’IRP et IrpSp pointe vers le IO_STACK_LOCATION. Le pilote peut utiliser les informations définies dans les membres suivants de l’IRP et de l’emplacement de pile IRP pour traiter une demande d’informations de sécurité de jeu :

  • DeviceObject est un pointeur vers l’objet d’appareil cible.

  • Irp->IoStatus pointe vers une structure IO_STATUS_BLOCK qui reçoit la status d’achèvement finale et des informations sur l’opération demandée.

  • IrpSp->FileObject pointe vers l’objet file associé à DeviceObject.

    Le paramètre IrpSp-FileObject> contient un pointeur vers le champ RelatedFileObject, qui est également une structure FILE_OBJECT. Le champ RelatedFileObject de la structure FILE_OBJECT n’est pas valide pendant le traitement de IRP_MJ_SET_SECURITY et ne doit pas être utilisé.

  • IrpSp->MajorFunction est défini sur IRP_MJ_SET_SECURITY.

  • IrpSp->Parameters.SetSecurity.SecurityDescriptor pointe vers une structure SECURITY_DESCRIPTOR qui contient les valeurs des informations de sécurité à affecter à l’objet.

  • IrpSp->Parameters.SetSecurity.SecurityInformation est une valeur de type SECURITY_INFORMATION qui spécifie les informations de sécurité à définir dans le descripteur de sécurité, et peut être l’une des valeurs suivantes.

Valeur SecurityInformation Signification
DACL_SECURITY_INFORMATION Indique que la liste de contrôle d’accès discrétionnaire (DACL) de l’objet est en cours de définition. Nécessite un accès WRITE_DAC.
GROUP_SECURITY_INFORMATION Indique que l’identificateur de groupe principal de l’objet est défini. Nécessite un accès WRITE_OWNER.
OWNER_SECURITY_INFORMATION Indique que l’identificateur de propriétaire de l’objet est défini. Nécessite un accès WRITE_OWNER.
SACL_SECURITY_INFORMATION Indique que la liste de contrôle d’accès système (SACL) de l’objet est en cours de définition. Nécessite un accès ACCESS_SYSTEM_SECURITY.

Voir aussi

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_SECURITY

SECURITY_DESCRIPTOR

SECURITY_INFORMATION