struttura GET_LOCAL_HOST_INFO2 (1394.h)
La struttura GET_LOCAL_HOST_INFO2 contiene i dati restituiti da una richiesta di REQUEST_GET_LOCAL_HOST_INFO usando u.GetLocalHostInformation.nLevel GET_HOST_CAPABILITIES.
Sintassi
typedef struct _GET_LOCAL_HOST_INFO2 {
ULONG HostCapabilities;
ULONG MaxAsyncReadRequest;
ULONG MaxAsyncWriteRequest;
} GET_LOCAL_HOST_INFO2, *PGET_LOCAL_HOST_INFO2;
Membri
HostCapabilities
Indica le funzionalità dell'host. La tabella seguente elenca i valori che è possibile assegnare a th è membro:
Bandiera | Descrizione |
---|---|
HOST_INFO_PACKET_BASED | Il controller host supporta transazioni isocrone basate su pacchetti. |
HOST_INFO_STREAM_BASED | Il controller host supporta transazioni isocrone basate su flusso. |
HOST_INFO_SUPPORTS_ISOCH_STRIPPING | Il controller host supporta la rimozione configurabile delle informazioni di intestazione. |
HOST_INFO_SUPPORTS_START_ON_CYCLE | Il controller host supporta la sincronizzazione dell'avvio in orari di ciclo isocroni specifici. |
HOST_INFO_SUPPORTS_RETURNING_ISO_HDR | Il controller host non rimuove automaticamente l'intestazione del pacchetto isocrona. |
HOST_INFO_SUPPORTS_ISO_HDR_INSERTION | Il controller host supporta il flag DESCRIPTOR_HEADER_SCATTER_GATHER in ISOCH_DESCRIPTOR. |
HOST_INFO_SUPPORTS_ISO_DUAL_BUFFER_RX | Il controller host supporta il flag di RESOURCE_VARIABLE_ISOCH_PAYLOAD in ISOCH_DESCRIPTOR. |
HOST_INFO_DMA_DOUBLE_BUFFERING_ENABLED DMA | i trasferimenti effettuati da/verso il controller host verranno memorizzati nel doppio buffer usando registri mappa di sistema. I registri delle mappe di sistema limitano le dimensioni di un singolo trasferimento. Controllare il valore MaxDmaBufferSize restituito nella struttura GET_LOCAL_HOST_INFO7 da una richiesta di REQUEST_GET_LOCAL_HOST_INFO e limitare di conseguenza le dimensioni del trasferimento. |
MaxAsyncReadRequest
Il driver del bus compila questo membro con la richiesta di lettura asincrona di dimensioni massime supportate dal controller host.
MaxAsyncWriteRequest
Il driver del bus compila questo membro con la richiesta di scrittura asincrona di dimensioni massime supportate dal controller host.
Osservazioni
I driver di porta che restituiscono il flag HOST_INFO_PACKET_BASED supportano il flag di RESOURCE_USE_PACKET_BASED della richiesta IsochAllocateResources. I driver di porta che restituiscono il flag HOST_STREAM_PACKET_BASED supportano l'I/O basato su flusso. Se il controller host non supporta l'I/O basato su flusso, il driver deve usare operazioni di I/O basate su pacchetti e impostare il flag di RESOURCE_USE_PACKET_BASED durante l'emissione del REQUEST_ISOCH_ALLOCATE_RESOURCES.
Alcuni controller host eliminano automaticamente l'intestazione del pacchetto da un pacchetto isocrono. Se un controller host non rimuove automaticamente l'intestazione, il driver della porta restituisce il flag HOST_INFO_SUPPORTS_ISO_HDR. Alcuni controller host consentono a un driver di configurare il controller host per rimuovere un determinato numero di quadlet; per tali controller il driver della porta restituisce il flag HOST_INFO_SUPPORTS_ISOCH_STRIPPING. Il driver deve controllare questo flag prima di chiamare REQUEST_ISOCH_ALLOCATE_RESOURCES con il flag di RESOURCE_STRIP_ADDITIONAL_QUADLETS.
Se un controller host supporta la sincronizzazione di REQUEST_ISOCH_LISTEN e REQUEST_ISOCH_TALK richieste al tempo del ciclo isocrono, il driver della porta restituisce il HOST_INFO_SUPPORTS_START_ON_CYCLE. I driver devono controllare questo flag prima di tentare di emettere una richiesta di REQUEST_ISOCH_ALLOCATE_RESOURCES usando il flag di RESOURCE_SYNCH_ON_TIME o prima di collegare un buffer il cui ISOCH_DESCRIPTOR ha il flag DESCRIPTOR_SYNCH_ON_TIME impostato.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | 1394.h (include 1394.h) |