Funzione SerCxRetrieveTransmitMdl (sercx.h)

Il metodo SerCxRetrieveTransmitMdl recupera l'MDL che descrive il buffer che contiene il blocco successivo di dati di output da trasmettere.

Sintassi

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

Parametri

[in] Device

Handle WDFDEVICE per l'oggetto dispositivo framework che rappresenta il controller seriale.

[out] Mdl

Puntatore a una posizione in cui il metodo scrive un puntatore a MDL.

Valore restituito

SerCxRetrieveTransmitMdl restituisce STATUS_SUCCESS se la chiamata ha esito positivo. I valori restituiti possibili includono i codici di errore seguenti.

Codice restituito Descrizione
STATUS_INVALID_DEVICE_REQUEST
Questo valore viene restituito se si verifica una delle operazioni seguenti:
  • Non esiste alcuna richiesta di trasmissione in sospeso da cui ottenere un MDL.
  • Il numero corrente di byte trasmessi (come segnalato dal metodo SerCxProgressTransmit ) non è uguale a zero.
  • Il buffer è già stato recuperato e la chiamata corrispondente al metodo SerCxProgressTransmit non è ancora stata eseguita.
  • MDL è già stato recuperato e la chiamata corrispondente al metodo SerCxProgressTransmit non è ancora stata eseguita.

Commenti

Il driver del controller seriale chiama questa funzione per ottenere un MDL da usare per l'operazione di trasmissione corrente (scrittura). MDL descrive la memoria del buffer da cui il driver deve ottenere i dati da trasmettere. Il driver è il proprietario esclusivo di questo MDL finché non chiama il metodo SerCxProgressTransmit , dopo il quale il puntatore MDL non è valido e il driver non deve più tentare di accedere alla memoria MDL o del buffer descritta dall'MDL.

Per altre informazioni sugli MDLs, vedere Uso di MDLs.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione sercx.h
IRQL <= DISPATCH_LEVEL

Vedi anche

SerCxProgressTransmit