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’objet FileObject. Consultez IoCreateFile pour obtenir la liste complète des indicateurs DesiredAccess définis par le système.

[in] DesiredShareAccess

Spécifie le type d’accès au partage à définir pour l’objet fichier. Cette valeur peut être égale à 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 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

None

Remarques

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

Cette routine définit les informations d’accès et de partage lors de la première ouverture de FileObject . Elle retourne un pointeur vers la structure de données d’accès partagé 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 les plus 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 d’appareil créé par le pilote associé à l’objet FileObject donné.

IoSetShareAccess n’est pas une opération atomique. Par conséquent, les pilotes appelant cette routine doivent protéger l’objet de fichier partagé passé à IoSetShareAccess au moyen 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é.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
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