fungsi __RxSynchronizeBlockingOperations (rxcontx.h)

__RxSynchronizeBlockingOperations menyinkronkan pemblokiran permintaan I/O ke antrean kerja yang sama.

Sintaks

NTSTATUS __RxSynchronizeBlockingOperations(
  [in, out] IN OUT PRX_CONTEXT RxContext,
  [in]      IN PFCB            Fcb,
  [in, out] IN OUT PLIST_ENTRY BlockingIoQ,
  [in]      IN BOOLEAN         DropFcbLock
);

Parameter

[in, out] RxContext

Penunjuk ke RX_CONTEXT operasi yang sedang disinkronkan.

[in] Fcb

Penunjuk ke FCB.

[in, out] BlockingIoQ

Penunjuk ke LIST_ENTRY untuk antrean.

[in] DropFcbLock

Nilai Boolean yang menunjukkan apakah sumber daya FCB harus dirilis. Jika parameter ini TRUE, sumber daya FCB akan dirilis.

Nilai kembali

__RxSynchronizeBlockingOperations 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

__RxSynchronizeBlockingOperations rutin menyinkronkan pemblokiran permintaan I/O ke antrean kerja yang sama. RDBSS menggunakan __RxSynchronizeBlockingOperations secara internal untuk menyinkronkan operasi pipa bernama. Antrean kerja adalah antrean yang direferensikan oleh ekstensi objek file (FOBX) yang terkait dengan Fcb.

Pengalih mini jaringan dapat menggunakan __RxSynchronizeBlockingOperations untuk menyinkronkan operasi pada antrean terpisah yang dikelola oleh pengalih mini jaringan.

Jika RxContext ditandai untuk operasi asinkron, __RxSynchronizeBlockingOperations akan menambahkan RxContext ke antrean dan mengembalikan STATUS_PENDING. Jika RxContext ditandai untuk operasi sinkron, __RxSynchronizeBlockingOperations akan memblokir dan RxContext dilanjutkan saat panggilan dilakukan ke RxResumeBlockedOperations_Serially.

Jika permintaan I/O pemblokiran dibatalkan, __RxSynchronizeBlockingOperations mengembalikan STATUS_CANCELLED untuk menunjukkan kesalahan.

Anggota SyncEvent dari struktur RX_CONTEXT yang ditunjukkan oleh RxContext harus direset sebelum memanggil __RxSynchronizeBlockingOperations. Sumber daya FCB harus dikunci sebelum memanggil __RxSynchronizeBlockingOperations jika parameter DropFcbLock diatur ke TRUE.

Dua makro berikut ini ditentukan pada Windows Server 2003 atau yang lebih baru untuk memanggil __RxSynchronizeBlockingOperations:

RxSynchronizeBlockingOperations - panggilan dengan parameter DropFcbLock diatur ke FALSE.

RxSynchronizeBlockingOperationsAndDropFcbLock - panggilan dengan parameter DropFcbLock diatur ke TRUE.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Rutinitas __RxSynchronizeBlockingOperations hanya tersedia di Windows Server 2003.
Target Platform Desktop
Header rxcontx.h (sertakan Rxcontx.h)

Lihat juga

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock