Compartir a través de


función RxDereferenceAndDeleteRxContext_Real (rxcontx.h)

RxDereferenceAndDeleteRxContext_Real desreferencia una estructura de datos RX_CONTEXT y, si el miembro ReferenceCount va a cero, desasigna y quita la estructura de RX_CONTEXT especificada de las estructuras de datos en memoria de RDBSS.

Sintaxis

void RxDereferenceAndDeleteRxContext_Real(
  [in] IN PRX_CONTEXT RxContext
);

Parámetros

[in] RxContext

Puntero a la estructura RX_CONTEXT que se va a quitar.

Valor devuelto

None

Observaciones

RxDereferenceAndDeleteRxContext_Real llama a rutinas distintas de RxCompleteRequest durante las solicitudes asincrónicas que tocan el parámetro RxContext en el subproceso iniciador o en algún otro subproceso. Por lo tanto, la estructura de datos RX_CONTEXT se cuenta y finaliza en la última desreferencia.

Si el miembro ReferenceCount de la estructura de RX_CONTEXT a la que apunta el parámetro RxContext no es cero después de desreferenciarse (decrementado) por la rutina de RxDereferenceAndDeleteRxContext_Real , RxDereferenceAndDeleteRxContext_Real hace que el sistema aserte en compilaciones comprobadas.

La rutina RxDereferenceAndDeleteRxContext_Real realiza una serie de comprobaciones específicas antes de quitar un RX_CONTEXT. Estas comprobaciones incluyen lo siguiente:

  • Si el miembro AcquireReleaseFcbTrackerX es 0, RxDereferenceAndDeleteRxContext_Real hace que el sistema aserte las compilaciones activadas.
  • Si el miembro NumberOfActiveContexts de la estructura de RDBSS_DEVICE_OBJECT asociada que apunta a RxContext->RxDeviceObject no es cero después de desreferenciarse (decremente) y el miembro StartStopContext.pStopContext de la estructura de RDBSS_DEVICE_OBJECT asociada no es NULL, RxDereferenceAndDeleteRxContext_Real señalará syncEvent en la estructura RX_CONTEXT del miembro StartStopContext.pStopContext .
Si la estructura de RX_CONTEXT se asignó desde la memoria del grupo que no es de página (el miembro Flags de la estructura de RX_CONTEXT tiene establecida la opción RX_CONTEXT_FLAG_FROM_POOL), la estructura de RX_CONTEXT a la que apunta el parámetro RxContext se devolverá a una lista de búsqueda interna de RDBSS o a la memoria del grupo no paginada.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado rxcontx.h (incluya Rxprocs.h rxcontx.h)
IRQL <= APC_LEVEL

Consulte también

RX_CONTEXT

RxCompleteRequest

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock