DXGKDDI_VIDPN_ASSIGNTARGETMODESET fungsi panggilan balik (d3dkmddi.h)
Fungsi pfnAssignTargetModeSet menetapkan mode target yang diatur ke target tertentu dalam VidPN tertentu.
Sintaks
DXGKDDI_VIDPN_ASSIGNTARGETMODESET DxgkddiVidpnAssigntargetmodeset;
NTSTATUS DxgkddiVidpnAssigntargetmodeset(
[in] IN_D3DKMDT_HVIDPN hVidPn,
[in] IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[in] IN_CONST_D3DKMDT_HVIDPNTARGETMODESET hVidPnTargetModeSet
)
{...}
Parameter
[in] hVidPn
Handel ke objek VidPN. Manajer VidPN sebelumnya memberikan handel ini ke driver miniport tampilan dengan memanggil DxgkDdiEnumVidPnCofuncModality atau DxgkDdiRecommendFunctionalVidPn.
[in] VidPnTargetId
Bilangan bulat yang mengidentifikasi salah satu video yang menyajikan target yang terkait dengan objek VidPN.
[in] hVidPnTargetModeSet
Handel ke objek set mode target yang akan ditetapkan ke target yang diidentifikasi oleh VidPnTargetId. Driver miniport tampilan sebelumnya memperoleh handel ini dengan memanggil pfnCreateNewTargetModeSet.
Menampilkan nilai
Fungsi pfnAssignTargetModeSet mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_SUCCESS | Fungsi berhasil. |
STATUS_GRAPHICS_INVALID_VIDPN | Handel yang disediakan dalam hVidPn tidak valid. |
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET | Pengidentifikasi yang disediakan dalam VidPnTargetId tidak valid. |
STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET | Handel yang disediakan dalam hVidPnTargetModeSet tidak valid. |
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET | Set mode target yang Anda coba tetapkan tidak berisi mode yang sudah disematkan pada target. |
Keterangan
Pengidentifikasi target VidPN ditetapkan oleh driver miniport tampilan. DxgkDdiQueryChildRelations, yang diimplementasikan oleh driver miniport tampilan, mengembalikan array struktur DXGK_CHILD_DESCRIPTOR , yang masing-masing berisi pengidentifikasi.
Jika Anda mendapatkan handel dengan memanggil pfnCreateNewTargetModeSet lalu meneruskan handel tersebut ke pfnAssignTargetModeSet, Anda tidak perlu melepaskan handel dengan memanggil pfnReleaseTargetModeSet.
Jika Anda mendapatkan handel dengan memanggil pfnCreateNewTargetModeSet dan kemudian Anda memutuskan untuk tidak menetapkan mode target baru yang diatur ke target, Anda harus merilis handel yang baru diperoleh dengan memanggil pfnReleaseTargetModeSet.
pfnAssignTargetModeSet tidak merilis objek set mode target jika pfnAssignTargetModeSet gagal dengan parameter input yang tidak valid (yaitu, gagal dengan kode kesalahan STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET, atau STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET) karena parameter yang ditentukan tidak cukup bagi sistem operasi untuk menentukan objek set mode mana yang akan dirilis. Situasi parameter yang tidak valid tersebut menunjukkan kesalahan pengkodian kotor di driver. Anda dapat memperbaiki kesalahan ini dengan menentukan handel VidPN yang benar, pengidentifikasi target, atau handel set mode target VidPN.
pfnAssignTargetModeSet akan merilis objek set mode target setelah berhasil memvalidasi semua parameter input jika pfnAssignTargetModeSet gagal karena salah satu alasan berikut:
- Set mode target kosong.
- Set mode target tidak berisi mode yang disematkan dalam set mode sebelumnya, jika ada.
- Set mode target tidak dibuat untuk target yang diidentifikasi oleh VidPnTargetId.
Jenis data D3DKMDT_HVIDPN dan D3DKMDT_HVIDPNTARGETMODESET ditentukan dalam D3dkmdt.h.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Target Platform | Desktop |
Header | d3dkmddi.h (termasuk D3dkmddi.h) |
IRQL | PASSIVE_LEVEL |