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 |