Share via


Función UcmTcpciPortControllerStop (ucmtcpciportcontroller.h)

Indica a la extensión de clase UcmTcpciCx para dejar de enviar solicitudes de hardware al objeto de controlador de puerto.

Sintaxis

void UcmTcpciPortControllerStop(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

Parámetros

PortControllerObject

Identificador del objeto del controlador de puerto que el controlador de cliente recibió en la llamada anterior a UcmTcpciPortControllerCreate.

Valor devuelto

None

Observaciones

Después de llamar a UcmTcpciPortControllerStop, el controlador cliente deja de procesar todas las solicitudes en el objeto del controlador de puerto. Esta llamada es sincrónica, por lo que se garantiza que la extensión de clase no invocará funciones de devolución de llamada ni enviará solicitudes después de que se devuelva. El controlador no debe llamar a este método dentro de una devolución de llamada del controlador de puerto o mientras estén pendientes las solicitudes de hardware no cancelables.

Un controlador cliente llama a este método desde su implementación de devolución de llamada de EVT_WDF_DEVICE_RELEASE_HARDWARE . Después de hacerlo, también debe llamar a WdfObjectDelete, en caso de que se invoque EVT_WDF_DEVICE_RELEASE_HARDWARE al reequilibrio de recursos. Si no lo hace, el controlador pierde objetos asociados al objeto del controlador de puerto cuando se produce un reequilibrio de recursos. El elemento primario del controlador UCMPORTCONTROLLER al identificador WDFDEVICE no es suficiente, ya que un WDFDEVICE no se elimina en un reequilibrio de recursos.

Si el controlador está realizando la transición a un estado Dx debido a S0-Idle, el controlador no debe llamar a este método desde su función de devolución de llamada EVT_WDF_DEVICE_D0_EXIT . La sincronización con el estado de energía del controlador se puede lograr mediante una cola administrada por energía para recibir solicitudes de hardware.

Es seguro llamar a UcmTcpciPortControllerStop en un controlador de puerto que ya se ha detenido. Una vez devuelto este método, no se puede llamar a ningún otro método excepto UcmTcpciPortControllerStart en el controlador de puerto.

El controlador cliente debe llamar a este método si necesita detener todas las acciones en el controlador de puerto para que pueda realizar la recuperación de errores si detectó algún problema durante su operación. Una vez completado el proceso de recuperación, el controlador debe reiniciar el controlador de puerto.

Detener el controlador finaliza cualquier contrato de PD activo y la conexión de Type-C.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Plataforma de destino Windows
Encabezado ucmtcpciportcontroller.h
Library Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

Consulte también

UcmTcpciPortControllerStart