Condividi tramite


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 ACCESS_MASK che rappresenta il tipo di accesso richiesto per FileObject. Per un elenco completo dei flag DesiredAccess definiti dal sistema, vedere IoCreateFile.

[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 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 FileObject.

Questa routine imposta le informazioni di accesso e condivisione quando l'oggetto FileObject viene aperto per la prima volta. 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, è molto probabile che i driver del file system (FSD) chiamino questa routine. Tuttavia, altri driver di livello più alto possono chiamare IoSetShareAccess per controllare il tipo di accesso consentito a un oggetto dispositivo creato dal driver associato al 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.

Requisiti

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 HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm)

Vedi anche

ACCESS_MASK

IoCheckShareAccess

IoCreateFile

IoCreateFileEx

IoGetFileObjectGenericMapping

IoGetRelatedDeviceObject

IoRemoveShareAccess

IoUpdateShareAccess