다음을 통해 공유


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 대한 후속 호출은 RootPortIndex0에서 NumRootPorts - 1에 이르는 DP 커넥터를 참조합니다.

I2CAddress

I2C 주소입니다. EDID의 경우 0xA0 또는 DisplayID의 0xA4 로 설정합니다.

WordOffset

Word 오프셋(바이트)입니다.

SegmentPointer

EDDCMode가 설정되면 드라이버는 I2C 주소 0x60 SegmentPointer를 작성해야 합니다. SegmentPointer 는 E-DDC 디바이스에 액세스하는 256바이트 데이터 블록을 식별합니다.

Reserved1

예약되어 있으므로 사용하지 마세요.

Offset

디바이스 내의 IO 주소입니다.

BufferSizeSupplied

데이터 버퍼의 크기(바이트)입니다. BufferSizeSupplied는BytesToWriteBytesToWrite보다 크거나 같아야 합니다.

BytesToWrite

쓰기 작업에 쓸 바이트 수입니다.

BytesToRead

읽기 작업을 위해 읽을 바이트 수입니다.

DPNativeError

드라이버가 DXGKDDI_DPI2CIOTRANSMISSION STATUS_DEVICE_PROTOCOL_ERROR 반환할 때 오류에 대한 자세한 내용을 인코딩할 수 있는 필드입니다.

BytesWritten

작성된 바이트 수입니다. 드라이버는 오류 발생 시 가능한 한 정확하게 이 값을 반환해야 합니다.

BytesRead

읽은 바이트 수입니다. 드라이버는 오류 발생 시 가능한 한 정확하게 이 값을 반환해야 합니다.

Data[1]

쓰기 작업 및/또는 읽기 작업을 위해 데이터를 받을 데이터를 포함하는 버퍼입니다.

설명

EDDCMode가 설정되면 드라이버는 OffsetSizeInBytesWordOffset을 작성해야 합니다.

EDDCMode가 설정되면 I2CAddress에 E-DDC 디바이스가 있습니다(EDID의 경우 0xA0, DisplayID의 경우 0xA4). 이 경우 드라이버는 I2C 주소 0x60 ,WordOffsetI2CAddress에 쓴 다음 IO 작업을 수행해야 합니다. 다른 모든 I2C 디바이스의 경우 드라이버는 OffsetSizeInBytes에 따라 오프셋 바이트를 작성해야 합니다.

오류가 발생할 경우 드라이버는 BytesWrittenBytesRead 를 가능한 한 정확하게 반환해야 합니다.

Windows 10 버전 2004의 경우 0x6E MCCS I2C 주소에 대해서만 쓰기 작업이 허용됩니다. 액세스 제어가 추가될 때 이후 OS 릴리스까지 다른 모든 작업이 차단됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 2004
머리글 dispmprt.h

추가 정보

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS