Fungsi IoCheckLinkShareAccess (wdm.h)

Rutinitas IoCheckLinkShareAccess dipanggil oleh driver sistem file (FSD) atau driver tingkat tertinggi lainnya untuk memeriksa apakah akses bersama tautan ke objek file diizinkan.

Sintaks

NTSTATUS IoCheckLinkShareAccess(
  [in]                ACCESS_MASK        DesiredAccess,
  [in]                ULONG              DesiredShareAccess,
  [in, out, optional] PFILE_OBJECT       FileObject,
  [in, out, optional] PSHARE_ACCESS      ShareAccess,
  [in, out, optional] PLINK_SHARE_ACCESS LinkShareAccess,
  [in]                ULONG              IoShareAccessFlags
);

Parameter

[in] DesiredAccess

Menentukan nilai ACCESS_MASK yang menunjukkan jenis akses yang diinginkan ke objek file yang diberikan.

[in] DesiredShareAccess

Menentukan jenis akses bersama yang diinginkan ke objek file untuk permintaan terbuka saat ini. Nilai parameter ini biasanya sama dengan parameter ShareAccess yang diteruskan ke sistem file atau driver tingkat tertinggi oleh manajer I/O ketika permintaan terbuka dibuat. Nilai ini bisa nol, atau kombinasi apa pun dari yang berikut ini:

FILE_SHARE_READ

FILE_SHARE_WRITE

FILE_SHARE_DELETE

[in, out, optional] FileObject

Penunjuk ke objek file yang akan memeriksa akses untuk permintaan terbuka saat ini.

[in, out, optional] ShareAccess

Penunjuk ke struktur data akses berbagi umum yang terkait dengan FileObject. Driver harus memperlakukan struktur ini sebagai buram.

[in, out, optional] LinkShareAccess

Penunjuk ke struktur data akses berbagi tautan umum (LINK_SHARE_ACCESS) yang terkait dengan FileObject. Driver harus memperlakukan struktur ini sebagai buram.

[in] IoShareAccessFlags

Bitmask dari bendera ini:

IO_SHARE_ACCESS_NO_WRITE_PERMISSION (0x80000000) menentukan bahwa pengguna tidak memiliki izin tulis untuk file tersebut. Bendera ini digunakan untuk mencegah pembukaan file untuk akses baca eksklusif ketika pengguna tidak memiliki izin yang sesuai.

IO_SHARE_ACCESS_NON_PRIMARY_STREAM (0x00000080) menentukan bahwa aliran bukan aliran data utama maupun aliran direktori.

IO_CHECK_SHARE_ACCESS_UPDATE_SHARE_ACCESS (0x00000001) menunjukkan apakah struktur SHARE_ACCESS diperbarui.

IO_CHECK_SHARE_ACCESS_DONT_UPDATE_FILE_OBJECT (0x00000002) menunjukkan untuk tidak memperbarui struktur FILE_OBJECT .

IO_CHECK_SHARE_ACCESS_DONT_CHECK_READ (0x00000004) menunjukkan untuk tidak memeriksa akses berbagi baca.

IO_CHECK_SHARE_ACCESS_DONT_CHECK_WRITE (0x00000008) menunjukkan untuk tidak memeriksa akses berbagi tulis.

IO_CHECK_SHARE_ACCESS_DONT_CHECK_DELETE (0x00000010) menunjukkan untuk tidak memeriksa akses berbagi penghapusan.

IO_CHECK_SHARE_ACCESS_FORCE_CHECK (0x00000020) menunjukkan untuk memeriksa paksa akses berbagi meskipun permintaan tidak membaca/menulis/menghapus akses.

IO_CHECK_SHARE_ACCESS_FORCE_USING_SCB (0x00000040) menunjukkan untuk memaksa centang hapus akses berbagi menggunakan ShareAccess terlepas dari apakah LinkShareAccess ada atau tidak.

Nilai kembali

Rutinitas IoCheckLinkShareAccess mengembalikan STATUS_SUCCESS jika akses pemohon ke objek file kompatibel dengan cara saat ini terbuka. Jika permintaan ditolak karena pelanggaran berbagi, maka STATUS_SHARING_VIOLATION dikembalikan.

Keterangan

Parameter ShareAccess harus dikunci terhadap akses lain dari utas lain saat rutinitas ini dijalankan. Jika tidak, hitungannya dapat disinkronkan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10 versi 1709
Server minimum yang didukung Server Windows 2016
Target Platform Universal
Header wdm.h
Pustaka Ntoskrnl.lib

Lihat juga

Rutinitas Manajer I/O

IoRemoveLinkShareAccess

IoSetLinkShareAccess

IoUpdateLinkShareAccess