Compartilhar via


Função SerCx2PioTransmitCreate (sercx.h)

O método SerCx2PioTransmitCreate cria um objeto de transmissão PIO, que a versão 2 da extensão da estrutura serial (SerCx2) usa para executar transações de transmissão de PIO.

Sintaxe

NTSTATUS SerCx2PioTransmitCreate(
  [in]           WDFDEVICE                   Device,
  [in]           PSERCX2_PIO_TRANSMIT_CONFIG PioTransmitConfig,
  [in, optional] PWDF_OBJECT_ATTRIBUTES      Attributes,
  [out]          SERCX2PIOTRANSMIT           *PioTransmit
);

Parâmetros

[in] Device

Um identificador WDFDEVICE para o objeto de dispositivo da estrutura que representa o controlador serial. O driver do controlador serial criou esse objeto em sua função de retorno de chamada EvtDriverDeviceAdd. Para obter mais informações, consulte SerCx2InitializeDevice.

[in] PioTransmitConfig

Um ponteiro para uma estrutura SERCX2_PIO_TRANSMIT_CONFIG. Antes de chamar esse método, o chamador deve chamar a função SERCX2_PIO_TRANSMIT_CONFIG_INIT para inicializar a estrutura. Essa estrutura contém ponteiros para um conjunto de rotinas de retorno de chamada de evento que são implementadas pelo driver do controlador serial. O SerCx2 chama essas funções para executar transações de transmissão de PIO.

[in, optional] Attributes

Um ponteiro para uma estrutura de WDF_OBJECT_ATTRIBUTES que descreve os atributos a serem atribuídos ao novo objeto de transmissão de PIO. Antes de chamar esse método, o chamador deve chamar a função WDF_OBJECT_ATTRIBUTES_INIT para inicializar a estrutura. Esse parâmetro é opcional e pode ser especificado como WDF_NO_OBJECT_ATTRIBUTES se o driver do controlador serial não precisar atribuir atributos ao objeto. Para obter mais informações, consulte Comentários.

[out] PioTransmit

Um ponteiro para um local no qual esse método grava um identificador de SERCX2PIOTRANSMIT no objeto de transmissão PIO recém-criado. O SerCx2 e o driver do controlador serial usam esse identificador em chamadas subsequentes para fazer referência a esse objeto.

Valor de retorno

Esse método retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os valores de retorno de erro possíveis incluem os seguintes códigos de status.

Código de retorno Descrição
STATUS_INVALID_DEVICE_REQUEST
Já existe um objeto de transmissão de PIO de uma chamada SerCx2PioTransmitCreate anterior.
STATUS_INFO_LENGTH_MISMATCH
O valor tamanho dode configuração não é igual a tamanhos de(SERCX2_PIO_TRANSMIT_CONFIG).
STATUS_INVALID_PARAMETER
A combinação especificada de funções de retorno de chamada implementadas não é válida. O driver deve implementar oEvtSerCx2PioTransmitWriteBuffer, EvtSerCx2PioTransmitEnableReadyNotificatione EvtSerCx2PioTransmitCancelReadyNotification funções. O driver deve implementar os três ou nenhum dos funções EvtSerCx2PioTransmitDrainFifo, EvtSerCx2PioTransmitCancelDrainFifoe funções EvtSerCx2PioTransmitPurgeFifo.
STATUS_INSUFFICIENT_RESOURCES
Recursos insuficientes estão disponíveis para executar a operação solicitada.

Observações

O driver do controlador serial chama esse método para criar um objeto de transmissão de PIO. O SerCx2 usa esse objeto para executar transações de transmissão de PIO, que são transações que usam PIO (E/S programado) para gravar dados no controlador serial a serem transmitidos.

Normalmente, um driver de controlador serial chama SerCx2PioTransmitCreate de sua função EvtDriverDeviceAdd. O driver deve chamar esse método somente depois de chamar com êxito o método serCx2InitializeDevice .

Como opção, um driver de controlador serial pode usar o parâmetro Attributes para criar um contexto para o objeto de transmissão PIO e fornecer ponteiros para EvtCleanupCallback e funções EvtDestroyCallback que são chamadas para preparar o objeto para exclusão. Para obter mais informações, consulte WDF_OBJECT_ATTRIBUTES.

Se o parâmetro Attributes apontar para uma estrutura WDF_OBJECT_ATTRIBUTES, o chamador não deverá substituir os valores que a função de inicialização WDF_OBJECT_ATTRIBUTES_INIT grava no ParentObject, ExecutionLevele SynchronizationScope membros dessa estrutura.

Para obter mais informações sobre como criar objetos de transmissão de PIO, consulte SERCX2PIOTRANSMIT. Para obter mais informações sobre operações de transmissão de PIO, consulte transações de PIO-Transmit SerCx2.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 8.1.
da Plataforma de Destino Universal
cabeçalho sercx.h
IRQL <= DISPATCH_LEVEL

Consulte também

EvtCleanupCallback

EvtDestroyCallback

EvtDriverDeviceAdd

SERCX2PIOTRANSMIT

SERCX2_PIO_TRANSMIT_CONFIG

SERCX2_PIO_TRANSMIT_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT