Ler em inglês

Compartilhar via


Função RxCeSendDatagram (rxce.h)

RxCeSendDatagram envia uma TSDU (unidade de dados do serviço de transporte) ao longo da conexão especificada em um circuito virtual.

Sintaxe

NTSTATUS RxCeSendDatagram(
       IN PRXCE_ADDRESS                hAddress,
  [in] IN PRXCE_CONNECTION_INFORMATION pConnectionInformation,
       IN ULONG                        SendOptions,
  [in] IN PMDL                         pMdl,
  [in] IN ULONG                        SendLength,
  [in] IN PVOID                        pCompletionContext
);

Parâmetros

hAddress

Um ponteiro para o transporte ao longo do qual o TSDU deve ser enviado.

[in] pConnectionInformation

Um ponteiro para informações de conexão que contém o endereço remoto.

SendOptions

Um ponteiro para informações de conexão que contém o endereço remoto.

[in] pMdl

Um ponteiro para o buffer a ser enviado.

[in] SendLength

O comprimento dos dados a serem enviados.

[in] pCompletionContext

O contexto passado de volta para o chamador durante SendCompletion para operações assíncronas. Não que esse parâmetro seja ignorado se o parâmetro Options solicitar uma operação de envio síncrona.

Retornar valor

RxCeSendDatagram retorna STATUS_SUCCESS com êxito ou um dos seguintes códigos de erro em caso de falha:

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES
Falha na alocação de memória de pool nãopagado necessária para essa rotina.
STATUS_INVALID_PARAMETER
Um comprimento inválido foi passado no parâmetro SendLength com base nas Opções especificadas.

Comentários

As opções assíncronas e síncronas indicadas no parâmetro Options usado em RxCeSendDatagram distinguem entre duas situações. No caso assíncrono, o controle retorna ao chamador depois que a solicitação é enviada com êxito ao transporte subjacente. Os resultados de qualquer solicitação específica são comunicados novamente usando a rotina de retorno de chamada SendCompletion . O parâmetro pCompletionContext em RxCeSendDatagram é passado de volta na rotina de retorno de chamada para ajudar o chamador a desambiguar as solicitações.

No caso síncrono, a solicitação é enviada para o transporte subjacente e o controle não retorna ao chamador até que a solicitação seja concluída. Observe que, no caso síncrono, o parâmetro pCompletionContext é ignorado e o status retornado corresponde ao status de conclusão das operações.

O benefício das opções assíncronas e síncronas depende do transporte subjacente. Em um ambiente de circuito virtual (TCP, por exemplo), uma opção síncrona implica que o controle não retorna até que os dados cheguem ao servidor. Por outro lado, para transportes orientados a datagrama (UDP, por exemplo), há muito pouca diferença entre as duas opções.

Observe que a Opção síncrona é desconsiderada por enviar datagramas porque os transportes subjacentes não bloqueiam nos envios de datagrama.

RXCE_CONNECTION_INFORMATION é um typedef para uma estrutura TDI_CONNECTION_INFORMATION .

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho rxce.h (include Rxce.h, Tdi.h)
IRQL <= APC_LEVEL

Confira também

MDL

RxCeSend

TDI_CONNECTION_INFORMATION