Compartilhar via


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

O retorno de chamada DXGKDDI_DPI2CIOTRANSMISSION executa o I2C de DP por meio de operações de leitura/gravação do 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 de DXGKARG_DPI2CIOTRANSMISSION.

Valor de retorno

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

Código de erro Significado
STATUS_DRIVER_INTERNAL_ERROR Ocorreu um erro de software interno.
STATUS_ACCESS_DENIED Não há suporte para a solicitação. Para o Windows 10 versão 2004, há suporte apenas para I2C por leitura do 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 no AUX. O driver pode usar DPNativeError para codificar mais detalhes sobre o erro.

Observações

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

Para I2C, o tamanho máximo do buffer Data 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 Data é de tamanho BufferSizeSupplied, que deve ser maior ou igual ao valor maior de BytesToWrite e BytesToRead.

Deslocamento é o endereço para E/S no 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, 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, 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
de cliente com suporte mínimo Windows 10, versão 2004
cabeçalho dispmprt.h

Consulte também

DXGKARG_DPI2CIOTRANSMISSION