DXGKDDI_I2C_RECEIVE_DATA_FROM_DISPLAY回呼函式 (dispmprt.h)
DxgkDdiI2CReceiveDataFromDisplay 會傳回從監視器中的 I2C 裝置接收的數據。
語法
DXGKDDI_I2C_RECEIVE_DATA_FROM_DISPLAY DxgkddiI2cReceiveDataFromDisplay;
NTSTATUS DxgkddiI2cReceiveDataFromDisplay(
[in] PVOID MiniportDeviceContext,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[in] ULONG SevenBitI2CAddress,
[in] ULONG Flags,
[in] ULONG DataLength,
[out] PVOID Data
)
{...}
參數
[in] MiniportDeviceContext
與顯示配接器相關聯的內容區塊句柄。 顯示迷你埠驅動程式的 DxgkDdiAddDevice 函式先前已將此句柄提供給 Microsoft DirectX 圖形核心子系統。
[in] VidPnTargetId
整數,識別顯示配接器上的其中一個視訊呈現目標。
[in] SevenBitI2CAddress
將接收數據的 I2C 裝置位址。
[in] Flags
值,指定數據長度是否提供為I2C裝置所傳輸數據的一部分。 此參數必須設定為下列其中一個值。
值 | 意義 |
---|---|
I2C_NO_FLAGS | 數據長度是由 DataLength 參數提供。 I2C 裝置不會在傳輸的數據中提供數據長度。 |
I2C_DEVICE_TRANSMITS_DATA_LENGTH | I2C 裝置會提供數據長度,作為其傳輸數據的一部分。 I2C 裝置至少會傳輸兩個字節。 傳輸之第二個字節的七個最小有效位包含中繼長度。 您可以藉由將位元組新增至中繼長度,來計算將在包含中繼長度的位元組之後傳輸的位元組數目。 |
[in] DataLength
Data 所指向之緩衝區的長度,以位元組為單位。
[out] Data
接收數據的緩衝區指標。 緩衝區可以位於分頁記憶體中。
傳回值
DxgkDdiI2CReceiveDataFromDisplay會在成功時傳回STATUS_SUCCESS。 否則,它會傳回 Ntstatus.h 中定義的其中一個錯誤碼。 下列清單提供一些可傳回的可能錯誤碼。
傳回碼 | Description |
---|---|
STATUS_GRAPHICS_MONITOR_NOT_CONNECTED | 沒有連線到 VidPnTargetId 所識別視訊輸出的監視器。 |
STATUS_GRAPHICS_I2C_NOT_SUPPORTED | VidPnTargetId 所識別的視訊輸出沒有 I2C 匯流線。 |
STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST | 沒有裝置認可 SevenBitI2CAddress 中提供的 I2C 位址。 這可能表示 I2C 總線上沒有任何裝置具有指定的位址,或傳送地址時發生錯誤。 |
STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA | I2C 位址已成功傳輸,但從I2C裝置接收數據時發生錯誤。 |
STATUS_BUFFER_TOO_SMALL | DataLength 中提供的值小於所需的數據緩衝區大小。 只有在設定I2C_DEVICE_TRANSMITS_DATA_LENGTH旗標時,此傳回值才有意義。 |
備註
VidPnTargetId 所識別的視訊簡訊簡報目標與顯示配接器上的其中一個視訊輸出相關聯。 數據會從連接到該視訊輸出的監視器中的I2C裝置接收。
DxgkDdiI2CReceiveDataFromDisplay 函式負責發出 I2C 啟動條件的訊號、傳送 I2C 位址、接收來自 I2C 裝置的數據、傳送通知,以及發出停止條件的訊號。 如需 I2C 總線的詳細數據,請參閱由 Philips 一起發佈的 I2C 總線規格。 此規格會定義通訊協定,以起始 I2C 通訊、透過 I2C 資料行讀取和寫入位元組,以及終止 I2C 通訊。 (某些語言可能無法使用此資源
和國家/地區.)
需要 DxgkDdiI2CReceiveDataFromDisplay,才能從具有位址0x6F的 I2C 裝置接收數據,但允許拒絕從具有不同位址的任何 I2C 裝置接收數據。
如果顯示器迷你埠驅動程式或圖形硬體的另一個部分使用指定的監視器 I2C 總線,則允許 DxgkDdiI2CReceiveDataFromDisplay 封鎖。 如果顯示器迷你埠驅動程式使用 I2C 總線來傳送或接收高頻寬數位內容保護 (HDCP) 數據,也允許封鎖。
如果顯示器適配卡支援 HDCP,如果裝置有 HDCP 所使用的 I2C 位址, DxgkDdiI2CReceiveDataFromDisplay 必須拒絕接收來自 I2C 裝置的數據。
DxgkDdiI2CReceiveDataFromDisplay 絕對不能從顯示器適配卡上的 I2C 裝置接收數據。 也就是說,此函式可以從連接到顯示器適配卡之監視器中的I2C裝置接收數據,但無法從顯示器適配卡本身的I2C裝置接收數據。
DxgkDdiI2CReceiveDataFromDisplay 應設為可分頁。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | 桌面 |
標頭 | dispmprt.h (包含 Dispmprt.h) |
IRQL | PASSIVE_LEVEL |