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 allgemeine Share-Access-Datenstruktur, die FileObject zugeordnet ist. Treiber sollten diese Struktur als undurchsichtig behandeln.

[in, out, optional] LinkShareAccess

Ein Zeiger auf die allgemeine Linkfreigabezugriffsdatenstruktur (LINK_SHARE_ACCESS), die FileObject zugeordnet ist. Treiber sollten diese Struktur als undurchsichtig behandeln.

Rückgabewert

Keine

Bemerkungen

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

Bevor Sie IoUpdateLinkShareAccess aufrufen, 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 das Dateiobjekt derzeit von anderen Geöffneten zugegriffen wird, aber die SHARE_ACCESS Struktur nicht aktualisiert. IoUpdateLinkShareAccess aktualisiert tatsächlich die SHARE_ACCESS Struktur, die dem Dateiobjekt zugeordnet ist.

Anforderungen

   
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