Freigeben über


DXGKARG_DPI2CIOTRANSMISSION Struktur (dispmprt.h)

Die DXGKARG_DPI2CIOTRANSMISSION-Struktur ist ein Parameter für den DXGKDDI_DPI2CIOTRANSMISSION Rückruf.

Syntax

typedef struct _DXGKARG_DPI2CIOTRANSMISSION {
  struct {
    UINT Read : 1;
    UINT Write : 1;
    UINT EDDCMode : 1;
    UINT OffsetSizeInBytes : 3;
    UINT CanUseCachedData : 1;
    UINT Reserved : 25;
  };
  UINT   RootPortIndex;
  UINT   I2CAddress;
  union {
    struct {
      UINT WordOffset : 8;
      UINT SegmentPointer : 7;
      UINT Reserved1 : 17;
    };
    UINT Offset;
  };
  UINT   BufferSizeSupplied;
  UINT   BytesToWrite;
  UINT   BytesToRead;
  UINT   DPNativeError;
  UINT   BytesWritten;
  UINT   BytesRead;
  BYTE   Data[1];
} DXGKARG_DPI2CIOTRANSMISSION, *PDXGKARG_DPI2CIOTRANSMISSION;

Angehörige

Read

Wenn festgelegt, führen Sie einen DP I2C über AUX-Lesevorgang aus.

Write

Wenn festgelegt, führen Sie einen DP I2C über AUX-Schreibvorgang aus.

EDDCMode

Wenn festgelegt, ist das Gerät bei I2CAddress erweiterter Anzeigedatenkanal (E-DDC).

OffsetSizeInBytes

Offsetgröße von Offset-in Byte, bei denen Daten für Nicht-E-DDC-Geräte geschrieben werden sollen.

CanUseCachedData

Bei Festlegung kann der Treiber zwischengespeicherte Daten verwenden.

Reserved

Reserviert; nicht verwenden.

RootPortIndex

Indexwert des DP-fähigen Verbinders, auf dem der DP I2C über AUX-Lese- oder Schreibvorgang ausgeführt werden soll. Der Treiber hat die Gesamtanzahl der DP-fähigen Connectors auf der GPU in einem vorherigen Aufruf an DXGKDDI_QUERYDPCAPSzurückgegeben. Nachfolgende Aufrufe von DXGKDDI_DPI2CIOTRANSMISSION verweisen auf die DP-Connectors mit RootPortIndex- von 0 bis NumRootPorts - 1.

I2CAddress

I2C-Adresse. Wird für EDID oder 0xA4 für DisplayID auf 0xA0 festgelegt.

WordOffset

Word-Offset in Byte.

SegmentPointer

Wenn EDDCMode- festgelegt ist, sollte der Treiber SegmentPointer- 0x60 in die I2C-Adresse schreiben. SegmentPointer- identifiziert den 256-Byte-Datenblock, auf den für E-DDC-Geräte zugegriffen wird.

Reserved1

Reserviert; nicht verwenden.

Offset

Adresse für E/A innerhalb des Geräts.

BufferSizeSupplied

Größe des Daten- Puffers in Byte. BufferSizeSupplied- sollte größer oder gleich dem BytesToWrite- und BytesToWrite-sein.

BytesToWrite

Anzahl der Bytes, die für einen Schreibvorgang geschrieben werden sollen.

BytesToRead

Anzahl der Bytes, die für einen Lesevorgang gelesen werden sollen.

DPNativeError

Feld, in dem der Treiber weitere Details zum Fehler codieren kann, wenn STATUS_DEVICE_PROTOCOL_ERROR von DXGKDDI_DPI2CIOTRANSMISSIONzurückgegeben wird.

BytesWritten

Anzahl geschriebener Bytes. Der Treiber sollte diesen Wert im Falle eines Fehlers so genau wie möglich zurückgeben.

BytesRead

Anzahl der gelesenen Bytes. Der Treiber sollte diesen Wert im Falle eines Fehlers so genau wie möglich zurückgeben.

Data[1]

Puffer, der die daten enthält, die für einen Schreibvorgang geschrieben werden sollen, und/oder in dem die Daten für einen Lesevorgang empfangen werden sollen.

Bemerkungen

Wenn EDDCMode- festgelegt ist, sollte der Treiber WordOffset- in OffsetSizeInBytes-schreiben.

Wenn EDDCMode- festgelegt ist, gibt es E-DDC-Geräte I2CAddress (0xA0 für EDID, 0xA4 für DisplayID). In diesem Fall sollte der Treiber SegmentPointer- in die I2C-Adresse 0x60 schreiben, wordOffset in I2CAddress-schreiben und dann den E/A-Vorgang ausführen. Für alle anderen I2C-Geräte sollte der Treiber Bytes von Offset- gemäß OffsetSizeInBytes-schreiben.

Im Falle eines Fehlers sollte der Treiber BytesWritten- zurückgeben und BytesRead- so genau wie möglich zurückgeben.

Für Windows 10, Version 2004, ist ein Schreibvorgang nur für die MCCS I2C-Adresse von 0x6E zulässig. Alle anderen Vorgänge werden blockiert, bis eine spätere Betriebssystemfreigabe beim Hinzufügen der Zugriffssteuerung erfolgt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 2004
Header- dispmprt.h

Siehe auch

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS