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 介面) 。 此參數可以是 Null

pProfile [in]

類型: LPCSTR

指定 著色器設定檔或著色器模型的字串。

HLSLFlags [in]

類型: UINT

HLSL 編譯選項 (請參閱 D3D10_SHADER常數) 。

FXFlags [in]

類型: UINT

效果編譯選項 (請參閱 編譯和效果旗標) 。

pDevice [in]

類型: ID3D10Device*

裝置指標 (請參閱將使用資源的 ID3D10Device 介面) 。

pPump [in]

類型: ID3DX10ThreadPump*

執行緒幫浦介面的指標 (請參閱 ID3DX10ThreadPump 介面) 。 使用 Null 指定此函式在完成之前不應傳回。

ppEffectPool [out]

類型: ID3D10EffectPool**

效果集區的指標位址 (請參閱 ID3D10EffectPool 介面) 。

ppErrors [out]

類型: ID3D10Blob**

記憶體指標的位址 (如果有任何,請參閱 ID3D10Blob 介面) ,其中包含效果編譯錯誤。

pHResult [out]

類型: HRESULT*

傳回值的指標。 可能是 Null。 如果 pPump 不是 Null,則 pHResult 必須是有效的記憶體位置,直到非同步執行完成為止。

傳回值

類型: HRESULT

傳回值是 Direct3D 10 傳回碼中列出的其中一個值。

備註

此範例會從 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

另請參閱

常規用途函式