Funzione SerCx2PioTransmitCreate (sercx.h)
Il metodo SerCx2PioTransmitCreate crea un oggetto di trasmissione PIO, che la versione 2 dell'estensione del framework seriale (SerCx2) usa per eseguire transazioni di trasmissione PIO.
Sintassi
NTSTATUS SerCx2PioTransmitCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_TRANSMIT_CONFIG PioTransmitConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIOTRANSMIT *PioTransmit
);
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] PioTransmitConfig
Puntatore a una struttura SERCX2_PIO_TRANSMIT_CONFIG. Prima di chiamare questo metodo, il chiamante deve chiamare la funzione SERCX2_PIO_TRANSMIT_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 trasmissione PIO.
[in, optional] Attributes
Puntatore a una struttura WDF_OBJECT_ATTRIBUTES che descrive gli attributi da assegnare al nuovo oggetto di trasmissione 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] PioTransmit
Puntatore a una posizione in cui questo metodo scrive un handle SERCX2PIOTRANSMIT nell'oggetto di trasmissione 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 |
---|---|
|
Un oggetto di trasmissione PIO esiste già da una precedente SerCx2PioTransmitCreate chiamata. |
|
Il valore dimensioni |
|
La combinazione specificata di funzioni di callback implementate non è valida. Il driver deve implementare il EvtSerCx2PioTransmitWriteBuffer, EvtSerCx2PioTransmitEnableReadyNotificatione Funzioni evtSerCx2PioTransmitCancelReadyNotification. Il driver deve implementare tutte e tre le funzioni EvtSerCx2PioTransmitDrainFifo, EvtSerCx2PioTransmitCancelDrainFifoe EvtSerCx2PioTransmitPurgeFi fo. |
|
Sono disponibili risorse insufficienti per eseguire l'operazione richiesta. |
Osservazioni
Il driver del controller seriale chiama questo metodo per creare un oggetto di trasmissione PIO. SerCx2 usa questo oggetto per eseguire transazioni di trasmissione PIO, ovvero transazioni che usano operazioni di I/O programmate per scrivere dati nel controller seriale da trasmettere.
In genere, un driver del controller seriale chiama SerCx2PioTransmitCreate dalla relativa 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
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 di trasmissione PIO, vedere SERCX2PIOTRANSMIT. Per altre informazioni sulle operazioni di trasmissione PIO, vedere SerCx2 PIO-Transmit Transactions.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8.1. |
piattaforma di destinazione | Universale |
intestazione |
sercx.h |
IRQL | <= DISPATCH_LEVEL |