structure GET_LOCAL_HOST_INFO2 (1394.h)

La structure GET_LOCAL_HOST_INFO2 contient les données retournées par une demande de REQUEST_GET_LOCAL_HOST_INFO à l’aide de l’GET_HOST_CAPABILITIES u.GetLocalHostInformation.nLevel .

Syntaxe

typedef struct _GET_LOCAL_HOST_INFO2 {
  ULONG HostCapabilities;
  ULONG MaxAsyncReadRequest;
  ULONG MaxAsyncWriteRequest;
} GET_LOCAL_HOST_INFO2, *PGET_LOCAL_HOST_INFO2;

Membres

HostCapabilities

Indique les fonctionnalités de l’hôte. Le tableau suivant répertorie les valeurs qui peuvent être attribuées à th is member :

Indicateur Description
HOST_INFO_PACKET_BASED Le contrôleur hôte prend en charge les transactions isochrone basées sur les paquets.
HOST_INFO_STREAM_BASED Le contrôleur hôte prend en charge les transactions isochrone basées sur le flux.
HOST_INFO_SUPPORTS_ISOCH_STRIPPING Le contrôleur hôte prend en charge la suppression configurable des informations d’en-tête.
HOST_INFO_SUPPORTS_START_ON_CYCLE Le contrôleur hôte prend en charge la synchronisation du démarrage sur des heures de cycle isochrone spécifiques.
HOST_INFO_SUPPORTS_RETURNING_ISO_HDR Le contrôleur hôte ne supprime pas automatiquement l’en-tête de paquet isochrone.
HOST_INFO_SUPPORTS_ISO_HDR_INSERTION Le contrôleur hôte prend en charge l’indicateur DESCRIPTOR_HEADER_SCATTER_GATHER dans ISOCH_DESCRIPTOR.
HOST_INFO_SUPPORTS_ISO_DUAL_BUFFER_RX Le contrôleur hôte prend en charge l’indicateur RESOURCE_VARIABLE_ISOCH_PAYLOAD dans ISOCH_DESCRIPTOR.
HOST_INFO_DMA_DOUBLE_BUFFERING_ENABLED DMA les transferts effectués vers/depuis le contrôleur hôte seront mis en mémoire tampon double à l’aide des registres de carte système. Les registres de carte système limitent la taille d’un transfert unique. Vérifiez la valeur MaxDmaBufferSize retournée dans la structure GET_LOCAL_HOST_INFO7 par une requête REQUEST_GET_LOCAL_HOST_INFO et limitez la taille du transfert en conséquence.

MaxAsyncReadRequest

Le pilote de bus remplit ce membre avec la demande de lecture asynchrone de taille maximale prise en charge par le contrôleur hôte.

MaxAsyncWriteRequest

Le pilote de bus remplit ce membre avec la demande d’écriture asynchrone de taille maximale prise en charge par le contrôleur hôte.

Remarques

Les pilotes de port qui retournent l’indicateur HOST_INFO_PACKET_BASED prennent en charge l’indicateur RESOURCE_USE_PACKET_BASED de la demande IsochAllocateResources. Les pilotes de port qui retournent l’indicateur HOST_STREAM_PACKET_BASED prennent en charge les E/S basées sur le flux. Si le contrôleur hôte ne prend pas en charge les E/S basées sur le flux, le pilote doit utiliser les E/S basées sur les paquets et définir l’indicateur RESOURCE_USE_PACKET_BASED lors de l’émission du REQUEST_ISOCH_ALLOCATE_RESOURCES.

Certains contrôleurs hôtes suppriment automatiquement l’en-tête de paquet d’un paquet isochrone. Si un contrôleur hôte ne supprime pas automatiquement l’en-tête, le pilote de port retourne l’indicateur HOST_INFO_SUPPORTS_ISO_HDR. Certains contrôleurs hôtes permettent à un pilote de configurer le contrôleur hôte pour supprimer un nombre donné de quadlets ; pour ces contrôleurs, le pilote de port retourne l’indicateur HOST_INFO_SUPPORTS_ISOCH_STRIPPING. Le pilote doit case activée cet indicateur avant d’appeler REQUEST_ISOCH_ALLOCATE_RESOURCES avec l’indicateur RESOURCE_STRIP_ADDITIONAL_QUADLETS.

Si un contrôleur hôte prend en charge la synchronisation des demandes REQUEST_ISOCH_LISTEN et REQUEST_ISOCH_TALK sur l’heure du cycle isochrone, le pilote de port retourne l’HOST_INFO_SUPPORTS_START_ON_CYCLE. Les pilotes doivent case activée cet indicateur avant de tenter d’émettre une demande de REQUEST_ISOCH_ALLOCATE_RESOURCES à l’aide de l’indicateur RESOURCE_SYNCH_ON_TIME, ou avant d’attacher une mémoire tampon dont l’indicateur ISOCH_DESCRIPTOR est défini sur le DESCRIPTOR_SYNCH_ON_TIME.

Configuration requise

Condition requise Valeur
En-tête 1394.h (inclure 1394.h)

Voir aussi

GET_LOCAL_HOST_INFO7

ISOCH_DESCRIPTOR

REQUEST_GET_LOCAL_HOST_INFO

REQUEST_ISOCH_ALLOCATE_RESOURCES