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

Zeigen Sie auf ein objekt, 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

Nichts

Bemerkungen

IoUpdateShareAccess- ist keine Atomoperation. Daher müssen Treiber, die diese Routine aufrufen, das freigegebene Dateiobjekt, das an IoUpdateShareAccess übergeben wird, durch eine Art von Sperre schützen, z. B. einen Mutex oder eine Ressourcensperre, um beschädigungen der Anzahl des freigegebenen Zugriffs zu verhindern.

Vor dem Aufrufen IoUpdateShareAccess-muss der Aufrufer erfolgreich IoCheckShareAccess- 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 das Dateiobjekt derzeit von anderen Geöffneten aufgerufen wird, aber die SHARE_ACCESS Struktur nicht aktualisiert. IoUpdateShareAccess aktualisiert tatsächlich die SHARE_ACCESS Struktur, die dem Dateiobjekt zugeordnet ist.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Siehe auch

IoCheckShareAccess-

IoRemoveShareAccess-

IoSetShareAccess-