共用方式為


D3DDDI_ALLOCATIONINFO2結構(d3dukmdt.h)

D3DDDI_ALLOCATIONINFO2 結構描述配置。

語法

typedef struct _D3DDDI_ALLOCATIONINFO2 {
  D3DKMT_HANDLE                         hAllocation;
  union {
    HANDLE     hSection;
    const VOID *pSystemMem;
  } D3DKMT_ALIGN64;
  VOID                                  *pPrivateDriverData;
  UINT                                  PrivateDriverDataSize;
  D3DDDI_VIDEO_PRESENT_SOURCE_ID        VidPnSourceId;
  union {
    struct {
      UINT Primary : 1;
      UINT Stereo : 1;
      UINT OverridePriority : 1;
#if ...
      UINT Reserved : 29;
#elif
      UINT Reserved : 30;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  } Flags;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS GpuVirtualAddress;
  union {
    UINT                     Priority;
    D3DKMT_ALIGN64 ULONG_PTR Unused;
  };
#if ...
  D3DKMT_ALIGN64 ULONG_PTR              Reserved[5];
#else
  D3DKMT_ALIGN64 ULONG_PTR              Reserved[6];
#endif
} D3DDDI_ALLOCATIONINFO2;

成員

hAllocation

[out]D3DKMT_HANDLE 句柄,表示配置的核心模式句柄。 此句柄與 Direct3D 運行時間 pfnAllocateCb 函式在 hKMResource 成員 D3DDDICB_ALLOCATE 結構的成員中傳回的核心模式資源句柄相關聯。 使用者模式顯示驅動程式可以使用這個內核模式配置句柄來參考命令緩衝區中的配置。

D3DKMT_ALIGN64

hSectionpSystemMem的聯集。

D3DKMT_ALIGN64.hSection

[in]有效區段物件的句柄。 設定 D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection 時,請使用 hSection

D3DKMT_ALIGN64.pSystemMem

[in]預先配置的系統記憶體指標。 未設定 D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection 時,請使用 pSystemMem

pPrivateDriverData

[in/out,opt]緩衝區的指標,其中包含顯示迷你埠驅動程式建立配置時可能需要的選擇性私用數據。 顯示迷你埠驅動程式也可以傳回緩衝區中的數據。 當緩衝區的內容傳遞至顯示迷你埠驅動程式時,內容必須是顯示迷你埠驅動程式可以處理的格式。

PrivateDriverDataSize

[in]以位元組為單位的私用數據大小。

VidPnSourceId

[in]如果配置是用於主要介面,則影片簡報網路 (VidPN) 拓撲路徑中以零起始的 VidPN 識別符。 驅動程式應該只針對主要配置類型設定 VidPnSourceId,而不是針對任何其他類型的配置。 如果驅動程式在 呼叫 pfnAllocateCb 函式時,針對任何其他配置類型設定 VidPnSourceIdpfnAllocateCb 會傳回D3DDDI_ID_NOTAPPLICABLE。

當 DirectX 圖形核心子系統起始為共用主要介面的配置建立時,顯示迷你埠驅動程式可以從 VidPnSourceIdD3DKMDDI_SHAREDPRIMARYSURFACEDATA 結構的成員 pPrivateDriverDataDXGK_ALLOCATIONINFO 結構的成員來判斷標識符。

Flags

[in]聯集,包含結構或識別配置類型的32位值。

Flags.Primary

[in]UINT,指定配置是否為桌面的一部分。 CPU 可以隱含存取這類配置。 主要配置可以在建立時釘選,或在建立時無法釘選。

設定這個成員相當於設定 32 位 Value 成員的第一個位 (0x00000001)。

Flags.Stereo

[in]從 Windows 8 開始支援 (WDDM 1.2)。 UINT,指定配置是否為立體聲主要配置。 只有在設定 主要 成員時,才能設定 立體聲 成員。

設定此成員相當於設定 32 位 Value 成員的第二個位 (0x00000002)。

Flags.OverridePriority

[in]從 Windows 10 版本 1703 (WDDM 2.2) 開始支援。 覆寫優先順序,如使用者模式圖形驅動程式所建立。

Flags.Reserved

[in]這個成員是保留的,而且應該設定為零。

Flags.Value

[in]識別配置類型的32位值。

GpuVirtualAddress

[out]所建立配置的 GPU 虛擬位址。

Priority

[in]配置的優先順序。

Unused

閑置。

Reserved[5]

Reserved[6]

言論

當使用者模式顯示驅動程式在D3DDDI_ALLOCATIONINFO 旗標 成員中設定 主要 位字段旗標時,某些限制會套用 DXGK_ALLOCATIONINFOpAllocationInfo 中DXGKARG_CREATEALLOCATION 結構的成員,以在呼叫顯示迷你埠驅動程式 DxgkDdiCreateAllocation 函式中配置。 這些限制包括下列各項:

  • 配置會根據喜好設定來配置;否則,配置預設為支援的寫入區段集,而且寫入區段集中的所有指定區段都必須可存取 CPU。

  • 顯示迷你連接埠驅動程式無法在 DXGK_ALLOCATIONINFOFlags 成員中設定下列位欄位字段旗標:

  • PermanentSysMem

  • 緩存

  • 保護

  • ExistingSysMem

  • ExistingKernelSysMem

D3DDDI_ID_NOTAPPLICABLE常數定義於 D3dukmdt.h中。

要求

要求 價值
最低支援的用戶端 Windows 7
標頭 d3dukmdt.h

另請參閱

CreateResource

D3DDDICB_ALLOCATE

D3DDDI_SURFACEINFO

D3DKMDDI_SHAREDPRIMARYSURFACEDATA

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DxgkDdiCreateAllocation

pfnAllocateCb