struktur D3D10DDIARG_CREATEDEVICE (d3d10umddi.h)

Struktur D3D10DDIARG_CREATEDEVICE menjelaskan perangkat tampilan yang akan dibuat.

Sintaks

typedef struct D3D10DDIARG_CREATEDEVICE {
  D3D10DDI_HRTDEVICE            hRTDevice;
  UINT                          Interface;
  UINT                          Version;
  const D3DDDI_DEVICECALLBACKS  *pKTCallbacks;
  union {
    D3D10DDI_DEVICEFUNCS      *pDeviceFuncs;
    D3D10_1DDI_DEVICEFUNCS    *p10_1DeviceFuncs;
    D3D11DDI_DEVICEFUNCS      *p11DeviceFuncs;
    D3D11_1DDI_DEVICEFUNCS    *p11_1DeviceFuncs;
    D3DWDDM1_3DDI_DEVICEFUNCS *pWDDM1_3DeviceFuncs;
    D3DWDDM2_0DDI_DEVICEFUNCS *pWDDM2_0DeviceFuncs;
    D3DWDDM2_1DDI_DEVICEFUNCS *pWDDM2_1DeviceFuncs;
    D3DWDDM2_2DDI_DEVICEFUNCS *pWDDM2_2DeviceFuncs;
    D3DWDDM2_6DDI_DEVICEFUNCS *pWDDM2_6DeviceFuncs;
  };
  D3D10DDI_HDEVICE              hDrvDevice;
  DXGI_DDI_BASE_ARGS            DXGIBaseDDI;
  D3D10DDI_HRTCORELAYER         hRTCoreLayer;
  union {
    const D3D10DDI_CORELAYER_DEVICECALLBACKS      *pUMCallbacks;
    const D3D11DDI_CORELAYER_DEVICECALLBACKS      *p11UMCallbacks;
    const D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_0UMCallbacks;
    const D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_2UMCallbacks;
    const D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_6UMCallbacks;
  };
  UINT                          Flags;
  PFND3D10DDI_RETRIEVESUBOBJECT *ppfnRetrieveSubObject;
} D3D10DDIARG_CREATEDEVICE;

Anggota

hRTDevice

[in] Handel ke perangkat tampilan (konteks grafis) yang menentukan handel yang harus digunakan driver saat memanggil kembali ke runtime Direct3D (yaitu, ketika driver memanggil fungsi yang ditentukan anggota pKTCallbacks ).

Interface

[in] Versi antarmuka Direct3D. 16 bit tinggi menyimpan nomor rilis utama (seperti 10, 11, dan sebagainya); 16 bit rendah menyimpan nomor rilis minor (seperti 0, 1, 2, dan sebagainya). Nomor rilis minor akan ditingkatkan ketika perubahan pada antarmuka dirilis.

Version

[in] Angka yang dapat digunakan driver untuk mengidentifikasi kapan runtime Direct3D dibangun. 16 bit tinggi mewakili angka build; 16 bit rendah mewakili nomor revisi.

Driver hanya diperlukan untuk memantau 16 bit tinggi. Driver harus memastikan bahwa versi build runtime yang diteruskan lebih besar dari atau sama dengan versi build driver saat ini. Driver harus mengembalikan kegagalan dari fungsi CreateDevice (D3D10) jika versi build yang diteruskan tidak kompatibel.

pKTCallbacks

[in] Penunjuk ke struktur D3DDDI_DEVICECALLBACKS yang berisi tabel fungsi panggilan balik runtime Direct3D yang dapat digunakan driver untuk mengakses layanan kernel.

pDeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3D10DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Runtime Direct3D menggunakan fungsi-fungsi ini untuk berkomunikasi dengan driver tampilan mode pengguna.

Driver harus mengisi fungsi Direct3D versi 10.0 dalam struktur D3D10DDI_DEVICEFUNCS yang disediakan ketika nilai dalam anggota AntarmukaD3D10_0_DDI_INTERFACE_VERSION.

p10_1DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3D10_1DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Versi 10.1 dari runtime Direct3D menggunakan fungsi-fungsi ini untuk berkomunikasi dengan driver tampilan mode pengguna.

Driver harus mengisi fungsi Direct3D versi 10.1 dalam struktur D3D10_1DDI_DEVICEFUNCS yang disediakan ketika nilai dalam anggota AntarmukaD3D10_1_DDI_INTERFACE_VERSION.

Didukung dimulai dengan Windows Vista dengan SP1 dan Windows Server 2008.

p11DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3D11DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Versi 11 dari runtime Direct3D menggunakan fungsi-fungsi ini untuk berkomunikasi dengan driver tampilan mode pengguna.

Driver harus mengisi fungsi Direct3D versi 11.0 dalam struktur D3D11DDI_DEVICEFUNCS yang disediakan ketika nilai dalam anggota AntarmukaD3D11_0_DDI_INTERFACE_VERSION.

Didukung dimulai dengan Windows 7.

p11_1DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3D11_1DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Dimulai dengan versi 11.1, runtime Direct3D menggunakan fungsi-fungsi ini untuk berkomunikasi dengan driver tampilan mode pengguna.

Driver harus mengisi fungsi Direct3D versi 11.1 dalam struktur D3D11_1DDI_DEVICEFUNCS yang disediakan ketika nilai dalam anggota AntarmukaD3D11_1_DDI_INTERFACE_VERSION.

Didukung dimulai dengan Windows 8.

pWDDM1_3DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3DWDDM1_3DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Versi 11.2 dari runtime Direct3D menggunakan fungsi-fungsi ini untuk berkomunikasi dengan driver tampilan mode pengguna.

Driver harus mengisi fungsi Direct3D versi 11.2 dalam struktur D3DWDDM1_3DDI_DEVICEFUNCS yang disediakan ketika nilai dalam anggota AntarmukaD3DWDDM1_3_DDI_INTERFACE_VERSION.

Didukung dimulai dengan Windows 8.1.

pWDDM2_0DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3DWDDM2_0DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Driver harus mengisi fungsi Direct3D dalam struktur yang disediakan ketika nilai dalam anggota AntarmukaD3DWDDM2_0_DDI_INTERFACE_VERSION.

pWDDM2_1DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3DWDDM2_1DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Driver harus mengisi fungsi Direct3D dalam struktur yang disediakan ketika nilai dalam anggota AntarmukaD3DWDDM2_0_DDI_INTERFACE_VERSION.

pWDDM2_2DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3DWDDM2_2DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Driver harus mengisi fungsi Direct3D dalam struktur yang disediakan ketika nilai dalam anggota AntarmukaD3DWDDM2_0_DDI_INTERFACE_VERSION.

pWDDM2_6DeviceFuncs

[masuk/keluar] Penunjuk ke struktur D3DWDDM2_6DDI_DEVICEFUNCS yang diisi driver tampilan mode pengguna dengan tabel fungsinya. Driver harus mengisi fungsi Direct3D dalam struktur yang disediakan ketika nilai dalam anggota AntarmukaD3DWDDM2_0_DDI_INTERFACE_VERSION.

Didukung dimulai dengan Windows 10, versi 1901.

hDrvDevice

[masuk/keluar] Handel ke perangkat tampilan (konteks grafis) yang digunakan runtime Direct3D dalam panggilan driver berikutnya untuk mengidentifikasi perangkat tampilan.

DXGIBaseDDI

[masuk/keluar] Struktur DXGI_DDI_BASE_ARGS yang menyediakan akses ke DXGI. DXGI DDI menangani tugas tingkat rendah seperti menyajikan bingkai yang dirender ke output, mengontrol gamma, dan mengelola transisi layar penuh.

hRTCoreLayer

[in] Handel yang harus digunakan driver ketika memanggil kembali ke runtime Direct3D untuk mengakses fungsionalitas Direct3D 10 inti (yaitu, ketika driver memanggil fungsi yang ditentukan anggota pUMCallbacks ).

pUMCallbacks

[in] Penunjuk ke struktur D3D10DDI_CORELAYER_DEVICECALLBACKS yang berisi tabel fungsi panggilan balik runtime Direct3D 10 yang dapat digunakan driver untuk mengakses fungsionalitas runtime mode pengguna inti.

p11UMCallbacks

[in] Penunjuk ke struktur D3D11DDI_CORELAYER_DEVICECALLBACKS yang berisi tabel fungsi panggilan balik runtime Direct3D 10 dan Direct3D 11, yang dapat digunakan driver untuk mengakses fungsionalitas runtime mode pengguna inti.

Didukung dimulai dengan Windows 7.

pWDDM2_0UMCallbacks

[in] Penunjuk ke struktur D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS yang berisi tabel fungsi panggilan balik runtime Direct3D 10, Direct3D 11, dan WDDM 2.0, yang dapat digunakan driver untuk mengakses fungsionalitas runtime mode pengguna inti.

pWDDM2_2UMCallbacks

[in] Penunjuk ke struktur D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS yang berisi tabel fungsi panggilan balik runtime Direct3D 10, Direct3D 11, WDDM 2.0, dan WDDM 2.2, yang dapat digunakan driver untuk mengakses fungsi runtime mode pengguna inti.

pWDDM2_6UMCallbacks

[in] Penunjuk ke struktur D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS yang berisi tabel fungsi panggilan balik runtime Direct3D 10, Direct3D 11, WDDM 2.0, WDDM 2.2, dan WDDM 2.6, yang dapat digunakan driver untuk mengakses fungsi runtime mode pengguna inti.

Flags

[in] Bitwise ATAU nilai bendera yang valid yang mengidentifikasi cara membuat perangkat tampilan. Runtime Direct3D mendukung bendera berikut:

Bendera Makna
D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1) Jika bendera ini diatur, driver tampilan mode pengguna tidak boleh menjalankan beberapa utas secara bersamaan ketika memproses panggilan ke fungsinya dari runtime Direct3D. Driver biasanya dapat memulai dan menjalankan beberapa utas untuk memproses operasi lebih cepat, kecuali bendera D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION diatur.
D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10) Menginformasikan driver tampilan mode pengguna bahwa aplikasi adalah utas tunggal. Runtime Direct3D 11 memungkinkan beberapa utas aplikasi untuk memasukkan driver jika driver memungkinkan mode operasi ini. Namun, tidak semua aplikasi dapat menjalankan beberapa utas. Jika bendera ini diatur, driver tidak mengharapkan beberapa utas memasukkannya dan berjalan secara bersamaan. Driver dapat menghindari sinkronisasi jika bendera ini diatur. Didukung dimulai dengan Windows 7.
Bendera yang diatur dalam masker 0xE anggota Bendera Mewakili tingkat alur 3-D yang harus didukung driver untuk perangkat tampilan. Lihat Keterangan. Didukung dimulai dengan Windows 7.

ppfnRetrieveSubObject

[masuk/keluar] Penunjuk ke fungsi RetrieveSubObject(D3D11_1) yang mengambil subbagian objek perangkat driver Direct3D.

Didukung dimulai dengan Windows 8.

Keterangan

Driver memeriksa nilai dalam anggota Antarmuka dan Versi untuk menentukan apakah akan mengisi struktur D3D10DDI_DEVICEFUNCS, D3D10_1DDI_DEVICEFUNCS, D3D11DDI_DEVICEFUNCS, D3D11_1DDI_DEVICEFUNCS, atau D3DWDDM1_3DDI_DEVICEFUNCS yang ditunjukkan oleh anggota pDeviceFuncs, p10_1DeviceFuncs, p11DeviceFuncs, p11_1DeviceFuncs, atau pWDDM1_3DeviceFuncs dengan anggota driver Fungsi. Konstanta berikut dari D3d10umddi.h adalah contoh konstanta yang mungkin ditemukan driver di Antarmuka dan Versi:

#define D3D10_1_DDI_MINOR_VERSION 2
#define D3D10_1_DDI_INTERFACE_VERSION ((D3D10_DDI_MAJOR_VERSION << 16) | D3D10_1_DDI_MINOR_VERSION)
#define D3D10_1_DDI_BUILD_VERSION 1
#define D3D10_1_DDI_SUPPORTED ((((UINT64)D3D10_1_DDI_INTERFACE_VERSION) << 32) | (((UINT64)D3D10_1_DDI_BUILD_VERSION) << 16))

Kemungkinan kombinasi konstanta lainnya untuk versi sistem operasi yang berbeda, Direct3D, dan Windows Display Driver Model (WDDM) tercantum di header D3d10umddi.h .

Untuk bendera yang diatur dalam masker 0xE anggota Bendera , driver menggunakan konstanta dan makro berikut untuk mengekstrak salah satu nilai dari enumerasi D3D11DDI_3DPIPELINELEVEL yang mewakili tingkat alur 3-D untuk didukung. Nilai di anggota Bendera diformat seperti anggota Caps dari struktur D3D11DDI_3DPIPELINESUPPORT_CAPS .

#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT (0x1)
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK (0x7 << D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT)
#define D3D11DDI_EXTRACT_3DPIPELINELEVEL_FROM_FLAGS( Flags ) \
    ((D3D11DDI_3DPIPELINELEVEL)(((Flags) & D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK) >> \
    D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT))

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Header d3d10umddi.h (termasuk D3d10umddi.h)

Lihat juga

CreateDevice(D3D10)

D3D10DDI_CORELAYER_DEVICECALLBACKS

D3D10DDI_DEVICEFUNCS

D3D10_1DDI_DEVICEFUNCS

D3D11DDI_3DPIPELINELEVEL

D3D11DDI_3DPIPELINESUPPORT_CAPS

D3D11DDI_CORELAYER_DEVICECALLBACKS

D3D11DDI_DEVICEFUNCS

D3D11_1DDI_DEVICEFUNCS

D3DDDI_ALLOCATIONLIST

D3DDDI_DEVICECALLBACKS

D3DDDI_PATCHLOCATIONLIST

D3DWDDM1_3DDI_DEVICEFUNCS

DXGI_DDI_BASE_ARGS

DxgkDdiCreateDevice

RetrieveSubObject(D3D11_1)