__RxSynchronizeBlockingOperations function (rxcontx.h)
__RxSynchronizeBlockingOperations synchronizes blocking I/O requests to the same work queue.
NTSTATUS __RxSynchronizeBlockingOperations( [in, out] IN OUT PRX_CONTEXT RxContext, [in] IN PFCB Fcb, [in, out] IN OUT PLIST_ENTRY BlockingIoQ, [in] IN BOOLEAN DropFcbLock );
[in, out] RxContext
A pointer to the RX_CONTEXT of the operation being synchronized.
A pointer to the FCB.
[in, out] BlockingIoQ
A pointer to the LIST_ENTRY for the queue.
A Boolean value that indicates if the FCB resource should be released. If this parameter is TRUE, then the FCB resource will be released.
__RxSynchronizeBlockingOperations returns STATUS_SUCCESS on success or an appropriate NTSTATUS value such as one of the following:
||The I/O request and the associated RX_CONTEXT was canceled.|
||The RxContext was for an asynchronous operation and the RxContext has been added to the queue.|
The __RxSynchronizeBlockingOperations routine synchronizes blocking I/O requests to the same work queue. RDBSS uses __RxSynchronizeBlockingOperations internally to synchronize named pipe operations. The work queue is the queue referenced by the file object extension (FOBX) associated with the Fcb.
A network mini-redirector may use __RxSynchronizeBlockingOperations to synchronize operations on a separate queue that is maintained by the network mini-redirector.
If RxContext is marked for an asynchronous operation, __RxSynchronizeBlockingOperations will add the RxContext to the queue and return STATUS_PENDING. If RxContext is marked for a synchronous operation, __RxSynchronizeBlockingOperations will block and RxContext is resumed when a call is made to RxResumeBlockedOperations_Serially.
If the blocking I/O request was canceled, __RxSynchronizeBlockingOperations returns STATUS_CANCELLED to indicate the error.
The SyncEvent member of the RX_CONTEXT structure pointed to by RxContext must have been reset before calling __RxSynchronizeBlockingOperations. The FCB resource must be locked before calling __RxSynchronizeBlockingOperations if the DropFcbLock parameter is set to TRUE.
The following two macros are defined on Windows Server 2003 or later for calling __RxSynchronizeBlockingOperations:
RxSynchronizeBlockingOperations - calls with the DropFcbLock parameter set to FALSE.
RxSynchronizeBlockingOperationsAndDropFcbLock - calls with the DropFcbLock parameter set to TRUE.
|Minimum supported client||The __RxSynchronizeBlockingOperations routine is only available on Windows Server 2003.|
|Header||rxcontx.h (include Rxcontx.h)|
Submit and view feedback for