Freigeben über


IoUpdateShareAccess-Funktion (wdm.h)

Die IoUpdateShareAccess-Routine aktualisiert den Freigabezugriff für das angegebene Dateiobjekt, in der Regel, wenn die Datei geöffnet wird.

Syntax

void IoUpdateShareAccess(
  [in]      PFILE_OBJECT  FileObject,
  [in, out] PSHARE_ACCESS ShareAccess
);

Parameter

[in] FileObject

Zeiger auf ein Dateiobjekt, auf das verwiesen wird, das die Datei oder das zugeordnete Geräteobjekt darstellt, für das der Freigabezugriff aktualisiert werden soll.

[in, out] ShareAccess

Zeiger auf die allgemeine SHARE_ACCESS Struktur, die dem FileObject zugeordnet ist. Treiber sollten diese Struktur als undurchsichtig behandeln.

Rückgabewert

Keine

Bemerkungen

IoUpdateShareAccess ist kein atomischer Vorgang. Daher müssen Treiber, die diese Routine aufrufen, das freigegebene Dateiobjekt schützen, das an IoUpdateShareAccess übergeben wird, durch eine Art von Sperre, z. B. ein Mutex oder eine Ressourcensperre, um eine Beschädigung der Anzahl der freigegebenen Zugriffe zu verhindern.

Vor dem Aufrufen von IoUpdateShareAccess muss der Aufrufer ioCheckShareAccess erfolgreich aufrufen, wobei Update auf False festgelegt ist. Ein solcher Aufruf von IoCheckShareAccess bestimmt, ob der angeforderte freigegebene Zugriff mit der Art und Weise kompatibel ist, wie derzeit von anderen Geöffneten auf das Dateiobjekt zugegriffen wird, aber die SHARE_ACCESS-Struktur wird nicht aktualisiert. IoUpdateShareAccess aktualisiert tatsächlich die SHARE_ACCESS Struktur, die dem Dateiobjekt zugeordnet ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Weitere Informationen

IoCheckShareAccess

IoRemoveShareAccess

IoSetShareAccess