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;
Membri
Size
Dimensione, in byte, di questa struttura. Il metodo SerCx2CustomReceiveCreate usa questo membro per determinare quale versione della struttura utilizza 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 il modo in cui l'indirizzo iniziale di un trasferimento in una transazione di ricezione personalizzata deve essere allineato in memoria. Impostare questo membro sulla costante_ALIGNMENT FILE_
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) è inferiore a questa lunghezza minima, SerCx2 usa le operazioni di I/O programmate 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 specificato da un elemento in un elenco a dispersione/raccolta deve essere un multiplo intero dell'unità di trasferimento minima. Per indicare che l'unità di trasferimento minima predefinita deve essere usata, impostare questo membro su zero. Per altre informazioni sull'unità di trasferimento minima predefinita, vedere DMA_ADAPTER_INFO_V1.
Exclusive
Indica 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 è di un byte, la lunghezza minima della transazione è di 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, Alignmente MinimumTransactionLength devono essere pari a 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 entrare in uno stato a basso consumo.
Osservazioni
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.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato a partire da Windows 8.1. |
intestazione |
sercx.h |