fonction __RxSynchronizeBlockingOperations (rxcontx.h)
__RxSynchronizeBlockingOperations synchronise les demandes d’E/S bloquantes sur la même file d’attente de travail.
Syntaxe
NTSTATUS __RxSynchronizeBlockingOperations(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in] IN PFCB Fcb,
[in, out] IN OUT PLIST_ENTRY BlockingIoQ,
[in] IN BOOLEAN DropFcbLock
);
Paramètres
[in, out] RxContext
Pointeur vers la RX_CONTEXT de l’opération en cours de synchronisation.
[in] Fcb
Pointeur vers le FCB.
[in, out] BlockingIoQ
Pointeur vers la LIST_ENTRY de la file d’attente.
[in] DropFcbLock
Valeur booléenne qui indique si la ressource FCB doit être libérée. Si ce paramètre est TRUE, la ressource FCB est libérée.
Valeur de retour
__RxSynchronizeBlockingOperations retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée, par exemple l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
La demande d’E/S et le RX_CONTEXT associé ont été annulés. |
|
Le rxContext était destiné à une opération asynchrone et le RxContext a été ajouté à la file d’attente. |
Remarques
La routine __RxSynchronizeBlockingOperations synchronise les demandes d’E/S bloquantes sur la même file d’attente de travail. RDBSS utilise __RxSynchronizeBlockingOperations en interne pour synchroniser les opérations de canal nommé. La file d’attente de travail est la file d’attente référencée par l’extension d’objet de fichier (FOBX) associée au Fcb.
Un mini-redirecteur réseau peut utiliser __RxSynchronizeBlockingOperations pour synchroniser les opérations sur une file d’attente distincte gérée par le mini-redirecteur réseau.
Si RxContext est marqué pour une opération asynchrone, __RxSynchronizeBlockingOperations ajoutera le RxContext à la file d’attente et retournera STATUS_PENDING. Si rxContext est marqué pour une opération synchrone, __RxSynchronizeBlockingOperations bloque et RxContext est repris lorsqu’un appel est effectué à RxResumeBlockedOperations_Serially.
Si la demande d’E/S bloquante a été annulée, __RxSynchronizeBlockingOperations retourne STATUS_CANCELLED pour indiquer l’erreur.
Le membre SyncEvent de la structure RX_CONTEXT pointée par RxContext doit avoir été réinitialisé avant d’appeler __RxSynchronizeBlockingOperations. La ressource FCB doit être verrouillée avant d’appeler __RxSynchronizeBlockingOperations si le paramètre DropFcbLock est défini sur TRUE.
Les deux macros suivantes sont définies sur Windows Server 2003 ou version ultérieure pour appeler __RxSynchronizeBlockingOperations:
RxSynchronizeBlockingOperations - appels avec le paramètre DropFcbLock défini sur FALSE.
RxSynchronizeBlockingOperationsAndDropFcbLock - les appels avec le paramètre DropFcbLock défini sur TRUE.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | La routine __RxSynchronizeBlockingOperations est disponible uniquement sur Windows Server 2003. |
plateforme cible | Bureau |
d’en-tête | rxcontx.h (include Rxcontx.h) |
Voir aussi
RxDereferenceAndDeleteRxContext_Real