GET_LOCAL_HOST_INFO2 Struktur (1394.h)

Die GET_LOCAL_HOST_INFO2-Struktur enthält die Daten, die von einer REQUEST_GET_LOCAL_HOST_INFO-Anforderung mithilfe von u.GetLocalHostInformation.nLevel GET_HOST_CAPABILITIES zurückgegeben werden.

Syntax

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

Member

HostCapabilities

Gibt die Hostfunktionen an. In der folgenden Tabelle sind die Werte aufgeführt, die dem Element "th is member" zugewiesen werden können:

Flag Beschreibung
HOST_INFO_PACKET_BASED Der Hostcontroller unterstützt paketbasierte isochrone Transaktionen.
HOST_INFO_STREAM_BASED Der Hostcontroller unterstützt streambasierte isochrone Transaktionen.
HOST_INFO_SUPPORTS_ISOCH_STRIPPING Der Hostcontroller unterstützt das konfigurierbare Stripping von Headerinformationen.
HOST_INFO_SUPPORTS_START_ON_CYCLE Der Hostcontroller unterstützt die Synchronisierung von Start zu bestimmten isochronen Zykluszeiten.
HOST_INFO_SUPPORTS_RETURNING_ISO_HDR Der Hostcontroller entfernt den isochronen Paketheader nicht automatisch.
HOST_INFO_SUPPORTS_ISO_HDR_INSERTION Der Hostcontroller unterstützt das DESCRIPTOR_HEADER_SCATTER_GATHER-Flag in ISOCH_DESCRIPTOR.
HOST_INFO_SUPPORTS_ISO_DUAL_BUFFER_RX Der Hostcontroller unterstützt das RESOURCE_VARIABLE_ISOCH_PAYLOAD-Flag in ISOCH_DESCRIPTOR.
HOST_INFO_DMA_DOUBLE_BUFFERING_ENABLED DMA Übertragungen, die an/vom Hostcontroller vorgenommen werden, werden mithilfe von Systemzuordnungsregistern doppelt gepuffert. Systemzuordnungsregister beschränken die Größe einer einzelnen Übertragung. Überprüfen Sie den MaxDmaBufferSize-Wert, der in der GET_LOCAL_HOST_INFO7-Struktur von einer REQUEST_GET_LOCAL_HOST_INFO Anforderung zurückgegeben wird, und begrenzen Sie die Übertragungsgröße entsprechend.

MaxAsyncReadRequest

Der Bustreiber füllt dieses Element mit der maximalen asynchronen Leseanforderung aus, die vom Hostcontroller unterstützt wird.

MaxAsyncWriteRequest

Der Bustreiber füllt diesen Member mit der maximalen asynchronen Schreibanforderung aus, die vom Hostcontroller unterstützt wird.

Hinweise

Porttreiber, die das HOST_INFO_PACKET_BASED-Flag zurückgeben, unterstützen das RESOURCE_USE_PACKET_BASED-Flag der IsochAllocateResources-Anforderung. Porttreiber, die das HOST_STREAM_PACKET_BASED-Flag zurückgeben, unterstützen streambasierte E/A-Vorgänge. Wenn der Hostcontroller streambasierte E/A nicht unterstützt, muss der Treiber paketbasierte E/A verwenden und beim Ausgeben des REQUEST_ISOCH_ALLOCATE_RESOURCES das RESOURCE_USE_PACKET_BASED-Flag festlegen.

Einige Hostcontroller entfernen den Paketheader automatisch von einem isochronen Paket. Wenn ein Hostcontroller den Header nicht automatisch entfernt, gibt der Porttreiber das flag HOST_INFO_SUPPORTS_ISO_HDR zurück. Einige Hostcontroller ermöglichen es einem Treiber, den Hostcontroller so zu konfigurieren, dass er eine bestimmte Anzahl von Quadlets abstreift. für solche Controller gibt der Porttreiber das HOST_INFO_SUPPORTS_ISOCH_STRIPPING-Flag zurück. Der Treiber sollte dieses Flag überprüfen, bevor er REQUEST_ISOCH_ALLOCATE_RESOURCES mit dem RESOURCE_STRIP_ADDITIONAL_QUADLETS-Flag aufruft.

Wenn ein Hostcontroller die Synchronisierung REQUEST_ISOCH_LISTEN und REQUEST_ISOCH_TALK Anforderungen mit der isochronen Zykluszeit unterstützt, gibt der Porttreiber die HOST_INFO_SUPPORTS_START_ON_CYCLE zurück. Treiber sollten dieses Flag überprüfen, bevor sie versuchen, eine REQUEST_ISOCH_ALLOCATE_RESOURCES Anforderung mithilfe des RESOURCE_SYNCH_ON_TIME-Flags oder vor dem Anfügen eines Puffers, dessen ISOCH_DESCRIPTOR das DESCRIPTOR_SYNCH_ON_TIME-Flag festgelegt hat.

Anforderungen

Anforderung Wert
Header 1394.h (einschließlich 1394.h)

Weitere Informationen

GET_LOCAL_HOST_INFO7

ISOCH_DESCRIPTOR

REQUEST_GET_LOCAL_HOST_INFO

REQUEST_ISOCH_ALLOCATE_RESOURCES