Funzione SerCxRetrieveReceiveMdl (sercx.h)

Il metodo SerCxRetrieveReceiveMdl recupera l'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 a 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 operazioni 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.
  • L'MDL è già stato recuperato e la chiamata corrispondente al metodo SerCxProgressReceive non è ancora stata eseguita.

Commenti

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 finché non chiama il metodo SerCxProgressReceive , 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

SerCxProgressReceive