共用方式為


DXGKDDI_DPI2CIOTRANSMISSION回呼函式 (dispmprt.h)

DXGKDDI_DPI2CIOTRANSMISSION 回呼會在直接連結於 GPU 上的裝置上,透過 AUX 讀取/寫入作業執行 DP I2C。

語法

DXGKDDI_DPI2CIOTRANSMISSION DxgkddiDpi2ciotransmission;

NTSTATUS DxgkddiDpi2ciotransmission(
  HANDLE Context,
  PDXGKARG_DPI2CIOTRANSMISSION pArgs
)
{...}

參數

Context

查詢介面時提供的內容指標。

pArgs

DXGKARG_DPI2CIOTRANSMISSION 結構的指標。

傳回值

如果成功,DXGKDDI_DPI2CIOTRANSMISSION 會傳回STATUS_SUCCESS;否則會傳回錯誤碼,例如下列其中一項:

錯誤碼 意義
STATUS_DRIVER_INTERNAL_ERROR 發生內部軟體錯誤。
STATUS_ACCESS_DENIED 不支援要求。 針對 Windows 10 版本 2004,僅支援透過 AUX 讀取的 I2C。
STATUS_BUFFER_TOO_SMALL 緩衝區對於作業而言太小。
STATUS_DEVICE_HARDWARE_ERROR 發生硬體錯誤。
STATUS_DEVICE_POWERED_OFF 裝置已關閉電源。
STATUS_DEVICE_NOT_CONNECTED 裝置未連線。
STATUS_DEVICE_PROTOCOL_ERROR 透過 AUX 通訊協定層級的 I2C 發生錯誤。 驅動程式可以使用 DPNativeError 來編碼錯誤的詳細數據。

言論

此 DDI 呼叫可用來在直接連結於 GPU 上的裝置上,透過 AUX 讀取/寫入執行 DP I2C。

針對 I2C,DXGKARG_DPI2CIOTRANSMISSION 結構中 數據 緩衝區的大小上限為 pArgs 為 128 個字節。 MCCS 和其他通訊協定支援在單一總線交易/週期中的讀取作業之前合併寫入作業。 Data 緩衝區的大小 BufferSizeSupplied,其應大於或等於 BytesToWriteBytesToRead的較大值。

位移 是裝置內IO的位址。 EDDCMode 設定時,I2CAddress 有 E-DDC 裝置(0xA0 EDID、displayID 0xA4)。 驅動程式應該將 SegmentPointer 寫入 I2C 位址0x60,WordOffsetI2CAddress,然後執行 IO 作業。 針對所有其他 I2C 裝置,驅動程式應該根據 offsetSizeInBytes ,寫入 Offset 的位元組。

如果發生失敗,驅動程式應該傳回 BytesWritten,並盡可能準確地傳回 BytesRead

針對 Windows 10 版本 2004,寫入作業只允許0X6E的 MCCS I2C 位址。 所有其他作業都會遭到封鎖,直到新增訪問控制之後的OS版本為止。

要求

要求 價值
最低支援的用戶端 Windows 10 版本 2004
標頭 dispmprt.h

另請參閱

DXGKARG_DPI2CIOTRANSMISSION