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 tramite 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;

Members

HostCapabilities

Indica le funzionalità host. La tabella seguente elenca i valori che è possibile assegnare a th è membro:

Flag 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 di 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 verso/dal 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.

Commenti

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 operazioni di I/O basate 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 di ciclo isocrono, il driver di porta restituisce il HOST_INFO_SUPPORTS_START_ON_CYCLE. I driver devono controllare questo flag prima di tentare di eseguire una richiesta di REQUEST_ISOCH_ALLOCATE_RESOURCES usando il flag di RESOURCE_SYNCH_ON_TIME o prima di allegare un buffer il cui ISOCH_DESCRIPTOR ha il flag DESCRIPTOR_SYNCH_ON_TIME impostato.

Requisiti

Requisito Valore
Intestazione 1394.h (include 1394.h)

Vedi anche

GET_LOCAL_HOST_INFO7

ISOCH_DESCRIPTOR

REQUEST_GET_LOCAL_HOST_INFO

REQUEST_ISOCH_ALLOCATE_RESOURCES