共用方式為


D3DKMT_RENDER結構 (d3dkmthk.h)

D3DKMT_RENDER 結構描述要轉譯的目前命令緩衝區。

語法

typedef struct _D3DKMT_RENDER {
  union {
    [in]     D3DKMT_HANDLE hDevice;
    [in]     D3DKMT_HANDLE hContext;
  };
  [in]     UINT                                  CommandOffset;
  [in]     UINT                                  CommandLength;
  [in]     UINT                                  AllocationCount;
  [in]     UINT                                  PatchLocationCount;
  [out]    VOID                                  *pNewCommandBuffer;
  [in/out] UINT                                  NewCommandBufferSize;
  [out]    D3DDDI_ALLOCATIONLIST                 *pNewAllocationList;
  [in/out] UINT                                  NewAllocationListSize;
  [out]    D3DDDI_PATCHLOCATIONLIST              *pNewPatchLocationList;
  [in/out] UINT                                  NewPatchLocationListSize;
  [in]     D3DKMT_RENDERFLAGS                    Flags;
  [in]     D3DKMT_ALIGN64 ULONGLONG              PresentHistoryToken;
  [in]     ULONG                                 BroadcastContextCount;
           D3DKMT_HANDLE                         BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [out]    ULONG                                 QueuedBufferCount;
  [out]    D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
           VOID                                  *pPrivateDriverData;
           UINT                                  PrivateDriverDataSize;
} D3DKMT_RENDER;

成員

[in] hDevice

D3DKMT_HANDLE數據類型,表示轉譯命令緩衝區之裝置的核心模式句柄。 裝置句柄會提供給聯集內的 D3DKMTRender 函式,D3DKMT_RENDER包含此函式,以便與 Microsoft Direct3D 第 10 版相容。

[in] hContext

D3DKMT_HANDLE數據類型,表示轉譯命令緩衝區之裝置內容的核心模式句柄。

[in] CommandOffset

位移,以位元組為單位,位移至命令緩衝區中的第一個命令。

[in] CommandLength

從位移零開始的命令緩衝區大小,以位元組為單位。

[in] AllocationCount

送出配置清單中的項目數目。

[in] PatchLocationCount

送出修補程式位置清單中的項目數目。

[out] pNewCommandBuffer

OpenGL ICD 在其下一次呼叫 D3DKMTRender 函式時所收到的命令緩衝區指標。 不論呼叫是否成功,驅動程式都必須在呼叫 D3DKMTRender 之後,一律更新其命令緩衝區的指標。

Windows 7 和更新版本支援:

[in]如果在 Flags 成員中設定 RenderKm 旗標,則為要轉譯之命令緩衝區的指標。

[in/out] NewCommandBufferSize

如果 ResizeCommandBuffer 位字段旗標是在 Flags 成員中指定 OpenGL ICD 要求下一個命令緩衝區的大小,以位元組為單位。 如果未指定 resizeCommandBuffer ,則會忽略 NewCommandBufferSize 中的值。 在輸出中,驅動程式會接收下一個要使用的命令緩衝區大小,以位元組為單位。

根據目前的記憶體狀況,輸出大小可能不符合輸入大小。

[out] pNewAllocationList

OpenGL ICD 在其下一次呼叫 D3DKMTRender 函式時,接收做為配置清單的 D3DDDI_ALLOCATIONLIST 結構數位。 不論呼叫是否成功,驅動程式都必須在呼叫 D3DKMTRender 之後,一律更新配置清單的指標。

Windows 7 和更新版本支援:

[in]如果 RenderKm 旗標設定在 旗標 成員中,則為要轉譯的配置清單指標。

[in/out] NewAllocationListSize

如果 ResizeAllocationList 位欄位旗標是在 Flags 成員中指定 OpenGL ICD 要求下一個配置清單的項目數目。 如果未指定 resizeAllocationList ,則會忽略 NewAllocationListSize 中的值。 在輸出中,驅動程式會在提交下一個命令緩衝區時,接收配置陣列中可用的元素數目。

根據目前的記憶體狀況,輸出大小可能不符合輸入大小。

[out] pNewPatchLocationList

OpenGL ICD 在其下一次呼叫 D3DKMTRender 函式時,所接收的 D3DDDI_PATCHLOCATIONLIST 結構數位,做為修補程式位置清單。 不論呼叫是否成功,驅動程式都必須在呼叫 D3DKMTRender 之後,一律更新其修補程式位置清單的指標。

[in/out] NewPatchLocationListSize

如果 ResizePatchLocationList 位欄位旗標是在 Flags 成員中指定 OpenGL ICD 要求下一個修補位置清單的項目數。 如果未指定 resizePatchLocationList ,則會忽略 NewPatchLocationListSize 中的值 。 在輸出中,驅動程式會在提交下一個命令緩衝區時,接收修補位置陣列中可用的元素數目。

根據目前的記憶體狀況,輸出大小可能不符合輸入大小。

[in] Flags

D3DKMT_RENDERFLAGS 結構,表示要轉譯之位字段旗標的命令緩衝區類型。

[in] PresentHistoryToken

重新導向呼叫顯示迷你埠驅動程式 DxgkDdiPresent 函式的目前歷程記錄令牌。

目前的歷程記錄令牌 是轉譯應用程式送出的數據封包,以通知桌面視窗管理員 (DWM) 轉譯已完成,且交換鏈結返回緩衝區已準備好呈現。

[in] BroadcastContextCount

BroadcastContext 指定之陣列中的其他內容數目。

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

D3DKMT_HANDLE數據類型的陣列,代表將目前命令緩衝區廣播至之其他內容的核心模式句柄。 定義為 64 的D3DDDI_MAX_BROADCAST_CONTEXT常數會定義 OpenGL ICD 可以廣播目前命令緩衝區的內容數目上限。

hContext 成員指定且擁有命令緩衝區的原始內容不是 BroadcastContext 陣列中的元素。 例如,如果 BroadcastContext 陣列包含一個元素,OpenGL ICD 會將命令緩衝區傳送至擁有的內容(hContext),並廣播至該另一個內容。

[out] QueuedBufferCount

已排入佇列至 hContext 成員在提交之後所指定之內容的 DMA 緩衝區數目。

[out] NewCommandBuffer

OpenGL ICD 在其下一次呼叫 D3DKMTRender 函式時所收到的命令緩衝區指標。 不論呼叫是否成功,驅動程式都必須在呼叫 D3DKMTRender 之後,一律更新其命令緩衝區的指標。

Windows 7 和更新版本支援:

[in]如果在 Flags 成員中設定 RenderKm 旗標,則為要轉譯之命令緩衝區的指標。

pPrivateDriverData

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

此成員從 Windows 7 開始提供。

PrivateDriverDataSize

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

此成員從 Windows 7 開始提供。

要求

要求 價值
最低支援的用戶端 Windows Vista
標頭 d3dkmthk.h (包括 D3dkmthk.h)

另請參閱

D3DKMTRender

D3DKMT_RENDERFLAGS

DxgkDdiPresent