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 ビット 値 メンバー (0x00000001) の最初のビットを設定することと同じです。
Discard
ロックされたリソース全体を変更するかどうかを指定する UINT 値。 この値が設定されている場合、既存の内容を破棄できるため、内容は事前処理を必要としません。
このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。
RangeValid
ロックされたリソースが線形であるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。
AreaValid
ロックされたリソースがサーフェスであるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。
BoxValid
ロックされたリソースがボリュームであるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。
NoExistingReferences
Microsoft Direct3D ランタイムに、ロックするリソースへのキューに登録された参照があるかどうかを指定する UINT 値。 NoExistingReferences が設定されている場合、ドライバーは、リソースへの内部的にキューに登録された参照が使用できないと判断します。 ドライバーは、ロック破棄操作を実行する pfnLockCb 関数を呼び出すときに、D3DDDICB_LOCK構造体の NoExistingReferences ビット フィールド フラグを設定できます。
このメンバーの設定は、32 ビット Value メンバー (0x00000020) の 6 番目のビットを設定することと同じです。
NotifyOnly
ロック呼び出しが通知専用かどうかを示す UINT 値。 Direct3D ランタイムは、ランタイムによって割り当てられたシステム メモリ サーフェスをロックするときに NotifyOnlyを TRUE に設定します。 この状況では、ランタイムは、ドライバーがD3DDDIARG_LOCKASYNC構造体の pSurfData メンバーで返すポインターを無視します。
このメンバーの設定は、32 ビット Value メンバー (0x00000040) の 7 番目のビットを設定することと同じです。
Reserved
このメンバーは予約済みであり、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 25 ビット (0xFFFFFF80) を ゼロに設定することと同じです。
Value
リソースをロックする方法を識別する 1 つの 32 ビット値を保持できる、D3DDDI_LOCKASYNCFLAGSに含まれる共用体内のメンバー。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
Header | d3dumddi.h (D3dumddi.h を含む) |