D3DDDI_ALLOCATIONINFO 結構 (d3dukmdt.h)

D3DDDI_ALLOCATIONINFO 結構描述配置。

語法

typedef struct _D3DDDI_ALLOCATIONINFO {
  [out]    D3DKMT_HANDLE                  hAllocation;
  void                           D3DKMT_PTR(
    const VOID *unnamedParam1,
    pSystemMem unnamedParam2
  );
  void                           D3DKMT_PTR(
    VOID               *unnamedParam1,
    pPrivateDriverData unnamedParam2
  );
  [in]     UINT                           PrivateDriverDataSize;
  [in]     D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  union {
    struct {
      UINT Primary : 1;
      UINT Stereo : 1;
#if ...
      UINT Reserved : 30;
#else
      UINT Reserved : 31;
#endif
    };
             UINT Value;
  } Flags;
} D3DDDI_ALLOCATIONINFO;

成員

[out] hAllocation

D3DKMT_HANDLE資料類型,表示配置的核心模式控制碼。 如果 Microsoft Direct3D 執行時間的pfnAllocateCb函式在D3DDDICB_ALLOCATE結構的hKMResource成員中傳回非Null) ,此核心模式配置句 (柄會與核心模式資源控制碼相關聯。 使用者模式顯示驅動程式可以使用這個核心模式配置控制碼來參考命令緩衝區中的配置。

void D3DKMT_PTR( const VOID *unnamedParam1, pSystemMem unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, pPrivateDriverData unnamedParam2)

[in] PrivateDriverDataSize

pPrivateDriverData指向之私人資料區塊的大小,以位元組為單位。

[in] VidPnSourceId

視訊呈現網路路徑中視訊呈現來源的以零為起始的識別碼 (,如果配置適用于主要介面,則為 VidPN) 拓撲。 驅動程式應該只針對主要配置類型設定 VidPnSourceId ,而不是針對任何其他類型的配置設定。 如果驅動程式為呼叫 pfnAllocateCb函式中的任何其他配置類型設定VidPnSourceIdpfnAllocateCb會傳回D3DDDI_ID_NOTAPPLICABLE。

當 DirectX 圖形核心子系統起始共用主要介面的配置建立時,顯示迷你埠驅動程式可以從D3DKMDDI_SHAREDPRIMARYSURFACEDATA結構的pPrivateDriverData成員指向之DXGK_ALLOCATIONINFO D3DKMDDI_SHAREDPRIMARYSURFACEDATA結構的VidPnSourceId成員判斷識別碼。

[in] Flags

包含結構 (的等位,其中包含下列清單中描述的前三個成員) 或 Value 成員中的 32 位值 (,) 識別配置類型:

[in] Flags.Primary

指定配置是否屬於桌面的 UINT。 這類配置可隱含地供 CPU 存取。 主要配置可以在建立時釘選,或無法在建立時釘選。

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

[in] Flags.Stereo

從Windows 8開始支援。

UINT,指定配置是否為立體主要配置。 只有在設定主要成員時,才能設定立體成員。

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

[in] Flags.Reserved

從Windows 8開始支援。

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

將此成員設定為零相當於將 32 位 Value 成員的剩餘 30 位設定為零 (0xFFFFFFFC) 。

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

將此成員設定為零相當於將 32 位 Value 成員的其餘 31 位設定為零 (0xFFFFFFFE) 。

[in] Flags.Value

識別配置類型的 32 位值。

備註

當使用者模式顯示驅動程式在 D3DDDI_ALLOCATIONINFO Flags成員中設定主要位欄位旗標時,某些限制會套用至DXGKARG_CREATEALLOCATION結構之 pAllocationInfo成員中的DXGK_ALLOCATIONINFO結構,以便呼叫 display miniport 驅動程式的DxgkDdiCreateAllocation函式。 這些限制包括下列各項:

  • 配置會根據喜好設定來配置;否則,配置預設為支援的寫入區段集,而寫入區段中的所有指定區段都必須可存取 CPU。
  • 顯示迷你埠驅動程式無法在DXGK_ALLOCATIONINFOFlags成員中設定下列位欄位旗標:
    • PermanentSysMem
    • 快取
    • 保護
    • ExistingSysMem
    • ExistingKernelSysMem
D3DDDI_ID_NOTAPPLICABLE常數定義于 D3dukmdt.h 中。

必要條件

   
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
標頭 d3dukmdt.h (包括 D3dumddi.h、D3dkmddi.h)

另請參閱

CreateResource

D3DDDICB_ALLOCATE

D3DDDI_SURFACEINFO

D3DKMDDI_SHAREDPRIMARYSURFACEDATA

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DxgkDdiCreateAllocation

pfnAllocateCb