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 |