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 |