RxDereferenceAndDeleteRxContext_Real-Funktion (rxcontx.h)
RxDereferenceAndDeleteRxContext_Real leitet eine RX_CONTEXT Datenstruktur ab, und wenn das ReferenceCount-Element auf null wechselt, wird die Zuordnung der angegebenen RX_CONTEXT-Struktur aus den RDBSS-In-Memory-Datenstrukturen aufgehoben und entfernt.
Syntax
void RxDereferenceAndDeleteRxContext_Real(
[in] IN PRX_CONTEXT RxContext
);
Parameter
[in] RxContext
Ein Zeiger auf die RX_CONTEXT Struktur, die entfernt werden soll.
Rückgabewert
Keine
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 beim letzten Rückschluss gezählt und abgeschlossen.
Wenn das ReferenceCount-Element der RX_CONTEXT-Struktur, auf die der RxContext-Parameter verweist, nach der Deaktivierung (Dekrementierung) durch die RxDereferenceAndDeleteRxContext_Real Routine nicht 0 null ist, bewirkt RxDereferenceAndDeleteRxContext_Real , dass das System bei überprüften Builds ASSERT ausführt.
Die RxDereferenceAndDeleteRxContext_Real Routine führt eine Reihe spezifischer Überprüfungen durch, bevor ein RX_CONTEXT entfernt wird. Diese Überprüfungen umfassen Folgendes:
- Wenn der AcquireReleaseFcbTrackerX-Member 0 ist, bewirkt RxDereferenceAndDeleteRxContext_Real , dass das System bei überprüften Builds ASSERT ausführt.
- Wenn das NumberOfActiveContexts-Element der zugeordneten RDBSS_DEVICE_OBJECT-Struktur, die auf RxContext->RxDeviceObject verweist, nach dereferent (dekrementiert) nicht 0 0 ist und der StartStopContext.pStopContext-Member der zugeordneten RDBSS_DEVICE_OBJECT-Struktur nicht NULL ist, signalisiert RxDereferenceAndDeleteRxContext_Real das SyncEvent für die RX_CONTEXT Struktur im StartStopContext.pStopContext-Member .
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | rxcontx.h (include Rxprocs.h rxcontx.h) |
IRQL | <= APC_LEVEL |
Weitere Informationen
RxResumeBlockedOperations_Serially