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 |