SERCX2_CUSTOM_TRANSMIT_CONFIG Struktur (sercx.h)

Die SERCX2_CUSTOM_TRANSMIT_CONFIG-Struktur enthält Informationen, die Version 2 der seriellen Frameworkerweiterung (SerCx2) verwendet, um ein neues benutzerdefiniertes Übertragungsobjekt zu konfigurieren.

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;

Member

Size

Die Größe (in Bytes) dieser Struktur. Die SerCx2CustomTransmitCreate-Methode verwendet dieses Element, um festzustellen, welche Version der Struktur der Aufrufer verwendet wird. Die Größe dieser Struktur kann sich in zukünftigen Versionen der Sercx.h-Headerdatei ändern.

Alignment

Datenausrichtungsanforderung. Gibt an, wie die Startadresse einer Übertragung in einer benutzerdefinierten Übertragungstransaktion im Arbeitsspeicher ausgerichtet werden muss. Legen Sie dieses Element auf die entsprechende FILE_XXX_ALIGNMENT Konstante in der Headerdatei wdm.h fest. Beispielsweise gibt FILE_WORD_ALIGNMENT an, dass die Startadresse an zwei Bytegrenze im Arbeitsspeicher ausgerichtet werden muss, FILE_LONG_ALIGNMENT angibt, dass die Adresse an eine Vier-Byte-Grenze ausgerichtet werden muss und so weiter.

MinimumTransactionLength

Die mindeste Länge in Bytes einer Datenübertragung in einer benutzerdefinierten Übertragung. Wenn die Länge des Puffers in einer Schreibanforderung (IRP_MJ_WRITE) kleiner als diese Mindestlänge ist, verwendet SerCx2 für die Transaktion programmierte I/O (PIO).

MaximumTransactionLength

Die maximale Länge in Bytes einer Datenübertragung in einer benutzerdefinierten Übertragung. Wenn die Größe des Puffers in der Schreibanforderung größer als diese maximale Länge ist, verwendet SerCx2 mehrere benutzerdefinierte Übertragungsvorgänge, um die Anforderung zu behandeln, und beschränkt 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 Mindestübertragungseinheit sein. Um anzugeben, dass die standardmäßige Mindestübertragungseinheit verwendet werden soll, legen Sie dieses Element auf Null fest. Weitere Informationen zu der standardmäßigen Mindestübertragungseinheit finden Sie unter DMA_ADAPTER_INFO_V1.

Exclusive

Ob Sie benutzerdefinierte Übertragungsvorgänge ausschließlich zum Behandeln von Schreibanforderungen (IRP_MJ_WRITE) verwenden möchten. Legen Sie auf TRUE fest, um anzugeben, dass Schreibanforderungen ausschließlich benutzerdefinierte Übertragungsvorgänge verwenden sollten. Legen Sie auf FALSE fest, um anzugeben, dass Schreibanforderungen eine Kombination aus benutzerdefinierten Übertragungsvorgängen und PIO-Übertragungsvorgängen verwenden können.

Legen Sie dieses Element nur auf TRUE fest, wenn die Mindestübertragungseinheit für benutzerdefinierte Übertragungsvorgänge ein Byte ist, die mindeste Transaktionslänge ein Byte ist und der Schreibpuffer für die Transaktion mit einer beliebigen Bytegrenze im Arbeitsspeicher beginnen kann.

Wenn ExklusivTRUE ist, muss die MinimumTransferUnit-, Ausrichtungs- und MinimumTransactionLength-Elemente null sein.

Bemerkungen

Die SerCx2CustomTransmitCreate-Methode akzeptiert einen Zeiger auf eine SERCX2_CUSTOM_TRANSMIT_CONFIG Struktur als Eingabeparameter. Rufen Sie vor dem Aufrufen von SerCx2CustomTransmitCreate die SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT-Funktion auf, um diese Struktur zu initialisieren.

Anforderungen

   
Unterstützte Mindestversion (Client) Unterstützt ab Windows 8.1.
Header sercx.h

Siehe auch

DMA_ADAPTER_INFO_V1

IRP_MJ_WRITE

SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT

SerCx2CustomTransmitCreate