次の方法で共有


D3DX10CreateEffectPoolFromFile 関数

効果ファイルから効果プールを作成します。

構文

HRESULT D3DX10CreateEffectPoolFromFile(
  _In_        LPCTSTR            pFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        ID3D10Include      *pInclude,
  _In_        LPCSTR             pProfile,
  _In_        UINT               HLSLFlags,
  _In_        UINT               FXFlags,
  _In_        ID3D10Device       *pDevice,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10EffectPool   **ppEffectPool,
  _Out_       ID3D10Blob         **ppErrors,
  _Out_       HRESULT            *pHResult
);

パラメーター

pFileName [in]

種類: LPCTSTR

効果ファイル名。 コンパイラ設定で Unicode が必要な場合、データ型 LPCTSTR は LPCWSTR に解決されます。 それ以外の場合、データ型は LPCSTR に解決されます。

pDefines [in]

型: const D3D_SHADER_MACRO*

シェーダー マクロの NULL で終わる配列 ( D3D_SHADER_MACROを参照)。マクロを指定しない場合は、 これを NULL に設定します。

pInclude [in]

種類: ID3D10Include*

インクルード インターフェイスへのポインター ( 「ID3D10Include Interface」を参照)。 このパラメーターは、NULL でもかまいません。

pProfile [in]

種類: LPCSTR

シェーダー プロファイルまたはシェーダー モデルを指定する文字列。

HLSLFlags [in]

型: UINT

HLSL コンパイル オプション ( 「定数のD3D10_SHADER」を参照)。

FXFlags [in]

型: UINT

効果のコンパイル オプション ( 「コンパイルフラグと効果フラグ」を参照)。

pDevice [in]

種類: ID3D10Device*

リソースを使用するデバイスへのポインター ( 「ID3D10Device Interface」を参照)。

pPump [in]

種類: ID3DX10ThreadPump*

スレッド ポンプ インターフェイスへのポインター ( 「ID3DX10ThreadPump インターフェイス」を参照)。 この関数が完了するまでこの関数が返されないように指定するには 、NULL を 使用します。

ppEffectPool [out]

種類: ID3D10EffectPool**

効果プールへのポインターのアドレス ( 「ID3D10EffectPool インターフェイス」を参照)。

ppErrors [out]

種類: ID3D10Blob**

効果コンパイル エラーがある場合は、メモリへのポインターのアドレス ( 「ID3D10Blob インターフェイス」を参照)。

pHResult [out]

型: HRESULT*

戻り値へのポインター。 NULL を指定できます。 pPumpNULL でない場合、pHResult は非同期実行が完了するまで有効なメモリの場所である必要があります。

戻り値

型: HRESULT

戻り値は、「 Direct3D 10 リターン コード」に記載されている値の 1 つです。

解説

この例では、 BasicHLSL10 サンプルで使用される効果から効果プールを作成します。

   
// Create an effect pool from an effect in memory
ID3D10EffectPool * l_pEffectPool = NULL;
ID3D10Blob* l_pBlob_Errors = NULL;
WCHAR str[MAX_PATH];
hr = DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"BasicHLSL10.fx" );
hr = D3DX10CreateEffectPoolFromFile( str, 
    NULL, NULL, D3D10_SHADER_ENABLE_STRICTNESS, 
    0, pd3dDevice, NULL, &l_pEffectPool,
    &l_pBlob_Errors );

必要条件

要件
ヘッダー
D3DX10Async.h

関連項目

General Purpose関数