Freigeben über


SERCX2_CONFIG Struktur (sercx.h)

Die SERCX2_CONFIG-Struktur enthält Konfigurationsinformationen für Version 2 der seriellen Frameworkerweiterung (SerCx2).

Syntax

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;

Angehörige

Size

Die Größe dieser Struktur in Byte. Die SerCx2InitializeDevice-Methode verwendet dieses Element, um zu bestimmen, welche Struktur der Aufrufer verwendet. Die Größe dieser Struktur kann sich in zukünftigen Versionen der Headerdatei Sercx.h ändern.

EvtSerCx2FileOpen

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2FileOpen Ereignisrückruffunktion. Dieses Element ist optional und kann auf NULL- festgelegt werden, um anzugeben, dass der Treiber die Funktion nicht implementiert. Ein Treiber, der diese Funktion implementiert, muss jedoch auch eine EvtSerCx2FileClose--Funktion implementieren.

EvtSerCx2FileClose

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2FileClose Ereignisrückruffunktion. Dieses Element ist optional und kann auf NULL- festgelegt werden, um anzugeben, dass der Treiber die Funktion nicht implementiert.

EvtSerCx2SetWaitMask

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2SetWaitmask Ereignisrückruffunktion. Dieses Element muss auf eine gültige Funktion verweisen.

EvtSerCx2PurgeFifos

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2PurgeFifos Ereignisrückruffunktion. Dieses Element muss auf eine gültige Funktion verweisen.

EvtSerCx2Control

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2Control Ereignisrückruffunktion. Dieses Element muss auf eine gültige Funktion verweisen.

EvtSerCx2ApplyConfig

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2ApplyConfig Ereignisrückruffunktion. Dieses Element muss auf eine gültige Funktion verweisen.

EvtSerCx2SelectNextReceiveTransactionType

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2SelectNextReceiveTransactionType Ereignisrückruffunktion. Dieses Element ist optional und kann auf NULL- festgelegt werden, um anzugeben, dass der Treiber die Funktion nicht implementiert.

EvtSerCx2SelectNextTransmitTransactionType

Ein Zeiger auf die vom Treiber implementierte EvtSerCx2SelectNextTransmitTransactionType Ereignisrückruffunktion. Dieses Element ist optional und kann auf NULL- festgelegt werden, um anzugeben, dass der Treiber die Funktion nicht implementiert.

RequestAttributes

Ein Zeiger auf eine WDF_OBJECT_ATTRIBUTES-Struktur, die die Attribute beschreibt, die den Frameworkanforderungsobjekten zugewiesen werden sollen, die SerCx2 an den seriellen Controllertreiber übergibt. Vor dem Aufrufen der SerCx2InitializeDevice-Methode muss der Aufrufer die WDF_OBJECT_ATTRIBUTES_INIT-Funktion aufrufen, um die Struktur zu initialisieren. Dieses Element ist optional und kann als WDF_NO_OBJECT_ATTRIBUTES angegeben werden, wenn der serielle Controllertreiber dem Objekt keine Attribute zuweisen muss. Weitere Informationen finden Sie in den Hinweisen.

Bemerkungen

Die SerCx2InitializeDevice--Methode akzeptiert einen Zeiger auf eine SERCX2_CONFIG Struktur als Eingabeparameter. Rufen Sie vor dem Aufrufen SerCx2InitializeDevicedie SERCX2_CONFIG_INIT-Funktion auf, um diese Struktur zu initialisieren.

Wenn das RequestAttributes Member auf eine WDF_OBJECT_ATTRIBUTES Struktur verweist, darf der Aufrufer die Werte, die die WDF_OBJECT_ATTRIBUTES_INIT Initialisierungsfunktion schreibt, nicht in das ParentObject, ExecutionLevelund SynchronizationScope Member dieser Struktur überschreiben.

Möglicherweise muss ein Treiber Informationen in Kontextbereichen in den Frameworkanforderungsobjekten speichern, die der Treiber empfängt. In der Regel ruft der Treiber die WdfDeviceInitSetRequestAttributes Methode auf, um die erforderlichen Attribute für Anforderungsobjekte anzugeben. Diese Attribute enthalten den Namen und die Größe des Kontextbereichs in jedem Anforderungsobjekt. Darüber hinaus sollte in der aktuellen Implementierung von SerCx2 ein serieller Controllertreiber, der einen Anforderungskontext erfordert, dieselben Attribute im RequestAttributes Member der SERCX2_CONFIG Struktur angeben, die der Treiber an SerCx2InitializeDeviceübergibt. Das heißt, der Treiber sollte die gleichen Anforderungsattribute zweimal angeben – im SerCx2InitializeDevice Aufruf und im WdfDeviceInitSetRequestAttributes Aufruf. Weitere Informationen finden Sie unter SerCx2 Custom-Receive Transactions und SerCx2 Custom-Transmit Transactions.

Ein Treiber, der niemals einen Anforderungskontext benötigt, muss nicht WdfDeviceInitSetRequestAttributesaufrufen und das RequestAttributes-Element der SERCX2_CONFIG-Struktur auf WDF_NO_OBJECT_ATTRIBUTES festlegen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Wird ab Windows 8.1 unterstützt.
Header- sercx.h

Siehe auch

EvtSerCx2ApplyConfig

EvtSerCx2Control-

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT