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

A função de retorno de chamada DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY transmite dados para um dispositivo I2C em um monitor.

Sintaxe

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY DxgkddiI2cTransmitDataToDisplay;

NTSTATUS DxgkddiI2cTransmitDataToDisplay(
  [in] PVOID MiniportDeviceContext,
  [in] D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in] ULONG SevenBitI2CAddress,
  [in] ULONG DataLength,
  [in] const VOID *Data
)
{...}

Parâmetros

[in] MiniportDeviceContext

Um identificador para um bloco de contexto associado a um adaptador de exibição. A função DxgkDdiAddDevice do driver de miniporta de vídeo forneceu anteriormente esse identificador para o subsistema de kernel de elementos gráficos do Microsoft DirectX.

[in] VidPnTargetId

Um inteiro que identifica um dos destinos de vídeo presentes no adaptador de exibição.

[in] SevenBitI2CAddress

O endereço do dispositivo I2C para o qual os dados serão transmitidos.

[in] DataLength

O comprimento, em bytes, dos dados a serem transmitidos. Esse parâmetro deve estar entre 1 e 64, inclusive.

[in] Data

Um ponteiro para um buffer que contém os dados a serem transmitidos.

Retornar valor

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY retornará STATUS_SUCCESS se for bem-sucedido. Caso contrário, ele retornará um dos códigos de erro definidos em Ntstatus.h. A lista a seguir fornece alguns dos códigos de erro possíveis que podem ser retornados.

Código de retorno Descrição
STATUS_GRAPHICS_MONITOR_NOT_CONNECTED Não há nenhum monitor conectado à saída de vídeo identificada por VidPnTargetId.
STATUS_GRAPHICS_I2C_NOT_SUPPORTED A saída de vídeo identificada por VidPnTargetId não tem um barramento I2C.
STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Nenhum dispositivo reconheceu o endereço I2C fornecido em SevenBitI2CAddress. Isso pode significar que nenhum dispositivo no barramento I2C tem o endereço especificado ou que ocorreu um erro quando o endereço foi transmitido.
STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA O endereço I2C foi transmitido com êxito, mas houve um erro ao transmitir dados para o dispositivo I2C.

Comentários

O destino presente do vídeo identificado por VidPnTargetId está associado a uma das saídas de vídeo no adaptador de exibição. Os dados são transmitidos para um dispositivo I2C no monitor que está conectado a essa saída de vídeo.

DxgkDdiI2CTransmitDataToDisplay é responsável por sinalizar a condição de início do I2C, enviar o endereço I2C, enviar os dados no buffer, verificar confirmações do receptor e sinalizar a condição de parada. Para obter detalhes sobre o ônibus I2C, consulte a Especificação do Barramento I2C, publicada pela Philips Semicondutores. A especificação define um protocolo para iniciar a comunicação I2C, ler e gravar bytes na linha de dados I2C e encerrar a comunicação I2C.

DxgkDdiI2CTransmitDataToDisplay é necessário para transmitir dados para um dispositivo I2C que tem endereço 0x6E mas tem permissão para se recusar a transmitir dados para qualquer dispositivo I2C que tenha um endereço diferente.

DxgkDdiI2CTransmitDataToDisplay tem permissão para bloquear se outra parte do driver de miniporta de exibição ou hardware gráfico estiver usando o barramento I2C do monitor especificado. Também é permitido bloquear se o driver de miniporto de exibição estiver usando o barramento I2C para enviar ou receber dados de HDCP (Proteção de Conteúdo Digital) de alta largura de banda.

Se o adaptador de vídeo der suporte a HDCP, a função DxgkDdiI2CTransmitDataToDisplay deverá se recusar a enviar dados para um dispositivo I2C se o dispositivo tiver um endereço I2C usado pelo HDCP.

DxgkDdiI2CTransmitDataToDisplay nunca deve transmitir dados para um dispositivo I2C no adaptador de exibição. Ou seja, essa função pode transmitir dados para um dispositivo I2C em um monitor conectado ao adaptador de vídeo, mas não a um dispositivo I2C que está no próprio adaptador de vídeo.

DxgkDdiI2CTransmitDataToDisplay deve ser tornado paginável.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Plataforma de Destino Área de Trabalho
Cabeçalho dispmprt.h (inclua Dispmprt.h)
IRQL PASSIVE_LEVEL

Confira também

DxgkDdiAddDevice

DxgkDdiI2CReceiveDataFromDisplay