D3DDDI_LOCKASYNCFLAGS結構 (d3dumddi.h)
D3DDDI_LOCKASYNCFLAGS 結構會識別如何鎖定資源。
語法
typedef struct _D3DDDI_LOCKASYNCFLAGS {
union {
struct {
UINT NoOverwrite : 1;
UINT Discard : 1;
UINT RangeValid : 1;
UINT AreaValid : 1;
UINT BoxValid : 1;
UINT NoExistingReferences : 1;
UINT NotifyOnly : 1;
UINT Reserved : 25;
};
UINT Value;
};
} D3DDDI_LOCKASYNCFLAGS;
成員
NoOverwrite
UINT 值,指定鎖定的資源是否可以附加至該資源,但無法修改資源中的現有數據。 此成員只會與 Microsoft Direct3D 頂點緩衝區鎖定搭配使用。
設定這個成員相當於設定 32 位 Value 成員的第一個位 (0x00000001)。
Discard
UINT 值,指定是否已修改整個鎖定的資源。 如果設定這個值,因為可以捨棄現有的內容,所以內容不需要初步處理。
設定此成員相當於設定 32 位 Value 成員的第二個位 (0x00000002)。
RangeValid
UINT 值,指定鎖定的資源是否為線性。
設定此成員相當於設定 32 位 Value 成員的第三位 (0x00000004)。
AreaValid
UINT 值,指定鎖定的資源是否為表面。
設定這個成員相當於設定 32 位 Value 成員的第四位 (0x00000008)。
BoxValid
UINT 值,指定鎖定的資源是否為磁碟區。
設定這個成員相當於設定 32 位 Value 成員的第五位 (0x00000010)。
NoExistingReferences
UINT 值,指定 Microsoft Direct3D 運行時間是否有要鎖定之資源的任何佇列參考。 如果設定 NoExistingReferences,驅動程式會判斷沒有可用的資源內部佇列參考。 然後,當驅動程式呼叫 pfnLockCb 函式來執行鎖定捨棄作業時,驅動程式就可以設定 D3DDDICB_LOCK 結構的 NoExistingReferences 位字段旗標。
設定這個成員相當於設定 32 位 Value 成員的第六位 (0x00000020)。
NotifyOnly
UINT 值,指定鎖定呼叫是否僅供通知使用。 Direct3D 執行 時間會在鎖定運行時間配置的系統記憶體介面時,將 NotifyOnly 設定為 TRUE。 在此情況下,運行時間會忽略驅動程式在 pSurfData 中傳回的指標,D3DDDIARG_LOCKASYNC 結構的成員。
設定此成員相當於設定 32 位 Value 成員的第七位 (0x00000040)。
Reserved
這個成員是保留的,而且應該設定為零。 將此成員設定為零相當於將 32 位 值 成員的剩餘 25 位 (0xFFFFFF80) 設定為零。
Value
包含在D3DDDI_LOCKASYNCFLAGS中的成員,可以保存一個32位值,以識別如何鎖定資源。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |