次の方法で共有


DXGKARG_DPI2CIOTRANSMISSION構造体 (dispmprt.h)

DXGKARG_DPI2CIOTRANSMISSION 構造体は、DXGKDDI_DPI2CIOTRANSMISSION コールバックのパラメーターです。

構文

typedef struct _DXGKARG_DPI2CIOTRANSMISSION {
  struct {
    UINT Read : 1;
    UINT Write : 1;
    UINT EDDCMode : 1;
    UINT OffsetSizeInBytes : 3;
    UINT CanUseCachedData : 1;
    UINT Reserved : 25;
  };
  UINT   RootPortIndex;
  UINT   I2CAddress;
  union {
    struct {
      UINT WordOffset : 8;
      UINT SegmentPointer : 7;
      UINT Reserved1 : 17;
    };
    UINT Offset;
  };
  UINT   BufferSizeSupplied;
  UINT   BytesToWrite;
  UINT   BytesToRead;
  UINT   DPNativeError;
  UINT   BytesWritten;
  UINT   BytesRead;
  BYTE   Data[1];
} DXGKARG_DPI2CIOTRANSMISSION, *PDXGKARG_DPI2CIOTRANSMISSION;

メンバーズ

Read

設定した場合は、AUX 読み取り操作で DP I2C を実行します。

Write

設定した場合は、AUX 書き込み操作で DP I2C を実行します。

EDDCMode

設定した場合、I2CAddress のデバイスは拡張ディスプレイ データ チャネル (E-DDC) になります。

OffsetSizeInBytes

オフセットからのオフセット サイズ (バイト単位)。E-DDC 以外のデバイスのデータを書き込みます。

CanUseCachedData

設定されている場合、ドライバーはキャッシュされたデータを使用できます。

Reserved

引っ込み思案;使用しないでください。

RootPortIndex

AUX 読み取りまたは書き込み操作で DP I2C を実行する DP 対応コネクタのインデックス値。 ドライバーは、DXGKDDI_QUERYDPCAPSの前の呼び出しで GPU 上の DP 対応コネクタの合計数を返しました。 DXGKDDI_DPI2CIOTRANSMISSION に対する後続の呼び出しは、0 から NumRootPorts - 1までの範囲の RootPortIndex を持つ DP コネクタを参照します。

I2CAddress

I2C アドレス。 EDID の場合は0xA0、DisplayID の場合は0xA4に設定します。

WordOffset

Word オフセット (バイト単位)。

SegmentPointer

EDDCMode 設定すると、ドライバーは、SegmentPointer を I2C アドレス 0x60に書き込む必要があります。 SegmentPointer は、E-DDC デバイスに対してアクセスされる 256 バイトのデータ ブロックを識別します。

Reserved1

引っ込み思案;使用しないでください。

Offset

デバイス内の IO のアドレス。

BufferSizeSupplied

データ バッファーのサイズ (バイト単位)。 BufferSizeSupplied は、BytesToWrite と BytesToWrite 以上である必要があります。

BytesToWrite

書き込み操作で書き込むバイト数。

BytesToRead

読み取り操作で読み取るバイト数。

DPNativeError

ドライバーが DXGKDDI_DPI2CIOTRANSMISSIONからSTATUS_DEVICE_PROTOCOL_ERRORを返すときにエラーの詳細をエンコードできるフィールド。

BytesWritten

書き込まれたバイト数。 ドライバーは、障害が発生した場合に可能な限り正確にこの値を返す必要があります。

BytesRead

読み取られたバイト数。 ドライバーは、障害が発生した場合に可能な限り正確にこの値を返す必要があります。

Data[1]

書き込み操作用に書き込むデータ、または読み取り操作のデータを受信するデータを格納するバッファー。

備考

EDDCMode 設定すると、ドライバーは、WordOffset を OffsetSizeInBytes 書き込む必要があります。

EDDCMode 設定すると、I2CAddress (EDID の場合は0xA0、DisplayID の場合は 0xA4) に E-DDC デバイスが存在します。 このような状況では、ドライバーは、SegmentPointer を I2C アドレス 0x60に書き込み、I2CAddressに WordOffset してから、IO 操作を実行する必要があります。 他のすべての I2C デバイスの場合、ドライバーは OffsetSizeInBytes に従って Offset のバイト書き込む必要があります。

エラーが発生した場合、ドライバーは BytesWritten 返し、BytesRead を可能な限り正確に する必要があります。

Windows 10 バージョン 2004 では、0x6Eの MCCS I2C アドレスに対してのみ書き込み操作が許可されます。 他のすべての操作は、アクセス制御が追加されたときに、後で OS がリリースされるまでブロックされます。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 バージョン 2004
ヘッダー dispmprt.h

関連項目

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS