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
EvtSerCx2SelectNextReceiveTransactionType