SERCX2_CUSTOM_RECEIVE_CONFIG Struktur (sercx.h)
Die SERCX2_CUSTOM_RECEIVE_CONFIG-Struktur enthält Informationen, die Version 2 der seriellen Frameworkerweiterung (SerCx2) zum Konfigurieren eines neuen benutzerdefinierten Empfangsobjekts verwendet.
Syntax
typedef struct _SERCX2_CUSTOM_RECEIVE_CONFIG {
ULONG Size;
ULONG Alignment;
ULONG MinimumTransactionLength;
ULONG MaximumTransactionLength;
ULONG MinimumTransferUnit;
BOOLEAN Exclusive;
} SERCX2_CUSTOM_RECEIVE_CONFIG, *PSERCX2_CUSTOM_RECEIVE_CONFIG;
Angehörige
Size
Die Größe dieser Struktur in Byte. Die SerCx2CustomReceiveCreate-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.
Alignment
Datenausrichtungsanforderung. Gibt an, wie die Startadresse einer Übertragung in einer benutzerdefinierten Empfangstransaktion im Arbeitsspeicher ausgerichtet werden muss. Legen Sie dieses Element auf die entsprechende FILE_XXX-_ALIGNMENT Konstante in der Wdm.h-Headerdatei fest. Beispielsweise gibt FILE_WORD_ALIGNMENT an, dass die Startadresse an der Grenze von zwei Byte im Arbeitsspeicher ausgerichtet werden muss, FILE_LONG_ALIGNMENT gibt an, dass die Adresse an einer Grenze von vier Byte ausgerichtet werden muss usw.
MinimumTransactionLength
Die Mindestlänge einer Datenübertragung in Bytes in einer benutzerdefinierten Empfangstransaktion. Wenn die Länge des Puffers in einer Leseanforderung (IRP_MJ_READ) kleiner als diese Mindestlänge ist, verwendet SerCx2 für die Transaktion programmierte E/A (PIO).
MaximumTransactionLength
Die maximale Länge einer Datenübertragung in Bytes in einer benutzerdefinierten Empfangstransaktion. Wenn die Größe des Puffers in der Leseanforderung größer als diese maximale Länge ist, verwendet SerCx2 mehrere benutzerdefinierte Empfangstransaktionen, um die Anforderung zu verarbeiten, und begrenzt jede Transaktion auf die maximale Länge.
MinimumTransferUnit
Die Mindestübertragungseinheit. Die Anzahl der Byte, die durch ein Element in einer Punkt/Gather-Liste angegeben werden, muss eine ganze Zahl von mehreren der mindesten Übertragungseinheit sein. Um anzugeben, dass die standardmäßige Mindestübertragungseinheit verwendet werden soll, legen Sie dieses Element auf Null fest. Weitere Informationen zur standardmäßigen Mindestübertragungseinheit finden Sie unter DMA_ADAPTER_INFO_V1.
Exclusive
Gibt an, ob Transaktionen mit benutzerdefiniertem Empfang ausschließlich zum Verarbeiten von Schreibanforderungen (IRP_MJ_READ) verwendet werden sollen. Legen Sie auf TRUE- fest, um anzugeben, dass Leseanforderungen ausschließlich Transaktionen mit benutzerdefiniertem Empfang verwenden sollen. Legen Sie diesen Wert auf FALSE- fest, um anzugeben, dass Leseanforderungen eine Kombination aus benutzerdefinierten Empfangen-Transaktionen und PIO-Empfangstransaktionen verwenden können.
Legen Sie dieses Element auf TRUE fest, nur, wenn die minimale Übertragungseinheit für benutzerdefinierte Empfangstransaktionen ein Byte ist, die mindeste Transaktionslänge ein Byte ist, und der Lesepuffer für die Transaktion kann auf jeder Bytegrenze im Arbeitsspeicher beginnen.
Wenn ExclusiveTRUEist, müssen die Elemente MinimumTransferUnitOverride, Alignmentund MinimumTransactionLength Member null sein.
Unabhängig vom Wert dieses Mitglieds werden PIO-Empfangstransaktionen verwendet, um ungelesene Daten im Empfangs-FIFO zu speichern, bevor der serielle Controller den D0-Gerätestromzustand verlässt, um in einen Energiesparmodus zu gelangen.
Bemerkungen
Die SerCx2CustomReceiveCreate-Methode akzeptiert einen Zeiger auf eine SERCX2_CUSTOM_RECEIVE_CONFIG Struktur als Eingabeparameter. Rufen Sie vor dem Aufrufen SerCx2CustomReceiveCreatedie SERCX2_CUSTOM_RECEIVE_CONFIG_INIT-Funktion auf, um diese Struktur zu initialisieren.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Wird ab Windows 8.1 unterstützt. |
Header- | sercx.h |