Bagikan melalui


struktur D3DKMT_CREATEALLOCATION (d3dkmthk.h)

Struktur D3DKMT_CREATEALLOCATION menjelaskan parameter untuk membuat alokasi.

Sintaksis

typedef struct _D3DKMT_CREATEALLOCATION {
  [in]     D3DKMT_HANDLE                hDevice;
  [in/out] D3DKMT_HANDLE                hResource;
  [out]    D3DKMT_HANDLE                hGlobalShare;
  [in]     const VOID                   *pPrivateRuntimeData;
  [in]     UINT                         PrivateRuntimeDataSize;
  union {
    [in]     D3DKMT_CREATESTANDARDALLOCATION *pStandardAllocation;
    [in]     const VOID                      *pPrivateDriverData;
  };
  [in/out] UINT                         PrivateDriverDataSize;
  [in]     UINT                         NumAllocations;
  union {
    [in]     D3DDDI_ALLOCATIONINFO  *pAllocationInfo;
    [in]     D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
  };
  [in]     D3DKMT_CREATEALLOCATIONFLAGS Flags;
  [in]     HANDLE                       hPrivateRuntimeResourceHandle;
} D3DKMT_CREATEALLOCATION;

Anggota

[in] hDevice

Handel ke perangkat yang dikaitkan dengan sumber daya atau alokasi.

[in/out] hResource

Jenis data D3DKMT_HANDLE yang mewakili handel mode kernel ke sumber daya yang terkait dengan alokasi. Nilai dalam hResource harus selalu nol kecuali alokasi akan ditambahkan ke sumber daya yang ada, dalam hal ini hResource berisi handel sumber daya.

Ketika bendera CreateResource bit-field diatur dalam anggota Bendera , runtime OpenGL menghasilkan handel unik dan meneruskannya kembali ke driver. Pada output dari fungsi D3DKMTCreateAllocation, hResource menentukan handel yang harus digunakan driver dalam panggilan runtime OpenGL berikutnya untuk mengidentifikasi sumber daya. Handel sumber daya yang dikembalikan khusus perangkat dan hanya valid saat digunakan dengan perangkat tempatnya dibuat.

[out] hGlobalShare

Driver klien mode pengguna tidak boleh berbagi sumber daya menggunakan handel global. Driver harus mengatur NtSecuritySharing di Flags dan memanggil D3DKMTShareObjects untuk mendapatkan handel NT. Menggunakan handel global tidak aman. Proses apa pun dapat menebak handel global dan membuka objek bersama. Handel global hanya didukung untuk alasan kompatibilitas dengan runtime D3D lama. (Ketika NtSecuritySharing tidak diatur, handel global dikembalikan dalam hGlobalShare. Tidak ada yang mencegah UMD berbagi sumber daya menggunakan handel global, tetapi driver tidak boleh melakukannya.)

[in] pPrivateRuntimeData

Penunjuk ke data privat opsional yang dapat dilampirkan ke sumber daya untuk tujuan penelusuran kesalahan. Data ini per sumber daya dan bukan per alokasi.

[in] PrivateRuntimeDataSize

Ukuran, dalam byte, dari data privat yang pPrivateRuntimeData menunjuk.

[in] pStandardAllocation

Penunjuk ke struktur D3DKMT_CREATESTANDARDALLOCATION yang menjelaskan alokasi standar yang akan dibuat.

[in] pPrivateDriverData

Penunjuk ke buffer yang berisi data privat opsional yang mungkin diperlukan driver miniport tampilan untuk membuat sumber daya atau alokasi. Konten buffer biasanya berasal dari ICD dan harus dalam format yang dapat diproses driver miniport tampilan.

[in/out] PrivateDriverDataSize

Ukuran, dalam byte, dari data privat yang pPrivateDriverData menunjuk.

[in] NumAllocations

Jumlah elemen dalam array yang pAllocationInfo tentukan, yang mewakili jumlah alokasi yang akan dibuat. Perhatikan bahwa membuat sumber daya tanpa alokasi apa pun yang awalnya terkait dengannya valid; oleh karena itu, NumAllocations dapat diatur ke 0.

[in] pAllocationInfo

Array struktur D3DDDI_ALLOCATIONINFO yang menjelaskan properti tertentu untuk setiap alokasi untuk dibuat.

[in] pAllocationInfo2

Anggota ini dicadangkan dan harus diatur ke nol.

Anggota ini tersedia dimulai dengan Windows 7.

[in] Flags

Struktur D3DKMT_CREATEALLOCATIONFLAGS yang mengidentifikasi atribut untuk membuat alokasi, dalam bendera bit-field.

Jika Anda mengatur bendera CreateShared bit-field di Flags, Anda juga harus mengatur bendera CreateResource bit-field.

[in] hPrivateRuntimeResourceHandle

Handel buram yang dapat Anda gunakan dalam pelacakan peristiwa. Handel ini dapat digunakan untuk mengaitkan alokasi mode kernel dengan penunjuk permukaan mode pengguna saat Anda menganalisis log peristiwa Pelacakan Peristiwa untuk Windows (ETW).

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows Vista
Header d3dkmthk.h (termasuk D3dkmthk.h)

Lihat juga

D3DDDI_ALLOCATIONINFO

D3DKMTCreateAllocation

D3DKMT_CREATEALLOCATIONFLAGS