Fonction FltBuildDefaultSecurityDescriptor (fltkernel.h)

FltBuildDefaultSecurityDescriptor génère un descripteur de sécurité par défaut à utiliser avec FltCreateCommunicationPort.

Syntaxe

NTSTATUS FLTAPI FltBuildDefaultSecurityDescriptor(
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [in]  ACCESS_MASK          DesiredAccess
);

Paramètres

[out] SecurityDescriptor

Pointeur vers une variable allouée par l’appelant qui reçoit un pointeur opaque vers le SECURITY_DESCRIPTOR nouvellement créé.

[in] DesiredAccess

Masque de bits d’indicateurs qui spécifient le type d’accès requis par l’appelant à l’objet de port. L’ensemble d’indicateurs DesiredAccess définis par le système détermine les droits d’accès spécifiques suivants pour les objets de port de communication du pilote minifilter.

Indicateurs DesiredAccess Signification
FLT_PORT_CONNECT L’appelant peut se connecter au port.
FLT_PORT_ALL_ACCESS FLT_PORT_CONNECT | STANDARD_RIGHTS_ALL

Valeur retournée

FltBuildDefaultSecurityDescriptor retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :

Code de retour Description
STATUS_INSUFFICIENT_RESOURCES
FltBuildDefaultSecurityDescriptor a rencontré un échec d’allocation de pool. Il s’agit d’un code d’erreur.

Remarques

Lors de la création d’un port de communication du pilote minifilter, un pilote minifilter peut appeler FltBuildDefaultSecurityDescriptor pour créer un descripteur de sécurité par défaut pour le port. Le pilote minifilter crée ensuite le port en appelant InitializeObjectAttributes et FltCreateCommunicationPort. Le descripteur de sécurité est passé en tant que paramètre à InitializeObjectAttributes.

FltBuildDefaultSecurityDescriptor permet au système d’allouer un descripteur de sécurité par défaut à partir d’un pool paginé. Lorsque ce descripteur de sécurité est appliqué à un objet, seuls les utilisateurs disposant de privilèges système ou administrateur ont accès à l’objet.

Les pilotes Minifilter appellent généralement FltBuildDefaultSecurityDescriptor immédiatement avant d’appeler FltCreateCommunicationPort et FltFreeSecurityDescriptor immédiatement après avoir appelé FltCreateCommunicationPort.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
IRQL <= APC_LEVEL

Voir aussi

ACCESS_MASK

FltCreateCommunicationPort

FltFreeSecurityDescriptor

InitializeObjectAttributes

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

SECURITY_DESCRIPTOR