Share via


Función UcmTcpciPortControllerStart (ucmtcpciportcontroller.h)

Indica a la extensión de clase UcmTcpciCx que el controlador de cliente ya está listo para atender las solicitudes de hardware para el controlador de puerto.

Sintaxis

NTSTATUS UcmTcpciPortControllerStart(
  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

(NTSTATUS) El método devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método puede devolver un código de error NTSTATUS adecuado.

Código devuelto Descripción
STATUS_INVALID_DEVICE_REQUEST
El controlador de puerto ya está en estado Start.
STATUS_INVALID_HANDLE
La cola de solicitudes de hardware no se ha establecido llamando a UcmTcpciPortControllerSetHardwareRequestQueue.

Comentarios

Una vez que el controlador cliente haya recibido el identificador UCMPORTCONTROLLER para el objeto de controlador de puerto, el controlador llama a este método para notificar a la extensión de clase que el controlador puede empezar a recibir solicitudes de hardware. Esta llamada al método permite al controlador cliente realizar la inicialización de su espacio de contexto de marco en el objeto del controlador de puerto, antes de que la extensión de clase pueda invocar las funciones de devolución de llamada del controlador o las solicitudes para el objeto del controlador de puerto. El controlador no puede llamar a UcmTcpciPortControllerAlert o UcmTcpciPortControllerStop hasta que se haya iniciado el controlador de puerto.

El controlador cliente llama a este método justo después de llamar a UcmTcpciPortControllerCreate e inicializar su estructura de contexto, si se especificó en la estructura WDF_OBJECT_ATTRIBUTES como el valor del parámetro Attributes . El controlador debe suponer que la extensión de clase puede enviar solicitudes incluso antes de que UcmTcpciPortControllerStart devuelva, es decir, desde dentro de esta llamada DDI. Si el controlador mantiene un bloqueo al llamar a UcmTcpciPortControllerStart e intenta adquirir un bloqueo mientras controla una solicitud de hardware (en su devolución de llamada de cola de solicitudes de hardware), podría producir un interbloqueo.

Una llamada a UcmTcpciPortControllerStart para iniciar un objeto de controlador de puerto ya en estado Start, produce un error.

En el arranque, si el BIOS ya había negociado un contrato de PD, UcmTcpciCx comienza desde un estado no conectado.

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

UcmTcpciPortControllerStop