Função UcmTcpciPortControllerStart (ucmtcpciportcontroller.h)
Indica à extensão de classe UcmTcpciCx que o driver cliente agora está pronto para atender às solicitações de hardware para o controlador de porta.
Sintaxe
NTSTATUS UcmTcpciPortControllerStart(
UCMTCPCIPORTCONTROLLER PortControllerObject
);
Parâmetros
PortControllerObject
Manipule para o objeto do controlador de porta que o driver cliente recebeu na chamada anterior para ucmTcpciPortControllerCreate.
Valor de retorno
(NTSTATUS) O método retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um código de erro de NTSTATUS apropriado.
Código de retorno | Descrição |
---|---|
|
O controlador de porta já está no estado Iniciar. |
|
A fila de solicitação de hardware não foi definida chamando ucmTcpciPortControllerSetHardwareRequestQueue. |
Observações
Depois que o driver cliente receber o identificador UCMPORTCONTROLLER para o objeto do controlador de porta, o driver chamará esse método para notificar a extensão de classe de que o driver pode começar a receber solicitações de hardware. Essa chamada de método permite que o driver cliente execute a inicialização de seu espaço de contexto de estrutura no objeto do controlador de porta, antes que a extensão de classe possa invocar as funções de retorno de chamada do driver ou solicitações para o objeto do controlador de porta. O driver não pode chamar UcmTcpciPortControllerAlert ou UcmTcpciPortControllerStop até que o controlador de porta seja iniciado.
O driver cliente chama esse método logo após chamar UcmTcpciPortControllerCreate e inicializar sua estrutura de contexto, se ele tiver sido especificado na estrutura WDF_OBJECT_ATTRIBUTES como o valor do parâmetro atributos. O driver deve assumir que a extensão de classe pode enviar solicitações antes mesmo de UcmTcpciPortControllerStart retorna, ou seja, de dentro dessa chamada DDI. Se o driver estiver mantendo um bloqueio ao chamar UcmTcpciPortControllerStart e também tentar adquirir um bloqueio ao lidar com uma solicitação de hardware (em seu retorno de chamada de fila de solicitação de hardware), isso poderá resultar em um deadlock.
Uma chamada para UcmTcpciPortControllerStart para iniciar um objeto de controlador de porta já no estado Inicial, resulta em um erro.
Na inicialização, se o BIOS já tivesse negociado um contrato PD, UcmTcpciCx começa de um estado desanexado.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 |
servidor com suporte mínimo | Windows Server 2016 |
da Plataforma de Destino | Windows |
cabeçalho | ucmtcpciportcontroller.h |
biblioteca | Ucmtcpcicxstub.lib |
IRQL | PASSIVE_LEVEL |