Bagikan melalui


DXGKDDI_START_DEVICE fungsi panggilan balik (dispmprt.h)

Fungsi DxgkDdiStartDevice menyiapkan adaptor tampilan untuk menerima permintaan I/O.

Sintaks

DXGKDDI_START_DEVICE DxgkddiStartDevice;

NTSTATUS DxgkddiStartDevice(
  [in]  IN_CONST_PVOID MiniportDeviceContext,
  [in]  IN_PDXGK_START_INFO DxgkStartInfo,
  [in]  IN_PDXGKRNL_INTERFACE DxgkInterface,
  [out] OUT_PULONG NumberOfVideoPresentSources,
  [out] OUT_PULONG NumberOfChildren
)
{...}

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 DirectX.

[in] DxgkStartInfo

Penunjuk ke struktur DXGK_START_INFO yang berisi informasi yang dibutuhkan driver miniport tampilan untuk inisialisasi.

[in] DxgkInterface

Penunjuk ke struktur DXGKRNL_INTERFACE yang berisi penunjuk ke fungsi, yang diimplementasikan oleh subsistem kernel grafis DirectX, yang dapat dipanggil oleh driver miniport tampilan.

[out] NumberOfVideoPresentSources

Penunjuk ke variabel ULONG yang menerima jumlah sumber video yang ada yang didukung oleh adaptor tampilan. Untuk informasi selengkapnya tentang sumber sajikan video, lihat Beberapa Monitor dan Jaringan Sajikan Video.

[out] NumberOfChildren

Penunjuk ke variabel ULONG yang menerima jumlah total perangkat yang merupakan anak dari adaptor tampilan yang diwakili oleh MiniportDeviceContext. Jumlah ini harus mencakup perangkat anak potensial serta perangkat anak yang saat ini ada. Misalnya, jika menautkan komputer portabel akan membuat output video tambahan tersedia, output video tersebut harus dihitung terlepas dari apakah komputer portabel saat ini ditampar. Untuk informasi selengkapnya tentang perangkat anak, lihat Perangkat Anak dari Adaptor Tampilan.

Nilai kembali

DxgkDdiStartDevice mengembalikan STATUS_SUCCESS jika berhasil; jika tidak, ia mengembalikan salah satu kode kesalahan yang ditentukan dalam Ntstatus.h.

Keterangan

Fungsi DxgkDdiStartDevice harus melakukan tindakan berikut:

  • Simpan pointer fungsi yang disediakan oleh struktur DXGKRNL_INTERFACE yang diteruskan ke parameter DxgkInterface . Simpan juga anggota DeviceHandle dari struktur DXGKRNL_INTERFACE ; Anda akan memerlukan handel itu untuk memanggil kembali subsistem kernel grafis DirectX.
  • Alokasikan struktur DXGK_DEVICE_INFO , dan panggil DxgkCbGetDeviceInformation untuk mengisi anggota struktur tersebut, yang mencakup jalur registri, PDO, dan daftar sumber daya yang diterjemahkan untuk adaptor tampilan yang diwakili oleh MiniportDeviceContext. Simpan anggota yang dipilih (yang dibutuhkan driver miniport tampilan nanti) dari struktur DXGK_DEVICE_INFO dalam blok konteks yang diwakili oleh MiniportDeviceContext.
  • Petakan sumber daya memori ke ruang sistem dengan memanggil fungsi DxgkCbMapMemory .
  • Inisialisasi blok konteks yang diwakili oleh MiniportDeviceContext dengan status apa pun yang diperlukan untuk menyiapkan perangkat keras untuk menerima permintaan I/O.
  • Atur NumberOfVideoPresentSources ke jumlah sumber video yang ada yang didukung oleh adaptor tampilan yang diwakili oleh MiniportDeviceContext.
  • Atur NumberOfChildren ke jumlah perangkat yang (atau bisa menjadi) turunan adaptor tampilan yang diwakili oleh MiniportDeviceContext.
  • Aktifkan interupsi untuk adaptor tampilan yang diwakili oleh MiniportDeviceContext.
Dimulai dengan Windows Display Driver Model (WDDM) 1.2, driver miniport tampilan memanggil fungsi DxgkCbAcquirePostDisplayOwnership untuk mendapatkan informasi tentang mode tampilan yang sebelumnya telah diatur oleh firmware dan pemuat sistem. Jika DxgkCbAcquirePostDisplayOwnership kembali dengan STATUS_SUCCESS, driver menentukan apakah harus menginisialisasi ulang tampilan berdasarkan informasi mode tampilan yang dikembalikan melalui parameter DisplayInfo . Jika tidak, driver tidak boleh berasumsi bahwa mode tampilan tertentu saat ini diaktifkan pada perangkat, dan harus menginisialisasi tampilan.

Fungsi DxgkDdiStartDevice harus dibuat dapat dipaginasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows Vista.
Target Platform Desktop
Header dispmprt.h
IRQL PASSIVE_LEVEL

Lihat juga

DXGKRNL_INTERFACE

DXGK_DEVICE_INFO

DxgkCbAcquirePostDisplayOwnership

DxgkCbGetDeviceInformation

DxgkCbMapMemory

DxgkDdiAddDevice

DxgkDdiStopDevice