Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Metode LockRegion tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini tidak tersedia untuk digunakan di Windows Server 2003 dengan Paket Layanan 1 (SP1) dan yang lebih baru, Windows Vista, Windows Server 2008, dan versi sistem operasi berikutnya. Antarmuka IStream menyediakan fungsionalitas serupa.]
Metode LockRegion membatasi akses ke rentang byte tertentu dalam objek buffer.
Sintaks
HRESULT LockRegion(
[in] LONG libOffset,
[in] LONG cb,
[in] LONG dwLockType
);
Parameter
-
libOffset [in]
-
Bilangan bulat yang menentukan offset byte untuk awal rentang.
-
cb [in]
-
Bilangan bulat yang menentukan panjang rentang, dalam byte, yang akan dibatasi.
-
dwLockType [in]
-
Menentukan pembatasan yang diminta untuk mengakses rentang. Ini bisa menjadi salah satu nilai dalam tabel berikut ini.
Nilai Makna - LOCK_WRITE
Rentang byte yang ditentukan dapat dibuka dan dibaca beberapa kali, tetapi menulis ke rentang terkunci dilarang kecuali untuk pemilik yang diberikan kunci ini. - LOCK_EXCLUSIVE
Menulis ke rentang byte yang ditentukan dilarang kecuali untuk pemilik yang diberikan kunci ini. - LOCK_ONLYONCE
Jika kunci ini diberikan, tidak ada kunci LOCK_ONLYONCE lain yang dapat diperoleh pada rentang. Biasanya jenis kunci ini adalah alias untuk beberapa jenis kunci lainnya. Dengan demikian, implementasi tertentu dapat memiliki perilaku tambahan yang terkait dengan jenis kunci ini.
Nilai kembali
Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan bahwa panggilan berhasil.
Keterangan
Rentang byte dapat meluas melewati akhir aliran saat ini. Penguncian di luar akhir aliran berguna sebagai metode komunikasi antara berbagai instans aliran tanpa mengubah data yang sebenarnya merupakan bagian dari aliran.
Tiga jenis penguncian dapat didukung: mengunci untuk mengecualikan penulis lain, mengunci untuk mengecualikan pembaca atau penulis lain, dan penguncian yang hanya memungkinkan satu pemohon untuk mendapatkan kunci pada rentang yang diberikan, yang biasanya merupakan alias untuk salah satu dari dua jenis kunci lainnya. Instans aliran tertentu mungkin mendukung salah satu dari dua jenis pertama, atau keduanya. Jenis kunci ditentukan oleh dwLockType, menggunakan nilai dari enumerasi LOCKTYPE .
Wilayah mana pun yang dikunci dengan LockRegion nantinya harus dibuka secara eksplisit dengan memanggil parameter IByteBuffer::UnlockRegion dengan nilai yang sama persis untuk parameter libOffset, cb, dan dwLockType . Wilayah harus dibuka kuncinya sebelum aliran dirilis. Dua wilayah yang berdekatan tidak dapat dikunci secara terpisah dan kemudian dibuka dengan satu panggilan buka kunci.
Contoh
Contoh berikut menunjukkan pembatasan akses ke rentang byte.
HRESULT hr;
// Lock a region.
hr = pIByteBuff->LockRegion(0, 10, LOCK_EXCLUSIVE);
if (FAILED(hr))
printf("Failed IByteBuffer::LockRegion\n");
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung |
Windows XP [hanya aplikasi desktop] |
| Server minimum yang didukung |
Windows Server 2003 [hanya aplikasi desktop] |
| Akhir dukungan klien |
Windows XP |
| Akhir dukungan server |
Windows Server 2003 |
| Header |
|
| Pustaka jenis |
|
| DLL |
|
| IID |
IID_IByteBuffer didefinisikan sebagai E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |