SerCx2CustomReceiveTransactionCrea funzione (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 SERCX2CUSTOMRECEIVE a un oggetto di ricezione personalizzato. Il driver del controller seriale in precedenza denominato il 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 eventi implementate dal driver del controller seriale. SerCx2 chiama queste funzioni per eseguire una transazione di I/O che usa il meccanismo di trasferimento 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 la sezione Osservazioni.

[out] CustomReceiveTransaction

Puntatore a un percorso 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 degli errori possibili includono i codici di stato seguenti.

Codice restituito Descrizione
STATUS_INVALID_DEVICE_REQUEST
Esiste già un oggetto custom-receive-transaction da una chiamata SerCx2CustomReceiveTransactionCreate .
STATUS_INFO_LENGTH_MISMATCH
Il valore PersonalizzatoReceiveTransactionConfig->Size non è uguale a sizeof(SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG).
STATUS_INVALID_PARAMETER
Un valore di parametro non è valido. Il chiamante deve fornire puntatori di funzione EvtSerCx2CustomReceiveTransactionStart e EvtSerCx2CustomReceiveTransactionQueryProgress validi.
STATUS_INSUFFICIENT_RESOURCES
Le risorse insufficienti sono disponibili per creare l'oggetto custom-receive-transaction.

Commenti

Il driver del controller seriale può chiamare questo metodo per creare un oggetto custom-receive-transaction. SerCx2 usa questo oggetto per gestire le 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 Attributes per creare un contesto per l'oggetto di ricezione personalizzato e fornire puntatori alle funzioni EvtCleanupCallback e EvtDestroyCallback che vengono chiamate per preparare l'oggetto per l'eliminazione. Per altre informazioni, vedere WDF_OBJECT_ATTRIBUTES.

Se il parametro Attributes punta a una struttura WDF_OBJECT_ATTRIBUTES , il chiamante non deve sovrascrivere i valori scritti dalla funzione di inizializzazione WDF_OBJECT_ATTRIBUTES_INIT ai membri ParentObject, ExecutionLevel e SyncScope di questa struttura.

Se la combinazione specificata di funzioni di callback implementate non è valida, la chiamata SerCx2CustomReceiveTransactionCreate ha esito negativo e restituisce STATUS_INVALID_PARAMETER.

Per altre informazioni sulla creazione di oggetti di ricezione personalizzata, vedere SERCX2CUSTOMRECEIVETRANSACTION. Per altre informazioni sulle transazioni di ricezione personalizzate, vedere SerCx2 Custom-Receive Transazioni.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.1.
Piattaforma di destinazione Universale
Intestazione sercx.h
IRQL PASSIVE_LEVEL

Vedi anche

EvtCleanupCallback

EvtDestroyCallback

EvtSerCx2CustomReceiveTransactionQueryProgress

EvtSerCx2CustomReceiveTransactionStart

SERCX2CUSTOMRECEIVE

SERCX2CUSTOMRECEIVETRANSACTION

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG_INIT

SerCx2CustomReceiveCreate

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT