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) の 2 番目のビットを設定することと同じです。
RangeValid
ロックされたリソースが線形であるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。
AreaValid
ロックされたリソースがサーフェスであるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。
BoxValid
ロックされたリソースがボリュームであるかどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。
NoExistingReferences
Microsoft Direct3D ランタイムに、ロックするリソースへのキューに登録された参照があるかどうかを示す UINT 値。 NoExistingReferences が設定されている場合、ドライバーは、リソースへの内部的にキューに登録された参照が使用できないと判断します。 その後、ドライバーは、D3DDDICB_LOCK 構造体のビット フィールド フラグ noExistingReferences を設定できます。これは、pfnLockCb 関数を呼び出してロック破棄操作を実行する場合です。
このメンバーの設定は、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 オペレーティング システムで使用できます。 |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |