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 SevenBitI2CAddress에 제공된 I2C 주소를 승인한 디바이스가 없습니다. 이는 I2C 버스의 디바이스에 지정된 주소가 없거나 주소가 전송될 때 오류가 발생했음을 의미할 수 있습니다.
STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA I2C 주소가 성공적으로 전송되었지만 I2C 디바이스로 데이터를 전송하는 동안 오류가 발생했습니다.

설명

VidPnTargetId로 식별된 비디오 현재 대상은 디스플레이 어댑터의 비디오 출력 중 하나와 연결됩니다. 데이터는 해당 비디오 출력에 연결된 모니터의 I2C 디바이스로 전송됩니다.

DxgkDdiI2CTransmitDataToDisplay 는 I2C 시작 조건 신호를 보내고, I2C 주소를 보내고, 버퍼에 데이터를 보내고, 수신기에서 승인을 확인하고, 중지 조건을 신호하는 역할을 합니다. I2C 버스에 대한 자세한 내용은 필립스 반도체에서 게시한 I2C 버스 사양을 참조하세요. 이 사양은 I2C 통신을 시작하고, I2C 데이터 라인을 통해 바이트를 읽고 쓰고, I2C 통신을 종료하기 위한 프로토콜을 정의합니다.

DxgkDdiI2CTransmitDataToDisplay 는 주소 0x6E 있지만 주소가 다른 I2C 디바이스로 데이터 전송을 거부할 수 있는 I2C 디바이스로 데이터를 전송하는 데 필요합니다.

디스플레이 미니포트 드라이버 또는 그래픽 하드웨어의 다른 부분이 지정된 모니터의 I2C 버스를 사용하는 경우 DxgkDdiI2CTransmitDataToDisplay는 차단할 수 있습니다. 디스플레이 미니포트 드라이버가 I2C 버스를 사용하여 HDCP(고대역폭 디지털 콘텐츠 보호) 데이터를 보내거나 받는 경우에도 차단할 수 있습니다.

디스플레이 어댑터가 HDCP를 지원하는 경우 DxgkDdiI2CTransmitDataToDisplay 함수는 디바이스에 HDCP에서 사용되는 I2C 주소가 있는 경우 I2C 디바이스로의 데이터 전송을 거부해야 합니다.

DxgkDdiI2CTransmitDataToDisplay 는 디스플레이 어댑터의 I2C 디바이스로 데이터를 전송해서는 안 됩니다. 즉, 이 함수는 디스플레이 어댑터에 연결된 모니터의 I2C 디바이스로 데이터를 전송할 수 있지만 디스플레이 어댑터 자체에 있는 I2C 디바이스에는 전송할 수 없습니다.

DxgkDdiI2CTransmitDataToDisplay 를 페이징 가능으로 만들어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 dispmprt.h(Dispmprt.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

DxgkDdiAddDevice

DxgkDdiI2CReceiveDataFromDisplay