Função SerCx2InitializeDevice (sercx.h)

O método SerCx2InitializeDevice conclui a inicialização do objeto de dispositivo de estrutura para o controlador serial.

Sintaxe

NTSTATUS SerCx2InitializeDevice(
  [in] WDFDEVICE      Device,
  [in] PSERCX2_CONFIG Config
);

Parâmetros

[in] Device

Um identificador WDFDEVICE para o objeto de dispositivo de estrutura que representa o controlador serial. Para obter mais informações, consulte Comentários.

[in] Config

Um ponteiro para uma estrutura de SERCX2_CONFIG alocada pelo chamador que contém ponteiros para um conjunto de funções de retorno de chamada de evento implementadas pelo driver do controlador serial. A versão 2 do SerCx2 (controlador de estrutura serial) chama essas funções para configurar o controlador serial e executar operações básicas que são independentes dos tipos de transação de E/S (PIO, DMA do sistema ou personalizado) compatíveis com o driver.

Retornar valor

SerCx2InitializeDevice retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os possíveis valores retornados por erro incluem os seguintes códigos de status.

Código de retorno Descrição
STATUS_INVALID_DEVICE_REQUEST
O método foi chamado no IRQL errado ou o parâmetro Device não é um identificador WDFDEVICE válido.
STATUS_INFO_LENGTH_MISMATCH
O valorTamanho da Configuração-> não é igual a sizeof(SERCX2_CONFIG).
STATUS_INVALID_PARAMETER
O membro RequestAttributes não é válido ou as funções de retorno de chamada necessárias estão ausentes na lista de ponteiros de função. Para obter mais informações, consulte Comentários.
STATUS_INSUFFICIENT_RESOURCES
Recursos insuficientes estão disponíveis para executar a operação solicitada.

Comentários

Antes de chamar esse método, o driver do controlador serial deve ter chamado anteriormente o método SerCx2InitializeDeviceInit .

O driver do controlador serial deve chamar esse método de sua função de retorno de chamada EvtDriverDeviceAdd depois de criar um objeto de dispositivo de estrutura para o controlador serial. O driver normalmente chama um método como WdfDeviceCreate para criar o objeto de dispositivo de estrutura e obter um identificador WDFDEVICE para esse objeto.

Três dos ponteiros de função na estrutura SERCX2_CONFIG são exigidos pelo SerCx2. O driver deve implementar as funções de retorno de chamada EvtSerCx2PurgeFifos, EvtSerCx2Control e EvtSerCx2ApplyConfig . Caso contrário, a chamada SerCx2InitializeDevice falhará e retornará STATUS_INVALID_PARAMETER.

Se o membro RequestAttributes da estrutura SERCX2_CONFIG for definido como um valor diferente de WDF_NO_OBJECT_ATTRIBUTES, o driver não deverá substituir os valores gravados nos membros ParentObject, ExecutionLevel e SynchronizationScope dessa estrutura pela função WDF_OBJECT_ATTRIBUTES_INIT . Caso contrário, a chamada SerCx2InitializeDevice falhará e retornará STATUS_INVALID_PARAMETER.

Se o driver chamar o método WdfDeviceInitSetRequestAttributes para definir os atributos a serem usados para objetos de solicitação, os atributos de solicitação especificados nessa chamada deverão corresponder aos atributos de solicitação especificados pelo driver na chamada para SerCx2InitializeDevice. Para obter mais informações, consulte Transações de Custom-Receive SerCx2 e Transações de Custom-Transmit SerCx2.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.1.
Plataforma de Destino Universal
Cabeçalho sercx.h
IRQL PASSIVE_LEVEL

Confira também

EvtDriverDeviceAdd

SERCX2_CONFIG

SerCx2InitializeDeviceInit

WdfDeviceCreate

WdfDeviceInitSetRequestAttributes