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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per