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 |