función __RxSynchronizeBlockingOperations (rxcontx.h)
__RxSynchronizeBlockingOperations sincroniza las solicitudes de E/S de bloqueo en la misma cola de trabajo.
Sintaxis
NTSTATUS __RxSynchronizeBlockingOperations(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in] IN PFCB Fcb,
[in, out] IN OUT PLIST_ENTRY BlockingIoQ,
[in] IN BOOLEAN DropFcbLock
);
Parámetros
[in, out] RxContext
Puntero al RX_CONTEXT de la operación que se está sincronizando.
[in] Fcb
Puntero al FCB.
[in, out] BlockingIoQ
Puntero al LIST_ENTRY de la cola.
[in] DropFcbLock
Valor booleano que indica si se debe liberar el recurso FCB. Si este parámetro es TRUE, se liberará el recurso FCB.
Valor devuelto
__RxSynchronizeBlockingOperations devuelve STATUS_SUCCESS si se ejecuta correctamente o un valor NTSTATUS adecuado, como uno de los siguientes:
Código devuelto | Descripción |
---|---|
|
Se canceló la solicitud de E/S y el RX_CONTEXT asociado. |
|
RxContext fue para una operación asincrónica y RxContext se ha agregado a la cola. |
Comentarios
La rutina __RxSynchronizeBlockingOperations sincroniza el bloqueo de solicitudes de E/S en la misma cola de trabajo. RDBSS usa __RxSynchronizeBlockingOperations internamente para sincronizar las operaciones de canalización con nombre. La cola de trabajo es la cola a la que hace referencia la extensión de objeto de archivo ( FOBX) asociada al fcb.
Un minidirector de red puede usar __RxSynchronizeBlockingOperations para sincronizar las operaciones en una cola independiente que mantiene el minidirector de red.
Si RxContext está marcado para una operación asincrónica, __RxSynchronizeBlockingOperations agregará RxContext a la cola y devolverá STATUS_PENDING. Si RxContext está marcado para una operación sincrónica, __RxSynchronizeBlockingOperations bloqueará y RxContext se reanudará cuando se realice una llamada a RxResumeBlockedOperations_Serially.
Si se canceló la solicitud de E/S de bloqueo, __RxSynchronizeBlockingOperations devuelve STATUS_CANCELLED para indicar el error.
El miembro SyncEvent de la estructura RX_CONTEXT a la que apunta RxContext debe haberse restablecido antes de llamar a __RxSynchronizeBlockingOperations. El recurso FCB debe bloquearse antes de llamar a __RxSynchronizeBlockingOperations si el parámetro DropFcbLock está establecido en TRUE.
Las dos macros siguientes se definen en Windows Server 2003 o posterior para llamar a __RxSynchronizeBlockingOperations:
RxSynchronizeBlockingOperations : llama a con el parámetro DropFcbLock establecido en FALSE.
RxSynchronizeBlockingOperationsAndDropFcbLock : llama a con el parámetro DropFcbLock establecido en TRUE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | La rutina de __RxSynchronizeBlockingOperations solo está disponible en Windows Server 2003. |
Plataforma de destino | Escritorio |
Encabezado | rxcontx.h (include Rxcontx.h) |
Consulte también
RxDereferenceAndDeleteRxContext_Real