Поделиться через


функция обратного вызова DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY (dispmprt.h)

Функция обратного вызова DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY передает данные на устройство I2C в мониторе.

Синтаксис

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
)
{...}

Параметры

[in] MiniportDeviceContext

Дескриптор для блока контекста, связанного с видеоадаптером. Функция DxgkDdiAddDevice драйвера мини-порта дисплея ранее предоставляла этот дескриптор подсистеме графического ядра Microsoft DirectX.

[in] VidPnTargetId

Целое число, идентифицирующее один из целевых объектов видео на видеоадаптере.

[in] SevenBitI2CAddress

Адрес устройства I2C, на которое будут передаваться данные.

[in] DataLength

Длина передаваемых данных (в байтах). Этот параметр должен быть от 1 до 64 включительно.

[in] Data

Указатель на буфер, содержащий передаваемые данные.

Возвращаемое значение

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY возвращает STATUS_SUCCESS в случае успешного выполнения. В противном случае возвращается один из кодов ошибок, определенных в ntstatus.h. В следующем списке приведены некоторые из возможных кодов ошибок, которые могут быть возвращены.

Код возврата Описание
STATUS_GRAPHICS_MONITOR_NOT_CONNECTED Монитор, подключенный к выводу видео, идентифицируемым с помощью VidPnTargetId, отсутствует.
STATUS_GRAPHICS_I2C_NOT_SUPPORTED Выходные данные видео, определяемые VidPnTargetId, не имеют шины I2C.
STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Ни на каких устройствах не подтвержден адрес I2C, указанный в SevenBitI2CAddress. Это может означать, что ни у устройства на шине I2C нет указанного адреса, либо что при передаче адреса произошла ошибка.
STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA Адрес I2C успешно передан, но произошла ошибка при передаче данных на устройство I2C.

Комментарии

Цель представления видео, определяемая VidPnTargetId , связана с одним из видеовыходов на видеоадаптеде. Данные передаются на устройство I2C на мониторе, подключенном к нему.

DxgkDdiI2CTransmitDataToDisplay отвечает за сигнал состояния запуска I2C, отправку адреса I2C, отправку данных в буфер, проверку подтверждения от приемника и сигнал об условии остановки. Дополнительные сведения об автобусе I2C см. в спецификации шины I2C, опубликованной Philips Semiconductors. Спецификация определяет протокол для инициации обмена данными по протоколу I2C, чтения и записи байтов через линию данных I2C, а также для прекращения обмена данными I2C.

DxgkDdiI2CTransmitDataToDisplay требуется для передачи данных на устройство I2C с адресом 0x6E но может отказаться от передачи данных на любое устройство I2C с другим адресом.

DxgkDdiI2CTransmitDataToDisplay может блокироваться, если другая часть драйвера мини-порта дисплея или графического оборудования использует шину I2C указанного монитора. Кроме того, разрешено блокировать, если драйвер мини-порта дисплея использует шину I2C для отправки или получения данных защиты от цифрового содержимого с высокой пропускной способностью (HDCP).

Если видеоадаптер поддерживает HDCP, функция DxgkDdiI2CTransmitDataToDisplay должна отказать в отправке данных на устройство I2C, если устройство имеет I2C-адрес, используемый HDCP.

DxgkDdiI2CTransmitDataToDisplay никогда не должен передавать данные на устройство I2C на адаптере дисплея. То есть эта функция может передавать данные на устройство I2C в мониторе, подключенном к видеоадаптеду, но не на устройство I2C, которое находится на самом адаптере дисплея.

DxgkDdiI2CTransmitDataToDisplay следует сделать страничной.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Персональный компьютер
Верхняя часть dispmprt.h (включая Dispmprt.h)
IRQL PASSIVE_LEVEL

См. также раздел

DxgkDdiAddDevice

DxgkDdiI2CReceiveDataFromDisplay