Funzione SerCx2CustomReceiveTransactionCreate (sercx.h)
Il metodo SerCx2CustomReceiveTransactionCreate crea un oggetto custom-receive-transaction, che la versione 2 dell'estensione del framework seriale (SerCx2) usa per eseguire transazioni di ricezione personalizzate.
Sintassi
NTSTATUS SerCx2CustomReceiveTransactionCreate(
[in] SERCX2CUSTOMRECEIVE CustomReceive,
[in] PSERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG CustomReceiveTransactionConfig,
[in] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2CUSTOMRECEIVETRANSACTION *CustomReceiveTransaction
);
Parametri
[in] CustomReceive
Handle di SERCX2CUSTOMRECEIVE a un oggetto di ricezione personalizzato. Il driver del controller seriale precedentemente denominato metodo SerCx2CustomReceiveCreate per creare questo oggetto.
[in] CustomReceiveTransactionConfig
Puntatore a una struttura SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG. Prima di chiamare questo metodo, il chiamante deve chiamare la funzione SERCX2_CUSTOM_RECEIVE_TRANSACTION_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 una transazione di I/O che usa il meccanismo di trasferimento dei dati personalizzato per leggere i dati ricevuti dal controller seriale.
[in] Attributes
Puntatore a una struttura WDF_OBJECT_ATTRIBUTES che descrive gli attributi da assegnare al nuovo oggetto custom-receive-transaction. 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] CustomReceiveTransaction
Puntatore a una posizione in cui questo metodo scrive un handle SERCX2CUSTOMRECEIVETRANSACTION nell'oggetto custom-receive-transaction 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 custom-receive-transaction esiste già da una precedente SerCx2CustomReceiveTransactionCreate chiamata. |
|
Il valore |
|
Un valore di parametro non è valido. Il chiamante deve fornire EvtSerCx2CustomReceiveTransactionStart e EvtSerCx2CustomReceiveTransactionQueryProgress puntatori a funzione. |
|
Sono disponibili risorse insufficienti per creare l'oggetto custom-receive-transaction. |
Osservazioni
Il driver del controller seriale può chiamare questo metodo per creare un oggetto custom-receive-transaction. SerCx2 usa questo oggetto per gestire transazioni di ricezione personalizzate, ovvero transazioni di I/O che usano un meccanismo di trasferimento dati personalizzato per leggere i dati ricevuti dal controller seriale.
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.
Se la combinazione specificata di funzioni di callback implementate non è valida, la SerCx2CustomReceiveTransactionCreate chiamata ha esito negativo e restituisce STATUS_INVALID_PARAMETER.
Per altre informazioni sulla creazione di oggetti custom-receive-transaction, vedere SERCX2CUSTOMRECEIVETRANSACTION. Per altre informazioni sulle transazioni di ricezione personalizzate, vedere SerCx2 Custom-Receive Transactions.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8.1. |
piattaforma di destinazione | Universale |
intestazione |
sercx.h |
IRQL | PASSIVE_LEVEL |
Vedere anche
EvtSerCx2CustomReceiveTransactionQueryProgress
EvtSerCx2CustomReceiveTransactionStart
SERCX2CUSTOMRECEIVETRANSACTION
SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG