SERCX2_CUSTOM_TRANSMIT_CONFIG Struktur (sercx.h)
Die SERCX2_CUSTOM_TRANSMIT_CONFIG-Struktur enthält Informationen, die Version 2 der seriellen Framework-Erweiterung (SerCx2) zum Konfigurieren eines neuen benutzerdefinierten Übertragungsobjekts verwendet.
Syntax
typedef struct _SERCX2_CUSTOM_TRANSMIT_CONFIG {
ULONG Size;
ULONG Alignment;
ULONG MinimumTransactionLength;
ULONG MaximumTransactionLength;
ULONG MinimumTransferUnit;
BOOLEAN Exclusive;
} SERCX2_CUSTOM_TRANSMIT_CONFIG, *PSERCX2_CUSTOM_TRANSMIT_CONFIG;
Angehörige
Size
Die Größe dieser Struktur in Byte. Die SerCx2CustomTransmitCreate-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 Übertragung 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 Übertragungstransaktion. Wenn die Länge des Puffers in einer Schreibanforderung (IRP_MJ_WRITE) kleiner als diese Mindestlänge ist, verwendet SerCx2 programmierte E/A (PIO) für die Transaktion.
MaximumTransactionLength
Die maximale Länge einer Datenübertragung in Bytes in einer benutzerdefinierten Übertragungstransaktion. Wenn die Größe des Puffers in der Schreibanforderung größer als diese maximale Länge ist, verwendet SerCx2 mehrere benutzerdefinierte Übertragungstransaktionen, um die Anforderung zu verarbeiten, und begrenzt jede Transaktion auf die maximale Länge.
MinimumTransferUnit
Die Mindestübertragungseinheit. Die Anzahl der Bytes, die in einer benutzerdefinierten Übertragungstransaktion übertragen werden sollen, muss ein ganzzahliges Vielfaches 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 Benutzerdefinierte Übertragungstransaktionen ausschließlich zum Verarbeiten von Schreibanforderungen (IRP_MJ_WRITE) verwendet werden sollen. Legen Sie auf TRUE- fest, um anzugeben, dass Schreibanforderungen ausschließlich benutzerdefinierte Übertragungstransaktionen verwenden sollen. Legen Sie auf FALSE- fest, um anzugeben, dass Schreibanforderungen eine Kombination aus benutzerdefinierten Übertragungstransaktionen und PIO-Übertragungstransaktionen verwenden können.
Legen Sie dieses Element auf TRUE fest, nur, wenn die minimale Übertragungseinheit für benutzerdefinierte Übertragungstransaktionen ein Byte ist, die mindeste Transaktionslänge ein Byte ist, und der Schreibpuffer für die Transaktion kann für jede Bytegrenze im Arbeitsspeicher gestartet werden.
Wenn ExclusiveTRUE-ist, müssen die Elemente MinimumTransferUnit, Alignmentund MinimumTransactionLength Member null sein.
Bemerkungen
Die SerCx2CustomTransmitCreate-Methode akzeptiert einen Zeiger auf eine SERCX2_CUSTOM_TRANSMIT_CONFIG Struktur als Eingabeparameter. Rufen Sie vor dem Aufrufen SerCx2CustomTransmitCreatedie SERCX2_CUSTOM_TRANSMIT_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 |