Condividi tramite


Funzione SerCx2CustomTransmitTransactionCreate (sercx.h)

Il metodo SerCx2CustomTransmitTransactionCreate crea un oggetto transazione di trasmissione personalizzata, che la versione 2 dell'estensione del framework seriale (SerCx2) usa per eseguire transazioni di trasmissione personalizzate.

Sintassi

NTSTATUS SerCx2CustomTransmitTransactionCreate(
  [in]  SERCX2CUSTOMTRANSMIT                       CustomTransmit,
  [in]  PSERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG CustomTransmitTransactionConfig,
  [in]  PWDF_OBJECT_ATTRIBUTES                     Attributes,
  [out] SERCX2CUSTOMTRANSMITTRANSACTION            *CustomTransmitTransaction
);

Parametri

[in] CustomTransmit

Handle SERCX2CUSTOMTRANSMIT a un oggetto di trasmissione personalizzato. Il driver del controller seriale precedentemente chiamato il metodo SerCx2CustomTransmitCreate per creare questo oggetto.

[in] CustomTransmitTransactionConfig

Puntatore a una struttura SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG. Prima di chiamare questo metodo, il chiamante deve chiamare la funzione SERCX2_CUSTOM_TRANSMIT_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 scrivere dati nel controller seriale da trasmettere.

[in] Attributes

Puntatore a una struttura WDF_OBJECT_ATTRIBUTES che descrive gli attributi da assegnare al nuovo oggetto transazione di trasmissione personalizzata. 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] CustomTransmitTransaction

Puntatore a una posizione in cui questo metodo scrive un handle SERCX2CUSTOMTRANSMITTRANSACTION nell'oggetto transazione di trasmissione personalizzato 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 transazione di trasmissione personalizzata esiste già da una precedente SerCx2CustomTransmitTransactionCreate chiamata.
STATUS_INFO_LENGTH_MISMATCH
Il valore CustomTransmitTransactionConfig->Size non è uguale sizeof(SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG).
STATUS_INVALID_PARAMETER
Un valore di parametro non è valido. Il chiamante deve fornire un valido EvtSerCx2CustomTransmitTransactionStart puntatore alla funzione.
STATUS_INSUFFICIENT_RESOURCES
Sono disponibili risorse insufficienti per creare l'oggetto transazione di trasmissione personalizzata.

Osservazioni

Il driver del controller seriale può chiamare questo metodo per creare un oggetto transazione di trasmissione personalizzato. SerCx2 usa questo oggetto per gestire transazioni di trasmissione personalizzate, ovvero transazioni di I/O che usano un meccanismo di trasferimento dati personalizzato per scrivere dati nel controller seriale da trasmettere.

Come opzione, un driver del controller seriale può usare il parametro Attributi per creare un contesto per l'oggetto di trasmissione personalizzato e fornire puntatori a EvtCleanupCallback e EvtDestroyCallback funzioni 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.

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

Per altre informazioni sulla creazione di oggetti transazione di trasmissione personalizzata, vedere SERCX2CUSTOMTRANSMITTRANSACTION. Per altre informazioni sulle transazioni di trasmissione personalizzate, vedere SerCx2 Custom-Transmit 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

EvtCleanupCallback

EvtDestroyCallback

EvtSerCx2CustomTransmitTransactionStart

SERCX2CUSTOMTRANSMIT

SERCX2CUSTOMTRANSMITTRANSACTION

SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG

SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG_INIT

SerCx2CustomTransmitCreare

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT