Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
__RxSynchronizeBlockingOperations synchronisiert das Blockieren von E/A-Anforderungen mit derselben Arbeitswarteschlange.
Syntax
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
Ein Zeiger auf die RX_CONTEXT des zu synchronisierenden Vorgangs.
[in] Fcb
Ein Zeiger auf den FCB.
[in, out] BlockingIoQ
Ein Zeiger auf die LIST_ENTRY für die Warteschlange.
[in] DropFcbLock
Ein boolescher Wert, der angibt, ob die FCB-Ressource freigegeben werden soll. Wenn dieser Parameter TRUEist, wird die FCB-Ressource freigegeben.
Rückgabewert
__RxSynchronizeBlockingOperations gibt STATUS_SUCCESS für erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Die E/A-Anforderung und die zugeordnete RX_CONTEXT wurde abgebrochen. |
|
Die RxContext- war für einen asynchronen Vorgang vorgesehen, und die RxContext- wurde der Warteschlange hinzugefügt. |
Bemerkungen
Die __RxSynchronizeBlockingOperations Routine synchronisiert das Blockieren von E/A-Anforderungen mit derselben Arbeitswarteschlange. RDBSS verwendet __RxSynchronizeBlockingOperations intern, um benannte Rohrvorgänge zu synchronisieren. Die Arbeitswarteschlange ist die Warteschlange, auf die durch die Dateiobjekterweiterung (FOBX) verwiesen wird, die dem Fcb-zugeordnet ist.
Ein Netzwerkminiumleitungsmodul kann __RxSynchronizeBlockingOperations verwenden, um Vorgänge in einer separaten Warteschlange zu synchronisieren, die vom Netzwerkminiumleitungsmodul verwaltet wird.
Wenn RxContext- für einen asynchronen Vorgang markiert ist, fügt __RxSynchronizeBlockingOperations der Warteschlange die RxContext- hinzu und gibt STATUS_PENDING zurück. Wenn RxContext- für einen synchronen Vorgang markiert ist, wird __RxSynchronizeBlockingOperations blockiert und RxContext- fortgesetzt, wenn ein Aufruf an RxResumeBlockedOperations_Seriallyerfolgt.
Wenn die blockierende E/A-Anforderung abgebrochen wurde, gibt __RxSynchronizeBlockingOperations STATUS_CANCELLED zurück, um den Fehler anzugeben.
Das SyncEvent Mitglied der RX_CONTEXT Struktur, auf die von RxContext- verwiesen wurde, muss zurückgesetzt worden sein, bevor __RxSynchronizeBlockingOperationsaufgerufen wird. Die FCB-Ressource muss gesperrt werden, bevor __RxSynchronizeBlockingOperations aufgerufen wird, wenn der DropFcbLock Parameter auf TRUEfestgelegt ist.
Die folgenden beiden Makros werden unter Windows Server 2003 oder höher zum Aufrufen von __RxSynchronizeBlockingOperationsdefiniert:
RxSynchronizeBlockingOperations- – Aufrufe mit dem DropFcbLock Parameter, der auf FALSEfestgelegt ist.
RxSynchronizeBlockingOperationsAndDropFcbLock - Aufrufe mit dem DropFcbLock Parameter, der auf TRUEfestgelegt ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Die __RxSynchronizeBlockingOperations Routine ist nur unter Windows Server 2003 verfügbar. |
Zielplattform- | Desktop |
Header- | rxcontx.h (include Rxcontx.h) |
Siehe auch
RxDereferenceAndDeleteRxContext_Real