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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk