Bagikan melalui


__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

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations