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.

Catatan Fungsi pfnAssignTargetModeSet merilis atau tidak merilis objek set mode target yang diidentifikasi oleh parameter hVidPnTargetModeSet tergantung pada alasan yang menyebabkan pfnAssignTargetModeSet gagal.

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 D3DDDI_VIDEO_PRESENT_TARGET_ID ditentukan dalam D3dukmdt.h.

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

Lihat juga

Antarmuka Set Mode Target VidPN

pfnCreateNewTargetModeSet