struttura SERCX2_CUSTOM_RECEIVE_CONFIG (sercx.h)

La struttura SERCX2_CUSTOM_RECEIVE_CONFIG contiene informazioni usate dalla versione 2 dell'estensione del framework seriale (SerCx2) per configurare un nuovo oggetto di ricezione personalizzato.

Sintassi

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;

Members

Size

Dimensione, in byte, della struttura. Il metodo SerCx2CustomReceiveCreate usa questo membro per determinare quale versione della struttura sta usando il chiamante. Le dimensioni di questa struttura potrebbero cambiare nelle versioni future del file di intestazione Sercx.h.

Alignment

Requisito di allineamento dei dati. Specifica come l'indirizzo iniziale di un trasferimento in una transazione di ricezione personalizzata deve essere allineato in memoria. Impostare questo membro sulla costante FILE_XXX appropriata_ALIGNMENT nel file di intestazione Wdm.h. Ad esempio, FILE_WORD_ALIGNMENT indica che l'indirizzo iniziale deve essere allineato a un limite a due byte in memoria, FILE_LONG_ALIGNMENT indica che l'indirizzo deve essere allineato a un limite a quattro byte e così via.

MinimumTransactionLength

Lunghezza minima, in byte, di un trasferimento di dati in una transazione di ricezione personalizzata. Se la lunghezza del buffer in una richiesta di lettura (IRP_MJ_READ) è minore di questa lunghezza minima, SerCx2 usa i/O programmati per la transazione.

MaximumTransactionLength

Lunghezza massima, in byte, di un trasferimento di dati in una transazione di ricezione personalizzata. Se le dimensioni del buffer nella richiesta di lettura sono maggiori di questa lunghezza massima, SerCx2 usa più transazioni di ricezione personalizzate per gestire la richiesta e limita ogni transazione alla lunghezza massima.

MinimumTransferUnit

Unità di trasferimento minima. Il numero di byte specificati da un elemento in un elenco a dispersione/raccolta deve essere un numero intero multiplo dell'unità di trasferimento minima. Per indicare che deve essere usata l'unità di trasferimento minima predefinita, impostare questo membro su zero. Per altre informazioni sull'unità di trasferimento minima predefinita, vedere DMA_ADAPTER_INFO_V1.

Exclusive

Se usare transazioni di ricezione personalizzate esclusivamente per gestire le richieste di scrittura (IRP_MJ_READ). Impostare su TRUE per indicare che le richieste di lettura devono usare esclusivamente transazioni di ricezione personalizzate. Impostare su FALSE per indicare che le richieste di lettura possono usare una combinazione di transazioni di ricezione personalizzate e transazioni di ricezione PIO.

Impostare questo membro su TRUE solo se l'unità di trasferimento minima per le transazioni di ricezione personalizzata è un byte, la lunghezza minima della transazione è un byte e il buffer di lettura per la transazione può iniziare su qualsiasi limite di byte in memoria.

Se Exclusive è TRUE, i membri MinimumTransferUnitOverride, Alignment e MinimumTransactionLength devono essere zero.

Indipendentemente dal valore di questo membro, le transazioni di ricezione PIO vengono usate per salvare i dati non letti nella ricezione FIFO prima che il controller seriale esca dallo stato di alimentazione del dispositivo D0 per immettere uno stato di bassa potenza.

Commenti

Il metodo SerCx2CustomReceiveCreate accetta un puntatore a una struttura SERCX2_CUSTOM_RECEIVE_CONFIG come parametro di input. Prima di chiamare SerCx2CustomReceiveCreate, chiamare la funzione SERCX2_CUSTOM_RECEIVE_CONFIG_INIT per inizializzare questa struttura.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.1.
Intestazione sercx.h

Vedi anche

DMA_ADAPTER_INFO_V1

IRP_MJ_READ

SERCX2_CUSTOM_RECEIVE_CONFIG_INIT

SerCx2CustomReceiveCreate