次の方法で共有


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
ターゲット プラットフォーム デスクトップ
ヘッダー dispmprt.h (Dispmprt.h を含む)
IRQL PASSIVE_LEVEL

関連項目

DxgkDdiAddDevice

DxgkDdiI2CReceiveDataFromDisplay