Funzione IoSetShareAccess (wdm.h)
La routine IoSetShareAccess imposta i diritti di accesso per la condivisione dell'oggetto file specificato.
Sintassi
void IoSetShareAccess(
[in] ACCESS_MASK DesiredAccess,
[in] ULONG DesiredShareAccess,
[in, out] PFILE_OBJECT FileObject,
[out] PSHARE_ACCESS ShareAccess
);
Parametri
[in] DesiredAccess
Specifica un valore di ACCESS_MASK che rappresenta il tipo di accesso richiesto per il FileObject. Vedere IoCreateFile per un elenco completo dei flag di DesiredAccess definiti dal sistema.
[in] DesiredShareAccess
Specifica il tipo di accesso alla condivisione da impostare per l'oggetto file. Questo valore può essere zero o qualsiasi combinazione di quanto segue:
FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
[in, out] FileObject
Puntatore all'oggetto file di cui è in corso l'impostazione o la reimpostazione dell'accesso alla condivisione.
[out] ShareAccess
Puntatore alla struttura di SHARE_ACCESS associata a FileObject. I driver devono considerare questa struttura come opaca.
Valore restituito
Nessuno
Osservazioni
Solo i driver in modalità kernel di livello più alto devono chiamare questa routine. La chiamata deve essere eseguita nel contesto del primo thread che tenta di aprire il FileObject.
Questa routine imposta le informazioni di accesso e condivisione quando viene aperto il FileObject. Restituisce un puntatore alla struttura dei dati di accesso condiviso comune associata a FileObject. I chiamanti devono salvare questo puntatore per usarlo in un secondo momento durante l'aggiornamento dell'accesso o la chiusura del file.
In genere, i driver del file system (FSD) sono più probabili chiamare questa routine. Tuttavia, altri driver di livello più elevato possono chiamare IoSetShareAccess per controllare il tipo di accesso consentito a un oggetto dispositivo creato dal driver associato all'oggetto FileObject specificato.
IoSetShareAccess non è un'operazione atomica. Pertanto, i driver che chiamano questa routine devono proteggere l'oggetto file condiviso passato a IoSetShareAccess tramite un tipo di blocco, ad esempio un mutex o un blocco di risorse, per evitare il danneggiamento dei conteggi di accesso condiviso.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regole di conformità DDI | HwStorPortProhibitedDDDIs(storport), IrqlIoPassive5(wdm) |