функция обратного вызова 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 |