Compartilhar via


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

Confira também

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS