funzione __RxSynchronizeBlockingOperations (rxcontx.h)
__RxSynchronizeBlockingOperations sincronizza il blocco delle richieste di I/O nella stessa coda di lavoro.
Sintassi
NTSTATUS __RxSynchronizeBlockingOperations(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in] IN PFCB Fcb,
[in, out] IN OUT PLIST_ENTRY BlockingIoQ,
[in] IN BOOLEAN DropFcbLock
);
Parametri
[in, out] RxContext
Puntatore alla RX_CONTEXT dell'operazione sincronizzata.
[in] Fcb
Puntatore al fcB.
[in, out] BlockingIoQ
Puntatore alla LIST_ENTRY per la coda.
[in] DropFcbLock
Valore booleano che indica se la risorsa FCB deve essere rilasciata. Se questo parametro è TRUE, verrà rilasciata la risorsa FCB.
Valore restituito
__RxSynchronizeBlockingOperations restituisce STATUS_SUCCESS sull'esito positivo o su un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
|
La richiesta di I/O e la RX_CONTEXT associata è stata annullata. |
|
RxContext è stato per un'operazione asincrona e rxContext è stato aggiunto alla coda. |
Commenti
La routine __RxSynchronizeBlockingOperations sincronizza il blocco delle richieste di I/O nella stessa coda di lavoro. RDBSS usa __RxSynchronizeBlockingOperations internamente per sincronizzare le operazioni denominate pipe. La coda di lavoro è la coda a cui fa riferimento l'estensione dell'oggetto file (FOBX) associata all'fcb.
Un mini-reindirizzamento di rete può usare __RxSynchronizeBlockingOperations per sincronizzare le operazioni in una coda separata gestita dal mini-reindirizzamento di rete.
Se RxContext è contrassegnato per un'operazione asincrona, __RxSynchronizeBlockingOperations aggiungerà RxContext alla coda e restituirà STATUS_PENDING. Se RxContext è contrassegnato per un'operazione sincrona, __RxSynchronizeBlockingOperations blocca e RxContext viene ripreso quando viene eseguita una chiamata a RxResumeBlockedOperations_Serially.
Se la richiesta di I/O di blocco è stata annullata, __RxSynchronizeBlockingOperations restituisce STATUS_CANCELLED per indicare l'errore.
Il membro SyncEvent della struttura RX_CONTEXT a cui punta RxContext deve essere stato reimpostato prima di chiamare __RxSynchronizeBlockingOperations. La risorsa FCB deve essere bloccata prima di chiamare __RxSynchronizeBlockingOperations se il parametro DropFcbLock è impostato su TRUE.
Le due macro seguenti sono definite in Windows Server 2003 o versioni successive per chiamare __RxSynchronizeBlockingOperations:
RxSynchronizeBlockingOperations : chiamate con il parametro DropFcbLock impostato su FALSE.
RxSynchronizeBlockingOperationsAndDropFcbLock : chiamate con il parametro DropFcbLock impostato su TRUE.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | La routine __RxSynchronizeBlockingOperations è disponibile solo in Windows Server 2003. |
Piattaforma di destinazione | Desktop |
Intestazione | rxcontx.h (include Rxcontx.h) |
Vedi anche
RxDereferenceAndDeleteRxContext_Real