Condividi tramite


Funzione SerCxProgressReceive (sercx.h)

Il metodo SerCxProgressReceive segnala lo stato di avanzamento dell'operazione di lettura (ricezione) corrente.

Sintassi

NTSTATUS SerCxProgressReceive(
  [in] WDFDEVICE    Device,
  [in] ULONG        BytesReceived,
  [in] SERCX_STATUS ReceiveStatus
);

Parametri

[in] Device

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

[in] BytesReceived

Numero di byte di dati caricati dal chiamante nel buffer di ricezione ottenuto dalla chiamata più recente al metodo SerCxRetrieveReceiveBuffer .

[in] ReceiveStatus

Stato corrente dell'operazione di ricezione. Impostare questo parametro su uno dei valori seguenti:

  • SerCxStatusSuccess
  • SerCxStatusCancelled
  • SerCxStatusTimeout
Per altre informazioni su questi valori, vedere SERCX_STATUS.

Valore restituito

SerCxProgressReceive restituisce STATUS_SUCCESS se ha esito positivo. I valori restituiti di errore possibili includono i codici di stato seguenti.

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
Il valore BytesReceived supera la lunghezza del buffer disponibile; o il valore ReceiveStatus non è valido.
STATUS_INVALID_DEVICE_REQUEST
Il metodo è stato chiamato in irQL errato; o l'handle WDFDEVICE non è valido; o il driver non ha ottenuto un buffer di input per questa operazione di ricezione.
STATUS_CANCELLED
L'operazione di ricezione è già stata annullata.

Commenti

Il driver del controller seriale chiama questo metodo per segnalare lo stato di avanzamento di un'operazione di lettura in sospeso. In genere, il driver del controller seriale chiama questo metodo dal callback di completamento DMA (se il driver usa DMA per leggere i dati) o dalla relativa funzione DPC di trasmissione/ricezione (se viene usato PIO).

Se SerCxProgressReceive non completa tutto il lavoro in sospeso per l'operazione di lettura, il chiamante deve chiamare di nuovo il metodo SerCxRetrieveReceiveBuffer per ottenere un nuovo descrittore di buffer e continuare a ricevere i dati.

Requisiti

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

Vedi anche

SERCX_STATUS

SerCxRetrieveReceiveBuffer