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
支持 DP 的连接器的索引值,用于通过 AUX 读取或写入操作执行 DP I2C。 驱动程序在之前调用 DXGKDDI_QUERYDPCAPS 时返回 GPU 上支持 DP 的连接器总数。 对 DXGKDDI_DPI2CIOTRANSMISSION 的后续调用引用 RootPortIndex 范围为 0 到 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 应大于或等于 BytesToWrite 和 BytesToWrite 的较大值。
BytesToWrite
要为写入操作写入的字节数。
BytesToRead
读取操作要读取的字节数。
DPNativeError
从DXGKDDI_DPI2CIOTRANSMISSION返回STATUS_DEVICE_PROTOCOL_ERROR时,驱动程序可以在 其中编码有关错误的更多详细信息的字段。
BytesWritten
写入的字节数。 在发生故障时,驱动程序应尽可能准确地返回此值。
BytesRead
读取的字节数。 在发生故障时,驱动程序应尽可能准确地返回此值。
Data[1]
缓冲区包含要为写入操作写入的数据,以及/或要在其中接收读取操作的数据。
注解
设置 EDDCMode 后,驱动程序应将 WordOffset 写入 OffsetSizeInBytes。
设置 EDDCMode 后, I2CAddress (0xA0 EDID 有 E-DDC 设备,0xA4 displayID) 。 在这种情况下,驱动程序应将 SegmentPointer 写入 I2C 地址0x60, 将 WordOffset 写入 I2CAddress,然后执行 IO 操作。 对于所有其他 I2C 设备,驱动程序应根据 OffsetSizeInBytes 写入 Offset 的字节。
如果发生故障,驱动程序应尽可能准确地返回 BytesWritten 和 BytesRead 。
对于 Windows 10 版本 2004,仅允许0x6E的 MCCS I2C 地址执行写入操作。 所有其他操作将被阻止,直到以后的 OS 版本添加访问控制。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 2004 |
标头 | dispmprt.h |