Partilhar via


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

Consulte também

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS