DXGKDDI_DPI2CIOTRANSMISSION Rückruffunktion (dispmprt.h)
Der DXGKDDI_DPI2CIOTRANSMISSION Rückruf führt DP I2C über AUX-Lese-/Schreibvorgänge auf Geräten aus, die direkt an die GPU angeschlossen sind.
Syntax
DXGKDDI_DPI2CIOTRANSMISSION DxgkddiDpi2ciotransmission;
NTSTATUS DxgkddiDpi2ciotransmission(
HANDLE Context,
PDXGKARG_DPI2CIOTRANSMISSION pArgs
)
{...}
Parameter
Context
Kontextzeiger, der beim Abfragen der Schnittstelle bereitgestellt wird.
pArgs
Zeiger auf eine DXGKARG_DPI2CIOTRANSMISSION Struktur.
Rückgabewert
DXGKDDI_DPI2CIOTRANSMISSION gibt STATUS_SUCCESS zurück, wenn dies erfolgreich ist; andernfalls wird ein Fehlercode zurückgegeben, z. B. einer der folgenden:
Fehlercode | Bedeutung |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | Es ist ein interner Softwarefehler aufgetreten. |
STATUS_ACCESS_DENIED | Die Anforderung wird nicht unterstützt. Für Windows 10, Version 2004, wird nur I2C über AUX-Lesevorgang unterstützt. |
STATUS_BUFFER_TOO_SMALL | Der Puffer ist für den Vorgang zu klein. |
STATUS_DEVICE_HARDWARE_ERROR | Ein Hardwarefehler ist aufgetreten. |
STATUS_DEVICE_POWERED_OFF | Das Gerät ist ausgeschaltet. |
STATUS_DEVICE_NOT_CONNECTED | Das Gerät ist nicht verbunden. |
STATUS_DEVICE_PROTOCOL_ERROR | Fehler auf I2C-Ebene über AUX-Protokollebene. Der Treiber kann DPNativeError- verwenden, um weitere Details zum Fehler zu codieren. |
Bemerkungen
Dieser DDI-Aufruf wird verwendet, um DP I2C über AUX-Lese-/Schreibzugriff auf Geräten auszuführen, die direkt an GPU angeschlossen sind.
Bei I2C beträgt die maximale Größe Daten puffers in der DXGKARG_DPI2CIOTRANSMISSION Struktur, auf die pArgs verweist, 128 Byte. Das Kombinieren eines Schreibvorgangs vor einem Lesevorgang in einer einzelnen Bustransaktion/-zyklus wird für MCCS und andere Protokolle unterstützt. Der Daten- Puffer ist BufferSizeSupplied, der größer als oder gleich dem größeren Wert von BytesToWrite- und BytesToRead-sein soll.
Offset- ist die Adresse für E/A innerhalb des Geräts. Wenn EDDCMode- festgelegt ist, gibt es E-DDC-Geräte I2CAddress (0xA0 für EDID, 0xA4 für DisplayID). Der Treiber sollte SegmentPointer- in die I2C-Adresse 0x60 schreiben, WordOffset- in I2CAddress- 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 der 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 |