Compartilhar via


DXGKDDI_DPI2CIOTRANSMISSION função de retorno de chamada (dispmprt.h)

O retorno de chamada DXGKDDI_DPI2CIOTRANSMISSION executa O I2C de DP em operações de leitura/gravação da AUX em dispositivos conectados diretamente à GPU.

Sintaxe

DXGKDDI_DPI2CIOTRANSMISSION DxgkddiDpi2ciotransmission;

NTSTATUS DxgkddiDpi2ciotransmission(
  HANDLE Context,
  PDXGKARG_DPI2CIOTRANSMISSION pArgs
)
{...}

Parâmetros

Context

Ponteiro de contexto fornecido ao consultar a interface.

pArgs

Ponteiro para uma estrutura DXGKARG_DPI2CIOTRANSMISSION .

Retornar valor

DXGKDDI_DPI2CIOTRANSMISSION retornará STATUS_SUCCESS se tiver êxito; caso contrário, ele retornará um código de erro, como um dos seguintes:

Código do Erro Significado
STATUS_DRIVER_INTERNAL_ERROR Ocorreu um erro interno de software.
STATUS_ACCESS_DENIED A solicitação não terá suporte. Para Windows 10 versão 2004, há suporte apenas para leitura de I2C por AUX.
STATUS_BUFFER_TOO_SMALL O buffer é muito pequeno para a operação.
STATUS_DEVICE_HARDWARE_ERROR Ocorreu um erro de hardware.
STATUS_DEVICE_POWERED_OFF O dispositivo está desligado.
STATUS_DEVICE_NOT_CONNECTED O dispositivo não está conectado.
STATUS_DEVICE_PROTOCOL_ERROR Ocorreu um erro no nível do protocolo I2C sobre a AUX. O driver pode usar DPNativeError para codificar mais detalhes sobre o erro.

Comentários

Essa chamada DDI é usada para executar o DP I2C por leitura/gravação da AUX em dispositivos conectados diretamente à GPU.

Para I2C, o tamanho máximo do buffer de dados na estrutura DXGKARG_DPI2CIOTRANSMISSION apontada por pArgs é de 128 bytes. Há suporte para a combinação de uma operação de gravação antes de uma operação de leitura em uma única transação/ciclo de barramento para MCCS e outros protocolos. O buffer de dados é de tamanho BufferSizeSupplied, que deve ser maior ou igual ao valor maior de BytesToWrite e BytesToRead.

Offset é o endereço de E/S dentro do dispositivo. Quando EDDCMode é definido, há dispositivos E-DDC em I2CAddress (0xA0 para EDID, 0xA4 para DisplayID). O driver deve gravar SegmentPointer no endereço I2C 0x60, WordOffset em 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, a 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
Cliente mínimo com suporte Windows 10, versão 2004
Cabeçalho dispmprt.h

Confira também

DXGKARG_DPI2CIOTRANSMISSION