共用方式為


PFND3DDDI_BLT回呼函式 (d3dumddi.h)

Blt 函式會將來源介面的內容複製到目的地介面。

語法

PFND3DDDI_BLT Pfnd3dddiBlt;

HRESULT Pfnd3dddiBlt(
  HANDLE hDevice,
  const D3DDDIARG_BLT *unnamedParam2
)
{...}

參數

hDevice

顯示裝置的句柄(圖形內容)。

unnamedParam2

pData [in]

描述位區塊傳輸 (bitblt) 參數之 D3DDDIARG_BLT 結構的指標。

傳回值

Blt 會傳回下列其中一個值:

傳回碼 描述
S_OK 已成功執行資源的 bitblt。
E_OUTOFMEMORY Blt 無法設定所需的記憶體,使其完成。

言論

Microsoft Direct3D 運行時間會呼叫使用者模式顯示驅動程式的 Blt 函式,將來源介面的內容複製到目的地介面。 將介面參考對應至配置參考之後,使用者模式顯示驅動程式應該會發出適當的硬體命令。 如果來源或目的地配置位於系統記憶體中,則如果未完成的硬體命令數據流包含系統記憶體配置的參考,可能需要使用者模式顯示驅動程式來同步處理 (也就是呼叫 pfnRenderCb 函式)。 如果來源和目的地配置都在系統記憶體中,驅動程式應該視需要同步處理,但不應該複製來源介面的內容。 Direct3D 運行時間會在呼叫 pfnRenderCb 傳回之後複製內容。

使用者模式顯示驅動程式必須處理在複製作業期間可能發生的下列情況:

  • 目的地和來源介面是相同資源的一部分(亦即,hSrcResourcehDstResource 成員 D3DDDIARG_BLT 指定相同資源的句柄)。
  • 來源和目的地矩形會重疊(也就是 SrcRectDstRectRE CT 結構D3DDDIARG_BLT重疊的成員座標)。
使用者模式顯示驅動程式必須處理視訊記憶體之間的所有 bitblt,包括從視訊記憶體到系統記憶體的 bitblt。 如果使用者模式顯示驅動程式無法使用圖形處理單元 (GPU) 從視訊記憶體發出位記憶體到系統記憶體,則使用者模式顯示驅動程式可以使用 CPU 複製數據。

使用者模式顯示驅動程序必須僅支援使用 Microsoft DirectX 8.0 之前引進的格式的色彩索引鍵。 對於 DirectX 8.0 和更新版本運行時間中引進的格式,不需要色彩索引鍵支援。

要執行的 bitblt 類型會透過 Flags 中所指定的位欄位旗標,D3DDDIARG_BLT的成員來表示。 視訊記憶體到視訊記憶體可以包含色彩索引鍵、延展、鏡像和線性到 sRGB 格式轉換。 系統記憶體到視訊記憶體可以包含延展和線性到 sRGB 格式轉換;不過,這些類型的 Bitblts 絕不會包含鏡像或色彩索引鍵。 所有視訊記憶體到系統記憶體位,而系統記憶體到系統記憶體位則只是直接複製;也就是說,這些類型的 bitblts 絕不會包含延展、鏡像、色彩索引鍵或線性到 sRGB 格式轉換。 如需 sRGB 格式的詳細資訊,請參閱 sRGB 網站。

如需轉換深度樣板值時,Blt 函式必須遵循的規則詳細資訊,請參閱 複製 Depth-Stencil 值

Direct3D 執行時間可以呼叫使用者模式顯示驅動程式的 Blt 函式,將任何來源介面類型的內容(例如,offscreen-plain 類型、轉譯目標類型或紋理類型)複製到任何其他目的地介面類型。

要求

要求 價值
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows作系統中使用。
目標平臺 桌面
標頭 d3dumddi.h (包括 D3dumddi.h)

另請參閱

D3DDDIARG_BLT

D3DDDI_DEVICEFUNCS

pfnRenderCb