Win32 API 日本語リファレンス
ホームGraphics.Direct3D10 › ID3D10EffectVariable

ID3D10EffectVariable

COM
IIDae897105-00e6-45bf-bb8e-281dd6db8e1b自前メソッド開始 vtbl0

公式ドキュメント

ID3D10EffectVariable インターフェイスは、すべてのエフェクト変数の基底クラスです。

メソッド 25

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 0 BOOL IsValid()

データ型を、格納されているデータと比較します。

戻り値

型: BOOL

構文が有効な場合は TRUE、それ以外の場合は FALSE を返します。

解説(Remarks)

このメソッドは、あるインターフェイスを別のインターフェイスにキャストした後(いずれかの As メソッドを使用)に、データ型が格納されているデータと一致するかどうかを確認します。

vtbl 1 ID3D10EffectType* GetType()

型情報を取得します。

戻り値

型: ID3D10EffectType*

ID3D10EffectType インターフェイスへのポインター。

vtbl 2 HRESULT GetDesc(D3D10_EFFECT_VARIABLE_DESC* pDesc)

説明を取得します。

pDescD3D10_EFFECT_VARIABLE_DESC*outエフェクト変数の説明へのポインター(D3D10_EFFECT_VARIABLE_DESC を参照)。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

vtbl 3 ID3D10EffectVariable* GetAnnotationByIndex(DWORD Index)

ID3D10EffectVariable::GetAnnotationByIndex (d3d10effect.h) メソッドは、注釈(アノテーション)をインデックスで取得します。

IndexDWORDin0 から始まるインデックス。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイスへのポインター。

解説(Remarks)

注釈は、テクニック、パス、またはグローバル変数に付加できます。構文については、注釈の構文 (Direct3D 10)を参照してください。

vtbl 4 ID3D10EffectVariable* GetAnnotationByName(LPSTR Name)

注釈(アノテーション)を名前で取得します。(ID3D10EffectVariable.GetAnnotationByName)

NameLPSTRin注釈の名前。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイスへのポインター。注釈が見つからない場合、返される ID3D10EffectVariable インターフェイスは空になることに注意してください。注釈が見つかったかどうかを判断するには、ID3D10EffectVariable::IsValid メソッドを呼び出す必要があります。

解説(Remarks)

注釈は、テクニック、パス、またはグローバル変数に付加できます。構文については、注釈の構文 (Direct3D 10)を参照してください。

vtbl 5 ID3D10EffectVariable* GetMemberByIndex(DWORD Index)

構造体のメンバーをインデックスで取得します。

IndexDWORDin0 から始まるインデックス。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイスへのポインター。

解説(Remarks)

エフェクト変数が構造体である場合、このメソッドを使用してメンバーをインデックスで検索します。

vtbl 6 ID3D10EffectVariable* GetMemberByName(LPSTR Name)

構造体のメンバーを名前で取得します。

NameLPSTRinメンバー名。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイスへのポインター。

解説(Remarks)

エフェクト変数が構造体である場合、このメソッドを使用してメンバーを名前で検索します。

vtbl 7 ID3D10EffectVariable* GetMemberBySemantic(LPSTR Semantic)

構造体のメンバーをセマンティクスで取得します。

SemanticLPSTRinセマンティクス。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイスへのポインター。

解説(Remarks)

エフェクト変数が構造体である場合、このメソッドを使用してメンバーを付加されたセマンティクスで検索します。

vtbl 8 ID3D10EffectVariable* GetElement(DWORD Index)

配列要素を取得します。

IndexDWORDin0 から始まるインデックス。それ以外の場合は 0。

戻り値

型: ID3D10EffectVariable*

ID3D10EffectVariable インターフェイスへのポインター。

解説(Remarks)

エフェクト変数が配列である場合、このメソッドを使用して要素の 1 つを返します。

vtbl 9 ID3D10EffectConstantBuffer* GetParentConstantBuffer()

定数バッファーを取得します。(ID3D10EffectVariable.GetParentConstantBuffer)

戻り値

型: ID3D10EffectConstantBuffer*

ID3D10EffectConstantBuffer インターフェイスへのポインター。

解説(Remarks)

エフェクト変数は、定数バッファーから読み取られる、または定数バッファーへ書き込まれます。

vtbl 10 ID3D10EffectScalarVariable* AsScalar()

スカラー変数を取得します。

戻り値

型: ID3D10EffectScalarVariable*

スカラー変数へのポインター。ID3D10EffectScalarVariable を参照してください。

解説(Remarks)

AsScalar は、スカラー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がスカラーデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 11 ID3D10EffectVectorVariable* AsVector()

ベクトル変数を取得します。

戻り値

型: ID3D10EffectVectorVariable*

ベクトル変数へのポインター。ID3D10EffectVectorVariable を参照してください。

解説(Remarks)

AsVector は、ベクトル変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がベクトルデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 12 ID3D10EffectMatrixVariable* AsMatrix()

行列変数を取得します。

戻り値

型: ID3D10EffectMatrixVariable*

行列変数へのポインター。ID3D10EffectMatrixVariable を参照してください。

解説(Remarks)

AsMatrix は、行列変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が行列データを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 13 ID3D10EffectStringVariable* AsString()

文字列変数を取得します。

戻り値

型: ID3D10EffectStringVariable*

文字列変数へのポインター。ID3D10EffectStringVariable を参照してください。

解説(Remarks)

AsString は、文字列変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が文字列データを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 14 ID3D10EffectShaderResourceVariable* AsShaderResource()

シェーダーリソース変数を取得します。

戻り値

型: ID3D10EffectShaderResourceVariable*

シェーダーリソース変数へのポインター。ID3D10EffectShaderResourceVariable を参照してください。

解説(Remarks)

AsShaderResource は、シェーダーリソース変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がシェーダーリソースデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 15 ID3D10EffectRenderTargetViewVariable* AsRenderTargetView()

レンダーターゲットビュー変数を取得します。

戻り値

型: ID3D10EffectRenderTargetViewVariable*

レンダーターゲットビュー変数へのポインター。ID3D10EffectRenderTargetViewVariable インターフェイスを参照してください。

解説(Remarks)

このメソッドは、レンダーターゲットビュー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がレンダーターゲットビューデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 16 ID3D10EffectDepthStencilViewVariable* AsDepthStencilView()

深度ステンシルビュー変数を取得します。

戻り値

型: ID3D10EffectDepthStencilViewVariable*

深度ステンシルビュー変数へのポインター。ID3D10EffectDepthStencilViewVariable インターフェイスを参照してください。

解説(Remarks)

このメソッドは、深度ステンシルビュー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が深度ステンシルビューデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 17 ID3D10EffectConstantBuffer* AsConstantBuffer()

定数バッファーを取得します。(ID3D10EffectVariable.AsConstantBuffer)

戻り値

型: ID3D10EffectConstantBuffer*

定数バッファーへのポインター。ID3D10EffectConstantBuffer を参照してください。

解説(Remarks)

AsConstantBuffer は、定数バッファーに特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が定数バッファーデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 18 ID3D10EffectShaderVariable* AsShader()

シェーダー変数を取得します。

戻り値

型: ID3D10EffectShaderVariable*

シェーダー変数へのポインター。ID3D10EffectShaderVariable を参照してください。

解説(Remarks)

AsShader は、シェーダー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がシェーダーデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 19 ID3D10EffectBlendVariable* AsBlend()

エフェクトブレンド変数を取得します。

戻り値

型: ID3D10EffectBlendVariable*

エフェクトブレンド変数へのポインター。ID3D10EffectBlendVariable を参照してください。

解説(Remarks)

AsBlend は、エフェクトブレンド変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がエフェクトブレンドデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 20 ID3D10EffectDepthStencilVariable* AsDepthStencil()

深度ステンシル変数を取得します。

戻り値

型: ID3D10EffectDepthStencilVariable*

深度ステンシル変数へのポインター。ID3D10EffectDepthStencilVariable を参照してください。

解説(Remarks)

AsDepthStencil は、深度ステンシル変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数が深度ステンシルデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 21 ID3D10EffectRasterizerVariable* AsRasterizer()

ラスタライザー変数を取得します。

戻り値

型: ID3D10EffectRasterizerVariable*

ラスタライザー変数へのポインター。ID3D10EffectRasterizerVariable を参照してください。

解説(Remarks)

AsRasterizer は、ラスタライザー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がラスタライザーデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 22 ID3D10EffectSamplerVariable* AsSampler()

サンプラー変数を取得します。

戻り値

型: ID3D10EffectSamplerVariable*

サンプラー変数へのポインター。ID3D10EffectSamplerVariable を参照してください。

解説(Remarks)

AsSampler は、サンプラー変数に特殊化されたエフェクト変数を返します。キャストと同様に、この特殊化は、エフェクト変数がサンプラーデータを含まない場合に無効なオブジェクトを返します。

アプリケーションは、IsValid を呼び出すことで、返されたオブジェクトの有効性をテストできます。

vtbl 23 HRESULT SetRawValue(void* pData, DWORD Offset, DWORD ByteCount)

データを設定します。

pDatavoid*in変数へのポインター。
OffsetDWORDinポインターの先頭からデータまでのオフセット(バイト単位)。
ByteCountDWORDin設定するバイト数。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドは変換や型チェックを一切行いません。そのため、配列項目にアクセスする非常に高速な方法です。

vtbl 24 HRESULT GetRawValue(void* pData, DWORD Offset, DWORD ByteCount)

データを取得します。

pDatavoid*out変数へのポインター。
OffsetDWORDinポインターの先頭からデータまでのオフセット(バイト単位)。
ByteCountDWORDin取得するバイト数。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドは変換や型チェックを一切行いません。そのため、配列項目にアクセスする非常に高速な方法です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ID3D10EffectVariable "{AE897105-00E6-45BF-BB8E-281DD6DB8E1B}"
#usecom global ID3D10EffectVariable IID_ID3D10EffectVariable "{}"
#comfunc global ID3D10EffectVariable_IsValid                  0
#comfunc global ID3D10EffectVariable_GetType                  1
#comfunc global ID3D10EffectVariable_GetDesc                  2 var
#comfunc global ID3D10EffectVariable_GetAnnotationByIndex     3 int
#comfunc global ID3D10EffectVariable_GetAnnotationByName      4 str
#comfunc global ID3D10EffectVariable_GetMemberByIndex         5 int
#comfunc global ID3D10EffectVariable_GetMemberByName          6 str
#comfunc global ID3D10EffectVariable_GetMemberBySemantic      7 str
#comfunc global ID3D10EffectVariable_GetElement               8 int
#comfunc global ID3D10EffectVariable_GetParentConstantBuffer  9
#comfunc global ID3D10EffectVariable_AsScalar                 10
#comfunc global ID3D10EffectVariable_AsVector                 11
#comfunc global ID3D10EffectVariable_AsMatrix                 12
#comfunc global ID3D10EffectVariable_AsString                 13
#comfunc global ID3D10EffectVariable_AsShaderResource         14
#comfunc global ID3D10EffectVariable_AsRenderTargetView       15
#comfunc global ID3D10EffectVariable_AsDepthStencilView       16
#comfunc global ID3D10EffectVariable_AsConstantBuffer         17
#comfunc global ID3D10EffectVariable_AsShader                 18
#comfunc global ID3D10EffectVariable_AsBlend                  19
#comfunc global ID3D10EffectVariable_AsDepthStencil           20
#comfunc global ID3D10EffectVariable_AsRasterizer             21
#comfunc global ID3D10EffectVariable_AsSampler                22
#comfunc global ID3D10EffectVariable_SetRawValue              23 sptr,int,int
#comfunc global ID3D10EffectVariable_GetRawValue              24 sptr,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。