PFND3DDDI_UNLOCKASYNC回呼函式 (d3dumddi.h)
UnlockAsync 函式會解除鎖定先前鎖定之 lockAsync 函式 資源內的資源或表面。
語法
PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;
HRESULT Pfnd3dddiUnlockasync(
HANDLE hDevice,
const D3DDDIARG_UNLOCKASYNC *unnamedParam2
)
{...}
參數
hDevice
顯示裝置的句柄(也就是圖形內容)。
unnamedParam2
pData [in]
D3DDDIARG_UNLOCKASYNC 結構的指標,描述要解除鎖定的資源或介面。
傳回值
UnlockAsync 會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
S_OK | 已成功解除鎖定資源。 |
E_OUTOFMEMORY | UnlockAsync 無法配置所需的記憶體,使其完成。 |
E_INVALIDARG | D3DDDIARG_UNLOCKASYNC 描述的資源未由先前呼叫驅動程式的 LockAsync 函式鎖定。 |
言論
在呼叫 UnlockAsync 函式之後,使用者模式顯示驅動程式應呼叫具有適當配置句柄的 pfnUnlockCb 函式。
使用者模式顯示驅動程式選擇性地實作 UnlockAsync;只有當驅動程式實作 LockAsync、UnlockAsync和 Rename 函式時,Microsoft Direct3D 運行時間才會呼叫 unlockAsync。
就像 LockAsync一樣,UnlockAsync 是在主要應用程式線程上呼叫,而大部分對使用者模式顯示驅動程式函式的呼叫是在背景工作線程上(在多處理器電腦上)。
如果使用者模式顯示驅動程式公開0x0000000B或更新版本的 DDI 版本(驅動程式會以重新進入方式呼叫驅動程式的 OpenAdapter 函式中,傳回 DriverVersionD3D10DDIARG_OPENADAPTER 成員 UnlockAsync。 當運行時間以重新進入的方式呼叫 UnlockAsync 時,一個線程可以在 UnlockAsync 內執行,而另一個參考相同顯示裝置的線程會在另一個使用者模式顯示驅動程式函式內執行。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
目標平臺 | 桌面 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |