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中定義的其中一個錯誤碼。 下列清單提供一些可傳回的可能錯誤碼。

傳回碼 說明
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 和更新版本的 Windows 作業系統中使用。
目標平臺 桌面
標頭 dispmprt.h (包含 Dispmprt.h)
IRQL PASSIVE_LEVEL

另請參閱

DxgkDdiI2CTransmitDataToDisplay