Freigeben über


IoUpdateLinkShareAccess-Funktion (wdm.h)

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

Syntax

void IoUpdateLinkShareAccess(
  [in]                PFILE_OBJECT       FileObject,
  [in, out]           PSHARE_ACCESS      ShareAccess,
  [in, out, optional] PLINK_SHARE_ACCESS LinkShareAccess
);

Parameter

[in] FileObject

Zeiger auf das Dateiobjekt, das normalerweise vom aktuellen Thread geschlossen wird.

[in, out] ShareAccess

Ein Zeiger auf die gemeinsame Datenstruktur für den Freigabezugriff, die FileObject zugeordnet ist. Treiber sollten diese Struktur als undurchsichtig behandeln.

[in, out, optional] LinkShareAccess

Ein Zeiger auf die Common Link Share-Access-Datenstruktur (LINK_SHARE_ACCESS), die FileObject zugeordnet ist. Treiber sollten diese Struktur als undurchsichtig behandeln.

Rückgabewert

Keine

Bemerkungen

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

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1709
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Universell
Header wdm.h
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Weitere Informationen

IoCheckLinkShareAccess

IoRemoveLinkShareAccess

IoSetLinkShareAccess