struttura SERCX2_CONFIG (sercx.h)

La struttura SERCX2_CONFIG contiene informazioni di configurazione per la versione 2 dell'estensione del framework seriale (SerCx2).

Sintassi

typedef struct _SERCX2_CONFIG {
  ULONG                                            Size;
  PFN_SERCX2_FILEOPEN                              EvtSerCx2FileOpen;
  PFN_SERCX2_FILECLOSE                             EvtSerCx2FileClose;
  PFN_SERCX2_SET_WAIT_MASK                         EvtSerCx2SetWaitMask;
  PFN_SERCX2_PURGE_FIFOS                           EvtSerCx2PurgeFifos;
  PFN_SERCX2_CONTROL                               EvtSerCx2Control;
  PFN_SERCX2_APPLY_CONFIG                          EvtSerCx2ApplyConfig;
  PFN_SERCX2_SELECT_NEXT_RECEIVE_TRANSACTION_TYPE  EvtSerCx2SelectNextReceiveTransactionType;
  PFN_SERCX2_SELECT_NEXT_TRANSMIT_TRANSACTION_TYPE EvtSerCx2SelectNextTransmitTransactionType;
  PWDF_OBJECT_ATTRIBUTES                           RequestAttributes;
} SERCX2_CONFIG, *PSERCX2_CONFIG;

Members

Size

Dimensione, in byte, della struttura. Il metodo SerCx2InitializeDevice usa questo membro per determinare la versione della struttura utilizzata dal chiamante. Le dimensioni di questa struttura potrebbero cambiare nelle versioni future del file di intestazione Sercx.h.

EvtSerCx2FileOpen

Puntatore alla funzione di callback dell'evento EvtSerCx2FileOpen implementata dal driver. Questo membro è facoltativo e può essere impostato su NULL per indicare che il driver non implementa la funzione. Tuttavia, un driver che implementa questa funzione deve implementare anche una funzione EvtSerCx2FileClose .

EvtSerCx2FileClose

Puntatore alla funzione di callback dell'evento EvtSerCx2FileClose implementata dal driver. Questo membro è facoltativo e può essere impostato su NULL per indicare che il driver non implementa la funzione.

EvtSerCx2SetWaitMask

Puntatore alla funzione di callback dell'evento EvtSerCx2SetWaitmask implementata dal driver. Questo membro deve puntare a una funzione valida.

EvtSerCx2PurgeFifos

Puntatore alla funzione di callback dell'evento EvtSerCx2PurgeFifos implementata dal driver. Questo membro deve puntare a una funzione valida.

EvtSerCx2Control

Puntatore alla funzione di callback dell'evento EvtSerCx2Control implementata dal driver. Questo membro deve puntare a una funzione valida.

EvtSerCx2ApplyConfig

Puntatore alla funzione di callback dell'evento EvtSerCx2ApplyConfig implementata dal driver. Questo membro deve puntare a una funzione valida.

EvtSerCx2SelectNextReceiveTransactionType

Puntatore alla funzione di callback dell'evento EvtSerCx2SelectNextReceiveTransactionType implementata dal driver. Questo membro è facoltativo e può essere impostato su NULL per indicare che il driver non implementa la funzione.

EvtSerCx2SelectNextTransmitTransactionType

Puntatore alla funzione di callback dell'evento EvtSerCx2SelectNextTransactionType implementata dal driver. Questo membro è facoltativo e può essere impostato su NULL per indicare che il driver non implementa la funzione.

RequestAttributes

Puntatore a una struttura WDF_OBJECT_ATTRIBUTES che descrive gli attributi da assegnare agli oggetti della richiesta del framework che SerCx2 passa al driver del controller seriale. Prima di chiamare il metodo SerCx2InitializeDevice , il chiamante deve chiamare la funzione WDF_OBJECT_ATTRIBUTES_INIT per inizializzare la struttura. Questo membro è 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.

Commenti

Il metodo SerCx2InitializeDevice accetta un puntatore a una struttura SERCX2_CONFIG come parametro di input. Prima di chiamare SerCx2InitializeDevice, chiamare la funzione SERCX2_CONFIG_INIT per inizializzare questa struttura.

Se il membro RequestAttributes punta a una struttura WDF_OBJECT_ATTRIBUTES , il chiamante non deve sovrascrivere i valori scritti dalla funzione di inizializzazione WDF_OBJECT_ATTRIBUTES_INIT nei membri ParentObject, ExecutionLevel e SynchronizationScope di questa struttura.

Un driver potrebbe dover archiviare le informazioni nelle aree di contesto negli oggetti richiesta del framework ricevuti dal driver. In genere, il driver chiama il metodo WdfDeviceInitSetRequestAttributes per specificare gli attributi necessari per gli oggetti richiesta. Questi attributi includono il nome e le dimensioni dell'area di contesto in ogni oggetto richiesta. Inoltre, nell'implementazione corrente di SerCx2, un driver controller seriale che richiede un contesto di richiesta deve specificare questi stessi attributi nel membro RequestAttributes della struttura SERCX2_CONFIG che il driver passa a SerCx2InitializeDevice. Ovvero, il driver deve specificare due volte gli stessi attributi di richiesta, nella chiamata SerCx2InitializeDevice e nella chiamata WdfDeviceInitSetRequestAttributes . Per altre informazioni, vedere SerCx2 Custom-Receive Transactions e SerCx2 Custom-Transmit Transactions.

Un driver che non necessita mai di un contesto di richiesta non deve chiamare WdfDeviceInitSetRequestAttributes e può impostare il membro RequestAttributes della struttura SERCX2_CONFIG su WDF_NO_OBJECT_ATTRIBUTES .

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.1.
Intestazione sercx.h

Vedi anche

EvtSerCx2ApplyConfig

EvtSerCx2Control

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT