共用方式為


DXGKARG_RENDER結構(d3dkmddi.h)

DXGKARG_RENDER 結構描述從命令緩衝區產生直接記憶體存取 (DMA) 緩衝區的成員。

語法

typedef struct _DXGKARG_RENDER {
  [in]     const VOID               *pCommand;
  [in]     UINT                     CommandLength;
  [out]    VOID                     *pDmaBuffer;
  [in]     UINT                     DmaSize;
  [in]     VOID                     *pDmaBufferPrivateData;
  [in]     UINT                     DmaBufferPrivateDataSize;
  [in]     DXGK_ALLOCATIONLIST      *pAllocationList;
  [in]     UINT                     AllocationListSize;
  [in]     D3DDDI_PATCHLOCATIONLIST *pPatchLocationListIn;
  [in]     UINT                     PatchLocationListInSize;
  [in/out] D3DDDI_PATCHLOCATIONLIST *pPatchLocationListOut;
  [in]     UINT                     PatchLocationListOutSize;
  [in/out] UINT                     MultipassOffset;
  [in]     UINT                     DmaBufferSegmentId;
  [in]     PHYSICAL_ADDRESS         DmaBufferPhysicalAddress;
} DXGKARG_RENDER;

成員

[in] pCommand

命令緩衝區開頭的指標。

注意呼叫 DxgkDdiRender 時,顯示迷你埠驅動程式必須驗證緩衝區。 如需驅動程式應如何存取此成員的重要資訊,請參閱 DxgkDdiRender 中的備註。
 

[in] CommandLength

pCommand 指向的命令緩衝區大小,以位元組為單位。

[out] pDmaBuffer

DMA 緩衝區開頭的指標,其對齊 4 KB。 此緩衝區可以透過 DMA 傳送至圖形硬體。 在顯示迷你埠驅動程式從 DxgkDdiRenderDxgkDdiRenderKm 函式傳回之前,驅動程式應該將 pDmaBuffer 設定為驅動程式寫入的最後一個字節之後的下一個空白位元組,否則驅動程式應該指向位置(緩衝區空間以外的一個字節),如果沒有更多空間可用。 如果緩衝區夠大,這個位置就會正確。

[in] DmaSize

pDmaBuffer 指向的 DMA 緩衝區大小,以位元組為單位。

[in] pDmaBufferPrivateData

驅動程式駐地私用數據結構的指標,用於產生 pDmaBuffer 指向的 DMA 緩衝區。

[in] DmaBufferPrivateDataSize

保留在私用數據結構中的位元元組數目,pDmaBufferPrivateData 指向目前作業。

[in] pAllocationList

DMA 緩衝區所參考配置清單之 DXGK_ALLOCATIONLIST 結構的數位。 每個參考的配置都應該出現一次,以獲得最佳效能。

[in] AllocationListSize

陣列中可用的元素數目,pAllocationList 所指定,代表要透過 DMA 傳送至圖形硬體的配置規格數目。

[in] pPatchLocationListIn

使用者模式顯示驅動程式在 呼叫 pfnRenderCb 函式時所提供之修補程式位置清單的 D3DDDI_PATCHLOCATIONLIST 結構數位。

注意呼叫 DxgkDdiRender 時,顯示迷你埠驅動程式必須驗證緩衝區。 如需驅動程式應如何存取此成員的重要資訊,請參閱 DxgkDdiRender 中的備註。
 

[in] PatchLocationListInSize

pPatchLocationListIn 指定之修補程式位置清單中的元素數目。

[in/out] pPatchLocationListOut

顯示迷你埠驅動程式填入之修補程式位置清單的 D3DDDI_PATCHLOCATIONLIST 結構陣列。 在驅動程式從呼叫其 DxgkDdiRenderDxgkDdiRenderKm 函式傳回之前,驅動程式必須將 pPatchLocationListOut 設定為驅動程式更新的最後一個 D3DDDI_PATCHLOCATIONLIST 元素之後的下一個 D3DDDI_PATCHLOCATIONLIST 元素。

[in] PatchLocationListOutSize

pPatchLocationListOut 指定之修補程式位置清單中的元素數目。 顯示迷你埠驅動程式不需要填滿整個清單中的所有元素;驅動程式只能使用描述 DMA 緩衝區內修補位置所需的元素。

[in/out] MultipassOffset

如果顯示迷你埠驅動程式的 DxgkDdiRenderDxgkDdiRenderKm 函式必須傳回 STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER,才能取得新的 DMA 緩衝區,則為 UINT 值,指定轉譯作業的進度。 當驅動程式的 DxgkDdiRenderDxgkDdiRenderKm 函式第一次使用新的命令緩衝區呼叫時,MultipassOffset 初始化為零。 在驅動程式從 DxgkDdiRenderDxgkDdiRenderKm 呼叫傳回之前,驅動程式會設定此成員,以顯示後續 DxgkDdiRenderDxgkDdiRenderKm 呼叫相同的命令緩衝區。 DirectX 圖形核心子系統不會進一步變更值。

[in] DmaBufferSegmentId

DMA 緩衝區分頁的記憶體區段標識碼。 如果標識符為零,DMA 緩衝區就不會正確分頁。

[in] DmaBufferPhysicalAddress

PHYSICAL_ADDRESS 數據類型(定義為 LARGE_INTEGER),表示 DMA 緩衝區分頁所在的實體位址。 如果實體位址為零,DMA 緩衝區就不會正確分頁。

言論

DxgkDdiRenderKm 函式的支援會從 Windows 7 開始新增,以支援 GDI 硬體加速的顯示器適配卡。

要求

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

另請參閱

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiRender

DxgkDdiRenderKm

pfnRenderCb