Condividi tramite


Funzione SerCx2PioReceiveCreate (sercx.h)

Il metodo SerCx2PioReceiveCreate crea un oggetto di ricezione PIO, che la versione 2 dell'estensione del framework seriale (SerCx2) usa per eseguire transazioni di ricezione PIO.

Sintassi

NTSTATUS SerCx2PioReceiveCreate(
  [in]           WDFDEVICE                  Device,
  [in]           PSERCX2_PIO_RECEIVE_CONFIG PioReceiveConfig,
  [in, optional] PWDF_OBJECT_ATTRIBUTES     Attributes,
  [out]          SERCX2PIORECEIVE           *PioReceive
);

Parametri

[in] Device

Handle WDFDEVICE per l'oggetto dispositivo framework che rappresenta il controller seriale. Il driver del controller seriale ha creato questo oggetto nel relativo EvtDriverDeviceAdd funzione di callback. Per altre informazioni, vedere SerCx2InitializeDevice.

[in] PioReceiveConfig

Puntatore a una struttura SERCX2_PIO_RECEIVE_CONFIG. Prima di chiamare questo metodo, il chiamante deve chiamare la funzione SERCX2_PIO_RECEIVE_CONFIG_INIT per inizializzare la struttura. Questa struttura contiene puntatori a un set di routine di callback degli eventi implementate dal driver del controller seriale. SerCx2 chiama queste funzioni per eseguire transazioni di ricezione PIO.

[in, optional] Attributes

Puntatore a una struttura WDF_OBJECT_ATTRIBUTES che descrive gli attributi da assegnare al nuovo oggetto di ricezione PIO. Prima di chiamare questo metodo, il chiamante deve chiamare la funzione WDF_OBJECT_ATTRIBUTES_INIT per inizializzare la struttura. Questo parametro è facoltativo e può essere specificato come WDF_NO_OBJECT_ATTRIBUTES se il driver del controller seriale non deve assegnare attributi all'oggetto. Per altre informazioni, vedere Osservazioni.

[out] PioReceive

Puntatore a una posizione in cui questo metodo scrive un handle SERCX2PIORECEIVE nell'oggetto di ricezione PIO appena creato. SerCx2 e il driver del controller seriale usano questo handle nelle chiamate successive per fare riferimento a questo oggetto.

Valore restituito

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

Codice restituito Descrizione
STATUS_INVALID_DEVICE_REQUEST
Un oggetto di ricezione PIO esiste già da una precedente chiamata SerCx2PioReceiveCreate.
STATUS_INFO_LENGTH_MISMATCH
Il valoreDimensioni config non è uguale sizeof(SERCX2_PIO_RECEIVE_CONFIG).
STATUS_INVALID_PARAMETER
La combinazione specificata di funzioni di callback implementate non è valida. Il driver deve implementare l'EvtSerCx2PioReceiveReadBuffer, EvtSerCx2PioReceiveEnableReadyNotificatione funzioni EvtSerCx2PioReceiveCancelReadyNotification.
STATUS_INSUFFICIENT_RESOURCES
Sono disponibili risorse insufficienti per eseguire l'operazione richiesta.

Osservazioni

Il driver del controller seriale chiama questo metodo per creare un oggetto di ricezione PIO. SerCx2 usa questo oggetto per eseguire transazioni di ricezione PIO, che usano operazioni di I/O programmate per leggere i dati ricevuti dal controller seriale.

In genere, un driver del controller seriale chiama SerCx2PioReceiveCreate dalla funzione EvtDriverDeviceAdd. Il driver deve chiamare questo metodo solo dopo che ha chiamato correttamente il metodo SerCx2InitializeDevice.

Come opzione, un driver del controller seriale può usare il parametro attributi per creare un contesto per l'oggetto di ricezione PIO e fornire puntatori a EvtCleanupCallback e Funzioni EvtDestroyCallback chiamate per preparare l'oggetto per l'eliminazione. Per altre informazioni, vedere WDF_OBJECT_ATTRIBUTES.

Se il parametro Attributes punta a una struttura di WDF_OBJECT_ATTRIBUTES, il chiamante non deve sovrascrivere i valori scritti dalla funzione di inizializzazione WDF_OBJECT_ATTRIBUTES_INIT nei ParentObject, ExecutionLevele membri synchronizationScope di questa struttura.

Per altre informazioni sulla creazione di oggetti PIO-receive, vedere SERCX2PIORECEIVE. Per altre informazioni sulle transazioni di ricezione PIO, vedere SerCx2 PIO-Receive Transactions.

Fabbisogno

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

Vedere anche

EvtCleanupCallback

EvtDestroyCallback

EvtDriverDeviceAdd

SERCX2PIORECEIVE

SERCX2_PIO_RECEIVE_CONFIG

SERCX2_PIO_RECEIVE_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT