Condividi tramite


Funzione SerCxRetrieveReceiveMdl (sercx.h)

Il metodo SerCxRetrieveReceiveMdl recupera il file MDL che descrive il buffer da usare per ricevere il blocco successivo di dati di input.

Sintassi

NTSTATUS SerCxRetrieveReceiveMdl(
  [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 nel file MDL.

Valore restituito

SerCxRetrieveReceiveMdl 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 condizioni seguenti:
  • Non esiste alcuna richiesta di ricezione in sospeso da cui ottenere un MDL.
  • Il numero corrente di byte ricevuti (come segnalato dal metodo SerCxProgressReceive) non è uguale a zero.
  • Il buffer è già stato recuperato e la chiamata corrispondente al metodo SerCxProgressReceive non è ancora stata eseguita.
  • Il file MDL è già stato recuperato e la chiamata corrispondente al metodo SerCxProgressReceive non è ancora stata eseguita.

Osservazioni

Il driver del controller seriale chiama questa funzione per ottenere un MDL da usare per l'operazione di ricezione corrente (lettura). MDL descrive la memoria del buffer in cui il driver deve trasferire i dati ricevuti. Il driver è il proprietario esclusivo di questo MDL fino a quando non chiama il metodo SerCxProgressReceive, dopo il quale il puntatore MDL non è valido e il driver non deve più tentare di accedere al MDL o alla memoria del buffer descritta da MDL.

Per altre informazioni sugli mdls, vedere Using MDLs.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.
piattaforma di destinazione Universale
intestazione sercx.h
IRQL <= DISPATCH_LEVEL

Vedere anche

SerCxProgressReceive