Partager via


Fonction IoSetShareAccess (wdm.h)

La routine IoSetShareAccess définit les droits d’accès pour le partage de l’objet de fichier donné.

Syntaxe

void IoSetShareAccess(
  [in]      ACCESS_MASK   DesiredAccess,
  [in]      ULONG         DesiredShareAccess,
  [in, out] PFILE_OBJECT  FileObject,
  [out]     PSHARE_ACCESS ShareAccess
);

Paramètres

[in] DesiredAccess

Spécifie une valeur ACCESS_MASK qui représente le type d’accès demandé pour l'FileObject. Consultez IoCreateFile pour obtenir la liste complète des indicateurs de DesiredAccess définis par le système.

[in] DesiredShareAccess

Spécifie le type d’accès au partage à définir pour l’objet de fichier. Cette valeur peut être zéro ou n’importe quelle combinaison des éléments suivants :

FILE_SHARE_READ

FILE_SHARE_WRITE

FILE_SHARE_DELETE

[in, out] FileObject

Pointeur vers l’objet de fichier dont l’accès au partage est défini ou réinitialisé.

[out] ShareAccess

Pointeur vers la structure SHARE_ACCESS associée à FileObject. Les pilotes doivent traiter cette structure comme opaque.

Valeur de retour

Aucun

Remarques

Seuls les pilotes en mode noyau de niveau le plus élevé doivent appeler cette routine. L’appel doit se produire dans le contexte du premier thread qui tente d’ouvrir le FileObject.

Cette routine définit les informations d’accès et de partage d’accès lorsque le FileObject est ouvert pour la première fois. Elle retourne un pointeur vers la structure de données d’accès au partage commune associée à FileObject. Les appelants doivent enregistrer ce pointeur pour une utilisation ultérieure lors de la mise à jour de l’accès ou de la fermeture du fichier.

En règle générale, les pilotes de système de fichiers (FSD) sont susceptibles d’appeler cette routine. Toutefois, d’autres pilotes de niveau supérieur peuvent appeler IoSetShareAccess pour contrôler le type d’accès autorisé à un objet de périphérique créé par un pilote associé au FileObjectdonné.

IoSetShareAccess n’est pas une opération atomique. Par conséquent, les pilotes appelant cette routine doivent protéger l’objet de fichier partagé transmis à IoSetShareAccess par le biais d’un type de verrou, tel qu’un mutex ou un verrou de ressource, afin d’empêcher l’altération du nombre d’accès partagé.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm)

Voir aussi

ACCESS_MASK

IoCheckShareAccess

IoCreateFile

ioCreateFileEx

IoGetFileObjectGenericMapping

IoGetRelatedDeviceObject

IoRemoveShareAccess

IoUpdateShareAccess