FltQuerySecurityObject, fonction (fltkernel.h)
FltQuerySecurityObject récupère une copie du descripteur de sécurité d’un objet.
Syntaxe
NTSTATUS FLTAPI FltQuerySecurityObject(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] SECURITY_INFORMATION SecurityInformation,
[in, out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ULONG Length,
[out, optional] PULONG LengthNeeded
);
Paramètres
[in] Instance
Pointeur d’instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.
[in] FileObject
Pointeur d’objet de fichier pour l’objet dont le descripteur de sécurité est interrogé. Ce paramètre est obligatoire et ne peut pas être NULL.
[in] SecurityInformation
SECURITY_INFORMATION valeur. Ce paramètre est obligatoire et doit être l’un des éléments suivants :
Valeur SecurityInformation | Signification |
---|---|
OWNER_SECURITY_INFORMATION | L’identificateur du propriétaire de l’objet est interrogé. Nécessite un accès READ_CONTROL. |
GROUP_SECURITY_INFORMATION | L’identificateur de groupe principal de l’objet est interrogé. Nécessite un accès READ_CONTROL. |
DACL_SECURITY_INFORMATION | La liste de contrôle d’accès discrétionnaire (DACL) de l’objet est interrogée. Nécessite un accès READ_CONTROL. |
SACL_SECURITY_INFORMATION | La liste de contrôle d’accès système (SACL) de l’objet est interrogée. Nécessite un accès ACCESS_SYSTEM_SECURITY. |
[in, out] SecurityDescriptor
Pointeur vers une mémoire tampon de sortie fournie par l’appelant qui reçoit une copie du descripteur de sécurité pour l’objet spécifié. La structure SECURITY_DESCRIPTOR est retournée au format auto-relatif. Ce paramètre est facultatif et peut être NULL.
[in] Length
Taille, en octets, de la mémoire tampon SecurityDescriptor.
[out, optional] LengthNeeded
Pointeur vers une variable allouée par l’appelant qui reçoit le nombre d’octets requis pour stocker le descripteur de sécurité copié retourné dans la mémoire tampon pointée par le paramètre SecurityDescriptor. Ce paramètre est facultatif et peut être NULL.
Valeur de retour
FltQuerySecurityObject retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
L’appelant n’a pas eu l’accès requis. Il s’agit d’un code d’erreur. |
|
La mémoire tampon est trop petite pour contenir le descripteur de sécurité. Aucune des informations de sécurité n’a été copiée dans la mémoire tampon. Il s’agit d’un code d’erreur. |
Remarques
Un descripteur de sécurité peut être sous forme absolue ou auto-relative. Sous forme auto-relative, tous les membres de la structure se trouvent contiguëment en mémoire. Sous forme absolue, la structure contient uniquement des pointeurs vers ses membres.
Le système de fichiers NTFS impose une limite de 64 Ko à la taille du descripteur de sécurité écrit sur disque pour un fichier. (Le système de fichiers FAT ne prend pas en charge les descripteurs de sécurité pour les fichiers.) Ainsi, une mémoire tampon de 64 Ko pointée par le paramètre SecurityDescriptor est garantie d’être suffisamment volumineuse pour contenir la structure de SECURITY_DESCRIPTOR retournée.
Objet que le FileObject points de paramètre pour représenter un flux de données nommé. Pour plus d’informations sur les flux de données nommés, consultez FILE_STREAM_INFORMATION.
Pour plus d’informations sur la sécurité et le contrôle d’accès, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |