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 de estrutura que representa o controlador serial.

[out] Mdl

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

Retornar valor

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

Código de retorno Descrição
STATUS_INVALID_DEVICE_REQUEST
Esse valor será retornado se ocorrer um dos seguintes 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).

Comentários

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
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho sercx.h
IRQL <= DISPATCH_LEVEL

Confira também

SerCxProgressTransmit