fonction RxDereferenceAndDeleteRxContext_Real (rxcontx.h)
RxDereferenceAndDeleteRxContext_Real déréférence une structure de données RX_CONTEXT et si le membre ReferenceCount passe à zéro, il désalloue et supprime la structure RX_CONTEXT spécifiée des structures de données en mémoire RDBSS.
Syntaxe
void RxDereferenceAndDeleteRxContext_Real(
[in] IN PRX_CONTEXT RxContext
);
Paramètres
[in] RxContext
Pointeur vers la structure RX_CONTEXT à supprimer.
Valeur de retour
Aucun
Remarques
RxDereferenceAndDeleteRxContext_Real est appelée par des routines autres que RxCompleteRequest pendant les requêtes asynchrones qui touchent le paramètre RxContext dans le thread de lancement ou dans un autre thread. Ainsi, la structure de données RX_CONTEXT est comptabilisée et finalisée lors de la dernière inférence.
Si le ReferenceCount membre de la structure RX_CONTEXT pointée par le paramètre RxContext n’est pas égal à zéro après avoir été déréféré (décrémenté) par la routine de RxDereferenceAndDeleteRxContext_Real, RxDereferenceAndDeleteRxContext_Real provoque l’assertion du système sur les builds vérifiées.
La routine RxDereferenceAndDeleteRxContext_Real effectue un certain nombre de vérifications spécifiques avant de supprimer un RX_CONTEXT. Ces vérifications sont les suivantes :
- Si le membre AcquireReleaseFcbTrackerX est 0, RxDereferenceAndDeleteRxContext_Real entraîne l’assertion du système sur les builds vérifiées.
- Si le membre NumberOfActiveContexts de la structure RDBSS_DEVICE_OBJECT associée pointant vers rxContext->RxDeviceObject n’est pas égal à zéro après avoir été déréféré (décrémenté) et le StartStopContext.pStopContext membre de la structure RDBSS_DEVICE_OBJECT associée n’est pas NULL, puis RxDereferenceAndDeleteRxContext_Real signale l’événement SyncEvent sur la structure RX_CONTEXT dans le membre StartStopContext.pStopContext membre.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | rxcontx.h (include Rxprocs.h rxcontx.h) |
IRQL | <= APC_LEVEL |
Voir aussi
RxResumeBlockedOperations_Serially