Compartilhar via


Função SerCxRetrieveTransmitMdl (sercx.h)

O método SerCxRetrieveTransmitMdl recupera o MDL que descreve o buffer que contém o próximo bloco de dados de saída a ser transmitido.

Sintaxe

NTSTATUS SerCxRetrieveTransmitMdl(
  [in]  WDFDEVICE Device,
  [out] PMDL      *Mdl
);

Parâmetros

[in] Device

Um identificador WDFDEVICE para o objeto de dispositivo da estrutura que representa o controlador serial.

[out] Mdl

Um ponteiro para um local no qual o método grava um ponteiro no MDL.

Valor de retorno

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

Código de retorno Descrição
STATUS_INVALID_DEVICE_REQUEST
Esse valor será retornado se ocorrer um destes procedimentos:
  • Não há nenhuma solicitação de transmissão pendente da qual obter um MDL.
  • O número atual de bytes transmitidos (conforme relatado pelo método SerCxProgressTransmit) não é igual a zero.
  • O buffer já foi recuperado (e a chamada correspondente para o método SerCxProgressTransmit ainda não ocorreu).
  • O MDL já foi recuperado (e a chamada correspondente para o método SerCxProgressTransmit ainda não ocorreu).

Observações

O driver do controlador serial chama essa função para obter um MDL a ser usado para a operação de transmissão (gravação) atual. O MDL descreve a memória do buffer da qual o driver deve obter os dados a serem transmitidos. O driver é o proprietário exclusivo desse MDL até chamar o método SerCxProgressTransmit, após o qual o ponteiro MDL é inválido e o driver não deve mais tentar acessar o MDL ou a memória de buffer que o MDL descreve.

Para obter mais informações sobre MDLs, consulte Usando MDLs.

Requisitos

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

Consulte também

SerCxProgressTransmit