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 I2C 上的 AUX 通訊協定層級發生錯誤。 驅動程式可以使用 DPNativeError 來編碼錯誤的詳細數據。

備註

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

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

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

如果失敗,驅動程式應該儘可能正確傳回 BytesWrittenBytesRead

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

規格需求

需求
最低支援的用戶端 Windows 10 (版本 2004)
標頭 dispmprt.h

另請參閱

DXGKARG_DPI2CIOTRANSMISSION