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 bei Erfolg STATUS_SUCCESS zurück. Andernfalls wird ein Fehlercode zurückgegeben, z. B. einer der folgenden:
Fehlercode | Bedeutung |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | Interner Softwarefehler. |
STATUS_ACCESS_DENIED | Die Anforderung wird nicht unterstützt. Für Windows 10 Version 2004 wird nur das Lesen von I2C über AUX 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 | Ein Fehler ist auf der Protokollebene I2C über AUX aufgetreten. Der Treiber kann DPNativeError verwenden, um weitere Details zum Fehler zu codieren. |
Hinweise
Dieser DDI-Aufruf wird verwendet, um DP I2C über AUX-Lese-/Schreibzugriff auf Geräten auszuführen, die direkt an die GPU angeschlossen sind.
Für I2C beträgt die maximale Größe des Datenpuffers in der DXGKARG_DPI2CIOTRANSMISSION Struktur, auf die von pArgs verwiesen wird, 128 Bytes. Das Kombinieren eines Schreibvorgangs vor einem Lesevorgang in einer einzelnen Bustransaktion/einem einzelnen Buszyklus wird für MCCS und andere Protokolle unterstützt. Der Datenpuffer hat die Größe BufferSizeSupplied, die größer oder gleich dem größeren Wert von BytesToWrite und BytesToRead sein sollte.
Offset ist die Adresse für E/A innerhalb des Geräts. Wenn EDDCMode festgelegt ist, gibt es E-DDC-Geräte unter I2CAddress (0xA0 für EDID, 0xA4 für DisplayID). Der Treiber sollte SegmentPointer in die I2C-Adresse schreiben 0x60, 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 und BytesRead so genau wie möglich zurückgeben.
Für Windows 10 Version 2004 ist der Schreibvorgang nur für MCCS I2C-Adressen von 0x6E zulässig. Alle anderen Vorgänge werden bis zu einer späteren Betriebssystemfreigabe blockiert, wenn die Zugriffssteuerung hinzugefügt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 2004 |
Kopfzeile | dispmprt.h |