struktur SRV_OPEN_ECP_CONTEXT (ntifs.h)
Struktur SRV_OPEN_ECP_CONTEXT digunakan oleh server untuk membuka file secara kondisional sebagai respons terhadap permintaan klien.
Sintaks
typedef struct _SRV_OPEN_ECP_CONTEXT {
PUNICODE_STRING ShareName;
PSOCKADDR_STORAGE_NFS SocketAddress;
BOOLEAN OplockBlockState;
BOOLEAN OplockAppState;
BOOLEAN OplockFinalState;
USHORT Version;
SRV_INSTANCE_TYPE InstanceType;
} SRV_OPEN_ECP_CONTEXT, *PSRV_OPEN_ECP_CONTEXT;
Anggota
ShareName
Penunjuk ke struktur UNICODE_STRING yang memasok nama berbagi untuk server yang berisi file yang akan dibuka. Bidang ini bersifat opsional dan dapat berupa NULL.
SocketAddress
Penunjuk ke struktur SOCKADDR_STORAGE yang menentukan alamat transportasi komputer klien. Klien ini berasal dari permintaan file terbuka. Bidang ini bersifat opsional dan dapat berupa NULL.
OplockBlockState
Nilai Boolean yang menunjukkan apakah server Blok Pesan Server (SMB) memblokir utas terbuka yang menunggu jeda oplock. TRUE menunjukkan bahwa utas terbuka berada dalam status pemblokiran dan FALSE sebaliknya.
OplockAppState
Nilai Boolean yang menunjukkan apakah server SMB meminta oplock dengan utas terbuka saat ini. Atur ke TRUE untuk meminta oplock dan FALSE jika tidak.
OplockFinalState
Nilai Boolean yang menunjukkan apakah operasi buka file adalah operasi buka file akhir untuk meminta oplock. TRUE menunjukkan operasi buka file akhir untuk mendapatkan oplock dan FALSE menunjukkan sebaliknya.
Version
Versi struktur ini. Anggota ini ditambahkan dalam Windows 10 versi 1703, jadi sebelum mencoba mengaksesnya, Anda harus terlebih dahulu memeriksa apakah ada. Jika ukuran struktur adalah >= RTL_SIZEOF_THROUGH_FIELD(SRV_OPEN_ECP_CONTEXT, Versi), Anda dapat mengakses bidang ini. Anggota ini saat ini dapat diatur ke SRV_OPEN_ECP_CONTEXT_VERSION_2.
InstanceType
SRV_INSTANCE_TYPE tempat terbuka berasal. Minifilter sistem file yang melekat pada NTFS atau ReFS yang digunakan oleh CSVFS dapat menggunakan bidang ini untuk mendeteksi apakah pembukaan ini melewati CSVFS. Jika pembukaan melalui CSVFS, maka ECP ini tidak ada atau jenis instansnya adalah SrvInstanceTypeCsv. Jika pembukaan melewati CSVFS dan langsung masuk ke volume tersembunyi, maka InstanceType adalah SrvInstanceTypePrimary. Bidang InstanceType hanya ada jika Versi = >SRV_OPEN_ECP_CONTEXT_VERSION_2.
Keterangan
Tumpukan sistem file dapat menentukan apakah SRV_OPEN_ECP_CONTEXT dilampirkan ke permintaan buat file. Tumpukan sistem file kemudian dapat menggunakan informasi dalam SRV_OPEN_ECP_CONTEXT untuk menentukan klien mana yang meminta agar file dibuka, dan mengapa file memintanya. Untuk informasi tentang cara mengambil SRV_OPEN_ECP_CONTEXT informasi tambahan yang dilampirkan ke permintaan buat file, lihat Mengambil ECP.
Struktur SRV_OPEN_ECP_CONTEXT bersifat baca-saja. Anda harus menggunakannya untuk mengambil informasi tentang server yang hanya membuka ECP. Untuk informasi selengkapnya tentang masalah ini, lihat ECP yang Ditentukan Sistem.
Nilai status oplock (OplockBlockState, OplockAppState, dan OplockFinalState) digunakan dengan logika pemecahan oplock untuk manajemen sistem untuk SMB dan SMB2.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Struktur ini tersedia dimulai dengan Windows 7. |
Header | ntifs.h (termasuk Ntifs.h) |