DXGKARG_DPI2CIOTRANSMISSION estrutura (dispmprt.h)
A estrutura DXGKARG_DPI2CIOTRANSMISSION é um parâmetro para o retorno de chamada DXGKDDI_DPI2CIOTRANSMISSION.
Sintaxe
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;
Membros
Read
Se definido, execute um DP I2C na operação de leitura do AUX.
Write
Se definido, execute um DP I2C na operação de gravação do AUX.
EDDCMode
Se definido, o dispositivo em I2CAddress será E-DDC (Canal de Dados de Exibição Avançado).
OffsetSizeInBytes
Tamanho de deslocamento de de deslocamento, em bytes, nos quais gravar dados para dispositivos não E-DDC.
CanUseCachedData
Se definido, o driver poderá usar dados armazenados em cache.
Reserved
Reservado; não use.
RootPortIndex
Valor de índice do conector compatível com DP no qual executar o DP I2C por meio da operação de leitura ou gravação do AUX. O driver retornou o número total de conectores compatíveis com DP na GPU em uma chamada anterior para DXGKDDI_QUERYDPCAPS. As chamadas subsequentes para DXGKDDI_DPI2CIOTRANSMISSION referem-se aos conectores DP com RootPortIndex que variam de 0 a NumRootPorts – 1.
I2CAddress
Endereço I2C. Defina como 0xA0 para EDID ou 0xA4 para DisplayID.
WordOffset
Deslocamento de palavra, em bytes.
SegmentPointer
Quando EDDCMode for definido, o driver deverá gravar SegmentPointer no endereço I2C 0x60. SegmentPointer identifica o bloco de dados de 256 bytes que está sendo acessado para dispositivos E-DDC.
Reserved1
Reservado; não use.
Offset
Endereço para E/S dentro do dispositivo.
BufferSizeSupplied
Tamanho do buffer de Dados do, em bytes. BufferSizeSupplied deve ser maior ou igual ao maior de BytesToWrite e BytesToWrite.
BytesToWrite
Número de bytes a serem gravados para uma operação de gravação.
BytesToRead
Número de bytes a serem lidos para uma operação de leitura.
DPNativeError
Campo no qual o driver pode codificar mais detalhes sobre o erro ao retornar STATUS_DEVICE_PROTOCOL_ERROR de DXGKDDI_DPI2CIOTRANSMISSION.
BytesWritten
Número de bytes gravados. O driver deve retornar esse valor da forma mais precisa possível no caso de falha.
BytesRead
Número de bytes lidos. O driver deve retornar esse valor da forma mais precisa possível no caso de falha.
Data[1]
Buffer que contém os dados a serem gravados para uma operação de gravação e/ou no qual receber os dados de uma operação de leitura.
Observações
Quando EDDCMode for definido, o driver deverá gravar do WordOffset para OffsetSizeInBytes.
Quando EDDCMode é definido, há dispositivos E-DDC em I2CAddress (0xA0 para EDID, 0xA4 para DisplayID). Nessa situação, o driver deve gravar segmentPointer no endereço I2C 0x60, do WordOffset para I2CAddress e, em seguida, realizar a operação de E/S. Para todos os outros dispositivos I2C, o driver deve gravar bytes de offset de acordo com OffsetSizeInBytes.
Em caso de falha, o driver deve retornar bytesWritten e BytesRead da forma mais precisa possível.
Para o Windows 10 versão 2004, uma operação de gravação só é permitida para o endereço MCCS I2C de 0x6E. Todas as outras operações serão bloqueadas até uma versão posterior do sistema operacional quando o controle de acesso for adicionado.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10, versão 2004 |
cabeçalho | dispmprt.h |