Bagikan melalui


DXGKDDI_I2C_RECEIVE_DATA_FROM_DISPLAY fungsi panggilan balik (dispmprt.h)

DxgkDdiI2CReceiveDataFromDisplay mengembalikan data yang diterima dari perangkat I2C dalam monitor.

Sintaks

DXGKDDI_I2C_RECEIVE_DATA_FROM_DISPLAY DxgkddiI2cReceiveDataFromDisplay;

NTSTATUS DxgkddiI2cReceiveDataFromDisplay(
  [in]  PVOID MiniportDeviceContext,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in]  ULONG SevenBitI2CAddress,
  [in]  ULONG Flags,
  [in]  ULONG DataLength,
  [out] PVOID Data
)
{...}

Parameter

[in] MiniportDeviceContext

Handel ke blok konteks yang terkait dengan adaptor tampilan. Fungsi DxgkDdiAddDevice driver miniport tampilan sebelumnya menyediakan handel ini ke subsistem kernel grafis Microsoft DirectX.

[in] VidPnTargetId

Bilangan bulat yang mengidentifikasi salah satu video yang menyajikan target pada adaptor tampilan.

[in] SevenBitI2CAddress

Alamat perangkat I2C tempat data akan diterima.

[in] Flags

Nilai yang menentukan apakah panjang data disediakan sebagai bagian dari data yang dikirimkan oleh perangkat I2C. Parameter ini harus diatur ke salah satu nilai berikut.

Nilai Makna
I2C_NO_FLAGS Panjang data disediakan oleh parameter DataLength. Perangkat I2C tidak menyediakan panjang data sebagai bagian dari data yang dikirimkannya.
I2C_DEVICE_TRANSMITS_DATA_LENGTH Panjang data disediakan oleh perangkat I2C sebagai bagian dari data yang dikirimkannya. Perangkat I2C mengirimkan setidaknya dua byte. Tujuh bit yang paling tidak signifikan dari byte kedua yang ditransmisikan berisi panjang perantara. Anda dapat menghitung jumlah byte yang akan ditransmisikan setelah byte yang berisi panjang perantara dengan menambahkannya ke panjang perantara.

[in] DataLength

Panjangnya, dalam byte, dari buffer yang diacu oleh Data.

[out] Data

Penunjuk ke buffer yang menerima data. Buffer dapat berada dalam memori halaman.

Menampilkan nilai

DxgkDdiI2CReceiveDataFromDisplaymengembalikan STATUS_SUCCESS jika berhasil. Jika tidak, ia mengembalikan salah satu kode kesalahan yang ditentukan dalam Ntstatus.h. Daftar berikut ini memberikan beberapa kemungkinan kode kesalahan yang dapat dikembalikan.

Menampilkan kode Deskripsi
STATUS_GRAPHICS_MONITOR_NOT_CONNECTED Tidak ada monitor yang terhubung ke output video yang diidentifikasi oleh VidPnTargetId.
STATUS_GRAPHICS_I2C_NOT_SUPPORTED Output video yang diidentifikasi oleh VidPnTargetId tidak memiliki bus I2C.
STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Tidak ada perangkat yang mengakui alamat I2C yang disediakan di SevenBitI2CAddress. Ini bisa berarti bahwa tidak ada perangkat di bus I2C yang memiliki alamat yang ditentukan atau bahwa kesalahan terjadi ketika alamat dikirimkan.
STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA Alamat I2C berhasil ditransmisikan, tetapi ada kesalahan saat menerima data dari perangkat I2C.
STATUS_BUFFER_TOO_SMALL Nilai yang disediakan dalam DataLength kurang dari ukuran buffer data yang diperlukan. Nilai pengembalian ini bermakna hanya jika bendera I2C_DEVICE_TRANSMITS_DATA_LENGTH diatur.

Keterangan

Target sajian video yang diidentifikasi oleh VidPnTargetId dikaitkan dengan salah satu output video pada adaptor tampilan. Data diterima dari perangkat I2C di monitor yang terhubung ke output video tersebut.

Fungsi DxgkDdiI2CReceiveDataFromDisplay bertanggung jawab untuk memberi sinyal kondisi mulai I2C, mengirim alamat I2C, menerima data dari perangkat I2C, mengirim pengakuan, dan menandakan kondisi berhenti. Untuk detail tentang bus I2C, lihat Spesifikasi Bus I2C, yang diterbitkan oleh Philips Semiconductors. Spesifikasi mendefinisikan protokol untuk memulai komunikasi I2C, membaca dan menulis byte melalui baris data I2C, dan mengakhiri komunikasi I2C. (Sumber daya ini mungkin tidak tersedia dalam beberapa bahasa

dan negara.)

DxgkDdiI2CReceiveDataFromDisplaydiperlukan untuk menerima data dari perangkat I2C yang memiliki alamat 0x6F tetapi diizinkan untuk menolak menerima data dari perangkat I2C apa pun yang memiliki alamat berbeda.

DxgkDdiI2CReceiveDataFromDisplay diizinkan untuk memblokir jika bagian lain dari driver miniport tampilan atau perangkat keras grafis menggunakan bus I2C monitor yang ditentukan. Hal ini juga diizinkan untuk memblokir jika driver miniport tampilan menggunakan bus I2C untuk mengirim atau menerima data Perlindungan Konten Digital (HDCP) bandwidth tinggi.

Jika adaptor tampilan mendukung HDCP, DxgkDdiI2CReceiveDataFromDisplay harus menolak menerima data dari perangkat I2C jika perangkat memiliki alamat I2C yang digunakan oleh HDCP.

DxgkDdiI2CReceiveDataFromDisplay tidak boleh menerima data dari perangkat I2C pada adaptor tampilan. Artinya, fungsi ini dapat menerima data dari perangkat I2C dalam monitor yang terhubung ke adaptor tampilan, tetapi tidak dari perangkat I2C yang ada di adaptor tampilan itu sendiri.

DxgkDdiI2CReceiveDataFromDisplay harus dibuat dapat dipaginasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Target Platform Desktop
Header dispmprt.h (termasuk Dispmprt.h)
IRQL PASSIVE_LEVEL

Lihat juga

DxgkDdiI2CTransmitDataToDisplay