Compartilhar via


Função SerCx2CustomReceiveTransactionCreate (sercx.h)

O método SerCx2CustomReceiveTransactionCreate cria um objeto custom-receive-transaction, que a versão 2 da extensão da estrutura serial (SerCx2) usa para executar transações de recebimento personalizado.

Sintaxe

NTSTATUS SerCx2CustomReceiveTransactionCreate(
  [in]  SERCX2CUSTOMRECEIVE                       CustomReceive,
  [in]  PSERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG CustomReceiveTransactionConfig,
  [in]  PWDF_OBJECT_ATTRIBUTES                    Attributes,
  [out] SERCX2CUSTOMRECEIVETRANSACTION            *CustomReceiveTransaction
);

Parâmetros

[in] CustomReceive

Um identificador SERCX2CUSTOMRECEIVE para um objeto de recebimento personalizado. O driver do controlador serial anteriormente chamou o método SerCx2CustomReceiveCreate para criar esse objeto.

[in] CustomReceiveTransactionConfig

Um ponteiro para uma estrutura SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG. Antes de chamar esse método, o chamador deve chamar a função SERCX2_CUSTOM_RECEIVE_TRANSACTION_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 fazer uma transação de E/S que usa o mecanismo de transferência de dados personalizado para ler os dados recebidos pelo controlador serial.

[in] Attributes

Um ponteiro para uma estrutura WDF_OBJECT_ATTRIBUTES que descreve os atributos a serem atribuídos ao novo objeto custom-receive-transaction. 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] CustomReceiveTransaction

Um ponteiro para um local no qual esse método grava um identificador de SERCX2CUSTOMRECEIVETRANSACTION no objeto custom-receive-transaction 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
Um objeto custom-receive-transaction já existe de uma chamada SerCx2CustomReceiveTransactionCreate anterior.
STATUS_INFO_LENGTH_MISMATCH
O valor de tamanho deCustomReceiveTransactionConfig não é igual ao tamanho de(SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG).
STATUS_INVALID_PARAMETER
Um valor de parâmetro não é válido. O chamador deve fornecer EvtSerCx2CustomReceiveTransactionStart e EvtSerCx2CustomReceiveTransactionQueryProgress ponteiros de função.
STATUS_INSUFFICIENT_RESOURCES
Recursos insuficientes estão disponíveis para criar o objeto custom-receive-transaction.

Observações

O driver do controlador serial pode chamar esse método para criar um objeto de transação de recebimento personalizado. O SerCx2 usa esse objeto para gerenciar transações de recebimento personalizado, que são transações de E/S que usam um mecanismo de transferência de dados personalizado para ler dados recebidos pelo controlador serial.

Como opção, um driver de controlador serial pode usar o parâmetro Attributes para criar um contexto para o objeto de recebimento personalizado 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.

Se a combinação especificada de funções de retorno de chamada implementadas não for válida, o SerCx2CustomReceiveTransactionCreate chamada falhará e retornará STATUS_INVALID_PARAMETER.

Para obter mais informações sobre como criar objetos personalizados-receive-transaction, consulte SERCX2CUSTOMRECEIVETRANSACTION. Para obter mais informações sobre transações de recebimento personalizado, consulte transações de Custom-Receive 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 PASSIVE_LEVEL

Consulte também

EvtCleanupCallback

EvtDestroyCallback

EvtSerCx2CustomReceiveTransactionQueryProgress

EvtSerCx2CustomReceiveTransactionStart

SERCX2CUSTOMRECEIVE

SERCX2CUSTOMRECEIVETRANSACTION

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG_INIT

SerCx2CustomReceiveCreate

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT