__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock fungsi
__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock menyinkronkan pemblokiran permintaan I/O ke antrean kerja yang sama.
Sintaks
NTSTATUS __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock(
_Inout_ PRX_CONTEXT RxContext,
_Inout_ PLIST_ENTRY BlockingIoQ,
_In_ BOOLEAN DropFcbLock
);
Parameter
RxContext [masuk, keluar]
Penunjuk ke RX_CONTEXT operasi yang sedang disinkronkan.
BlockingIoQ [masuk, keluar]
Penunjuk ke LIST_ENTRY untuk antrean.
DropFcbLock [in]
Nilai Boolean yang menunjukkan apakah sumber daya FCB harus dirilis. Jika parameter ini TRUE, sumber daya FCB akan dirilis.
Mengembalikan nilai
__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock mengembalikan STATUS_SUCCESS pada keberhasilan atau nilai NTSTATUS yang sesuai seperti salah satu hal berikut ini:
Menampilkan kode | Deskripsi |
---|---|
STATUS_CANCELLED | Permintaan I/O dan RX_CONTEXT terkait dibatalkan. |
STATUS_PENDING | RxContext adalah untuk operasi asinkron dan RxContext telah ditambahkan ke antrean. |
Keterangan
__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock rutin menyinkronkan pemblokiran permintaan I/O ke antrean kerja yang sama. RDBSS menggunakan __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock secara internal untuk menyinkronkan operasi pipa bernama. Antrean kerja adalah antrean yang direferensikan oleh ekstensi objek file (FOBX) yang terkait dengan anggota pFcb dari struktur RX_CONTEXT yang ditunjukkan oleh RxContext.
Pengalih mini jaringan dapat menggunakan __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock untuk menyinkronkan operasi pada antrean terpisah yang dikelola oleh pengalih mini jaringan.
Jika RxContext ditandai untuk operasi asinkron, __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock akan menambahkan RxContext ke antrean dan mengembalikan STATUS_PENDING. Jika RxContext ditandai untuk operasi sinkron, __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock akan memblokir dan RxContext dilanjutkan saat panggilan dilakukan ke RxResumeBlockedOperations_Serially.
Jika permintaan I/O pemblokiran dibatalkan, __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock mengembalikan STATUS_CANCELLED untuk menunjukkan kesalahan.
Anggota SyncEvent dari struktur RX_CONTEXT yang ditunjukkan oleh RxContext harus telah direset sebelum memanggil __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock. Sumber daya FCB harus dikunci sebelum memanggil __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock jika parameter DropFcbLock diatur ke TRUE.
Dua makro berikut didefinisikan pada Windows XP dan Windows 2000 untuk memanggil __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock :
RxSynchronizeBlockingOperations - panggilan dengan parameter DropFcbLock diatur ke FALSE.
RxSynchronizeBlockingOperationsAndDropFcbLock - panggilan dengan parameter DropFcbLock diatur ke TRUE.
Persyaratan
Platform target |
Desktop |
Versi |
Rutinitas __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock hanya tersedia di Windows XP dan Windows 2000. |
Header |
Rxcontx.h (termasuk Rxcontx.h) |
Lihat juga
RxDereferenceAndDeleteRxContext_Real