DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY コールバック関数 (dispmprt.h)

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAYコールバック関数は、モニター内の I2C デバイスにデータを送信します。

構文

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY DxgkddiI2cTransmitDataToDisplay;

NTSTATUS DxgkddiI2cTransmitDataToDisplay(
  [in] PVOID MiniportDeviceContext,
  [in] D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in] ULONG SevenBitI2CAddress,
  [in] ULONG DataLength,
  [in] const VOID *Data
)
{...}

パラメーター

[in] MiniportDeviceContext

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前は Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[in] VidPnTargetId

ディスプレイ アダプター上のビデオの存在ターゲットの 1 つを識別する整数。

[in] SevenBitI2CAddress

データの転送先となる I2C デバイスのアドレス。

[in] DataLength

送信するデータの長さ (バイト単位)。 このパラメーターは、1 ~ 64 の範囲で指定する必要があります。

[in] Data

送信されるデータを保持するバッファーへのポインター。

戻り値

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAYは 、成功した場合は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_TRANSMITTING_DATA I2C アドレスは正常に送信されましたが、I2C デバイスにデータを送信中にエラーが発生しました。

注釈

VidPnTargetId によって識別されるビデオの現在のターゲットは、ディスプレイ アダプターのビデオ出力のいずれかに関連付けられています。 データは、そのビデオ出力に接続されているモニター内の I2C デバイスに送信されます。

DxgkDdiI2CTransmitDataToDisplay は、I2C 開始条件の通知、I2C アドレスの送信、バッファー内のデータの送信、受信側からの受信確認の確認、停止条件の通知を行います。 I2C バスの詳細については、Philips Semiconductors によって公開されている I2C バス仕様に関するページを参照してください。 この仕様では、I2C 通信の開始、I2C データ行でのバイトの読み取りと書き込み、および I2C 通信の終了を行うプロトコルが定義されています。

DxgkDdiI2CTransmitDataToDisplay は、アドレスが0x6Eを持つ I2C デバイスにデータを送信するために必要ですが、別のアドレスを持つ I2C デバイスへのデータの送信を拒否することが許可されています。

DxgkDdiI2CTransmitDataToDisplay は、ディスプレイ ミニポート ドライバーまたはグラフィックス ハードウェアの別の部分が指定されたモニターの I2C バスを使用している場合にブロックできます。 また、ディスプレイ ミニポート ドライバーが I2C バスを使用して高帯域幅デジタル コンテンツ保護 (HDCP) データを送受信している場合は、ブロックすることもできます。

ディスプレイ アダプターが HDCP をサポートしている場合、デバイスに HDCP で使用される I2C アドレスがある場合、 DxgkDdiI2CTransmitDataToDisplay 関数は I2C デバイスへのデータ送信を拒否する必要があります。

DxgkDdiI2CTransmitDataToDisplay は、ディスプレイ アダプター上の I2C デバイスにデータを送信しないでください。 つまり、この関数は、ディスプレイ アダプターに接続されているモニター内の I2C デバイスにデータを送信できますが、ディスプレイ アダプター自体にある I2C デバイスには送信できません。

DxgkDdiI2CTransmitDataToDisplay をページング可能にする必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista
対象プラットフォーム デスクトップ
Header dispmprt.h (Dispmprt.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

DxgkDdiAddDevice

DxgkDdiI2CReceiveDataFromDisplay