RxDereferenceAndDeleteRxContext_Real-Funktion (rxcontx.h)
RxDereferenceAndDeleteRxContext_Real leitet eine RX_CONTEXT Datenstruktur ab und wenn das ReferenceCount Member zu Null wechselt, werden die angegebenen RX_CONTEXT Struktur aus den RDBSS-Speicherdatenstrukturen zugeordnet und entfernt.
Syntax
void RxDereferenceAndDeleteRxContext_Real(
[in] IN PRX_CONTEXT RxContext
);
Parameter
[in] RxContext
Ein Zeiger auf die zu entfernende RX_CONTEXT Struktur.
Rückgabewert
Nichts
Bemerkungen
RxDereferenceAndDeleteRxContext_Real wird von anderen Routinen als RxCompleteRequest- während asynchroner Anforderungen aufgerufen, die den RxContext Parameter entweder im initiierenden Thread oder in einem anderen Thread berühren. Daher wird die RX_CONTEXT Datenstruktur auf die letzte Ableitung gezählt und abgeschlossen.
Wenn das ReferenceCount Member der RX_CONTEXT Struktur, auf die durch den RxContext-Parameter verwiesen wird, nicht null ist, nachdem das System von der RxDereferenceAndDeleteRxContext_Real Routine abgeleitet (decrementiert) wurde, bewirkt RxDereferenceAndDeleteRxContext_Real, dass das System bei überprüften Builds ASSERTION ausführt.
Die RxDereferenceAndDeleteRxContext_Real Routine macht eine Reihe von spezifischen Prüfungen vor dem Entfernen eines RX_CONTEXT. Zu diesen Prüfungen gehören:
- Wenn der AcquireReleaseFcbTrackerX Member 0 ist, bewirkt RxDereferenceAndDeleteRxContext_Real, dass das System bei überprüften Builds ASSERT ausführt.
- Wenn das NumberOfActiveContexts Member der zugeordneten RDBSS_DEVICE_OBJECT Struktur auf RxContext-verweist –>RxDeviceObject- ist nach der Dereferenzierung (dekrementiert) und dem Start nicht null. Das Element zugeordneten RDBSS_DEVICE_OBJECT Struktur ist nicht NULL-, und RxDereferenceAndDeleteRxContext_Real signalisiert dann RxDereferenceAndDeleteRxContext_Real das SyncEvent in der RX_CONTEXT Struktur im StartStopContext.pStopContext.pStopContext Member.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | rxcontx.h (include Rxprocs.h rxcontx.h) |
IRQL- | <= APC_LEVEL |
Siehe auch
RxResumeBlockedOperations_Serially