estrutura DXGKARG_DPI2CIOTRANSMISSION (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 por meio da operação de leitura do AUX.
Write
Se definido, execute um DP I2C por meio da 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 do Deslocamento, em bytes, no qual 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. Chamadas subsequentes para DXGKDDI_DPI2CIOTRANSMISSION referem-se aos conectores DP com RootPortIndex variando de 0 a NumRootPorts – 1.
I2CAddress
Endereço I2C. Defina como 0xA0 para EDID ou 0xA4 para DisplayID.
WordOffset
Word deslocamento, em bytes.
SegmentPointer
Quando EDDCMode estiver 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 no dispositivo.
BufferSizeSupplied
Tamanho do buffer de dados , 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.
Comentários
Quando EDDCMode estiver definido, o driver deverá gravar WordOffset em 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, WordOffset para I2CAddress e, em seguida, executar 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 Windows 10 versão 2004, uma operação de gravação só é permitida para o endereço I2C do MCCS 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 |
---|---|
Cliente mínimo com suporte | Windows 10, versão 2004 |
Cabeçalho | dispmprt.h |