Função SerCx2PioReceiveCreate (sercx.h)
O método SerCx2PioReceiveCreate cria um objeto pio-receive, que a versão 2 da extensão de estrutura serial (SerCx2) usa para executar transações de recebimento de PIO.
Sintaxe
NTSTATUS SerCx2PioReceiveCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_RECEIVE_CONFIG PioReceiveConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIORECEIVE *PioReceive
);
Parâmetros
[in] Device
Um identificador WDFDEVICE para o objeto de dispositivo de 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] PioReceiveConfig
Um ponteiro para uma estrutura de SERCX2_PIO_RECEIVE_CONFIG . Antes de chamar esse método, o chamador deve chamar a função SERCX2_PIO_RECEIVE_CONFIG_INIT para inicializar a estrutura. Essa estrutura contém ponteiros para um conjunto de rotinas de retorno de chamada de evento implementadas pelo driver do controlador serial. O SerCx2 chama essas funções para executar transações de recebimento 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 pio-receive. 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] PioReceive
Um ponteiro para um local no qual esse método grava um identificador de SERCX2PIORECEIVE no objeto pio-receive recém-criado. O SerCx2 e o driver do controlador serial usam esse identificador em chamadas subsequentes para fazer referência a esse objeto.
Retornar valor
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 |
---|---|
|
Um objeto pio-receive já existe de uma chamada SerCx2PioReceiveCreate anterior. |
|
O valorTamanhoda-> Configuração não é igual a sizeof(SERCX2_PIO_RECEIVE_CONFIG). |
|
A combinação especificada de funções de retorno de chamada implementadas não é válida. O driver deve implementar as funções EvtSerCx2PioReceiveReadBuffer, EvtSerCx2PioReceiveEnableReadyNotification e EvtSerCx2PioReceiveCancelReadyNotification . |
|
Recursos insuficientes estão disponíveis para executar a operação solicitada. |
Comentários
O driver do controlador serial chama esse método para criar um objeto pio-receive. O SerCx2 usa esse objeto para executar transações de recebimento de PIO, que usam E/S programada (PIO) para ler dados recebidos pelo controlador serial.
Normalmente, um driver de controlador serial chama SerCx2PioReceiveCreate 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 pio-receive e fornecer ponteiros para as funções EvtCleanupCallback e 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 nos membros ParentObject, ExecutionLevel e SynchronizationScope dessa estrutura.
Para obter mais informações sobre como criar objetos pio-receive, consulte SERCX2PIORECEIVE. Para obter mais informações sobre transações de recebimento de PIO, consulte SerCx2 PIO-Receive Transactions.
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 | <= DISPATCH_LEVEL |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de