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 対応コネクタのインデックス値。 ドライバーは、以前の呼び出しで GPU 上の DP 対応コネクタの合計数 を返DXGKDDI_QUERYDPCAPSDXGKDDI_DPI2CIOTRANSMISSIONへの後続の呼び出しは、RootPortIndex0 から NumRootPorts - 1 までの DP コネクタを参照します。

I2CAddress

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

WordOffset

オフセット (バイト単位) をWordします。

SegmentPointer

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

Reserved1

予約済みです。使わないでください。

Offset

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

BufferSizeSupplied

データ バッファーのサイズ (バイト単位)。 BufferSizeSupplied、BytesToWriteBytesToWrite の大きい値以上である必要があります。

BytesToWrite

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

BytesToRead

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

DPNativeError

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

BytesWritten

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

BytesRead

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

Data[1]

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

注釈

EDDCMode が設定されている場合、ドライバーは WordOffsetOffsetSizeInBytes に書き込む必要があります。

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

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

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

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 2004
Header dispmprt.h

こちらもご覧ください

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS