Win32 API 日本語リファレンス
ホームGraphics.Direct3D.Dxc › IDxcPdbUtils2

IDxcPdbUtils2

COM
IID4315d938-f369-4f93-95a2-252017cc3807継承元IUnknown自前メソッド開始 vtbl3

メソッド 25

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

vtbl 3 HRESULT Load(IDxcBlob* pPdbOrDxil)
pPdbOrDxilIDxcBlob*in解析対象のPDBデータまたはデバッグ情報付きDXILを格納した入力Blob。
vtbl 4 HRESULT GetSourceCount(DWORD* pCount)
pCountDWORD*outPDBに含まれるソースファイルの総数を受け取るDWORDポインタ。
vtbl 5 HRESULT GetSource(DWORD uIndex, IDxcBlobEncoding** ppResult)
uIndexDWORDin取得するソースファイルを示すゼロ基点のインデックス。
ppResultIDxcBlobEncoding**out指定ソースファイルの内容をエンコーディング付きで受け取る出力Blob。
vtbl 6 HRESULT GetSourceName(DWORD uIndex, IDxcBlobUtf16** ppResult)
uIndexDWORDin取得するソースファイルを示すゼロ基点のインデックス。
ppResultIDxcBlobUtf16**outソースファイル名をUTF-16文字列Blobとして受け取る出力ポインタ。
vtbl 7 HRESULT GetLibraryPDBCount(DWORD* pCount)
pCountDWORD*inoutリンク元として含まれるライブラリPDBの総数を受け取るDWORDポインタ。
vtbl 8 HRESULT GetLibraryPDB(DWORD uIndex, IDxcPdbUtils2** ppOutPdbUtils, IDxcBlobUtf16** ppLibraryName)
uIndexDWORDin取得するライブラリPDBを示すゼロ基点のインデックス。
ppOutPdbUtilsIDxcPdbUtils2**out指定ライブラリPDBを操作するIDxcPdbUtils2を受け取る出力ポインタ。
ppLibraryNameIDxcBlobUtf16**outoptionalライブラリ名をUTF-16文字列Blobとして受け取る出力ポインタ。
vtbl 9 HRESULT GetFlagCount(DWORD* pCount)
pCountDWORD*outコンパイル時に使われたフラグの総数を受け取るDWORDポインタ。
vtbl 10 HRESULT GetFlag(DWORD uIndex, IDxcBlobUtf16** ppResult)
uIndexDWORDin取得するフラグを示すゼロ基点のインデックス。
ppResultIDxcBlobUtf16**out指定フラグをUTF-16文字列Blobとして受け取る出力ポインタ。
vtbl 11 HRESULT GetArgCount(DWORD* pCount)
pCountDWORD*outコンパイル時の引数の総数を受け取るDWORDポインタ。
vtbl 12 HRESULT GetArg(DWORD uIndex, IDxcBlobUtf16** ppResult)
uIndexDWORDin取得する引数を示すゼロ基点のインデックス。
ppResultIDxcBlobUtf16**out指定引数をUTF-16文字列Blobとして受け取る出力ポインタ。
vtbl 13 HRESULT GetArgPairCount(DWORD* pCount)
pCountDWORD*out名前と値の組で表される引数ペアの総数を受け取るDWORDポインタ。
vtbl 14 HRESULT GetArgPair(DWORD uIndex, IDxcBlobUtf16** ppName, IDxcBlobUtf16** ppValue)
uIndexDWORDin取得する引数ペアを示すゼロ基点のインデックス。
ppNameIDxcBlobUtf16**out引数ペアの名前部分をUTF-16文字列Blobとして受け取る出力ポインタ。
ppValueIDxcBlobUtf16**out引数ペアの値部分をUTF-16文字列Blobとして受け取る出力ポインタ。
vtbl 15 HRESULT GetDefineCount(DWORD* pCount)
pCountDWORD*outコンパイル時に指定されたマクロ定義の総数を受け取るDWORDポインタ。
vtbl 16 HRESULT GetDefine(DWORD uIndex, IDxcBlobUtf16** ppResult)
uIndexDWORDin取得するマクロ定義を示すゼロ基点のインデックス。
ppResultIDxcBlobUtf16**out指定マクロ定義をUTF-16文字列Blobとして受け取る出力ポインタ。
vtbl 17 HRESULT GetTargetProfile(IDxcBlobUtf16** ppResult)
ppResultIDxcBlobUtf16**outターゲットプロファイル文字列をUTF-16 Blobとして受け取る出力ポインタ。
vtbl 18 HRESULT GetEntryPoint(IDxcBlobUtf16** ppResult)
ppResultIDxcBlobUtf16**outエントリポイント関数名をUTF-16 Blobとして受け取る出力ポインタ。
vtbl 19 HRESULT GetMainFileName(IDxcBlobUtf16** ppResult)
ppResultIDxcBlobUtf16**out主ソースファイル名をUTF-16 Blobとして受け取る出力ポインタ。
vtbl 20 HRESULT GetHash(IDxcBlob** ppResult)
ppResultIDxcBlob**outシェーダーのハッシュ値を表すBlobを受け取る出力ポインタ。
vtbl 21 HRESULT GetName(IDxcBlobUtf16** ppResult)
ppResultIDxcBlobUtf16**outPDBの名前をUTF-16文字列Blobとして受け取る出力ポインタ。
vtbl 22 HRESULT GetVersionInfo(IDxcVersionInfo** ppVersionInfo)
ppVersionInfoIDxcVersionInfo**outPDB生成に使われたコンパイラのバージョン情報を受け取るIDxcVersionInfo。
vtbl 23 HRESULT GetCustomToolchainID(DWORD* pID)
pIDDWORD*outPDBに埋め込まれたカスタムツールチェーンの識別子を受け取るDWORDポインタ。
vtbl 24 HRESULT GetCustomToolchainData(IDxcBlob** ppBlob)
ppBlobIDxcBlob**outカスタムツールチェーンの付随データをBlobとして受け取る出力ポインタ。
vtbl 25 HRESULT GetWholeDxil(IDxcBlob** ppResult)
ppResultIDxcBlob**outPDB内に格納された完全なDXILコンテナをBlobとして受け取る出力ポインタ。
vtbl 26 BOOL IsFullPDB()
vtbl 27 BOOL IsPDBRef()

HSP用 COM定義

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

出力引数:
#define global IID_IDxcPdbUtils2 "{4315D938-F369-4F93-95A2-252017CC3807}"
#usecom global IDxcPdbUtils2 IID_IDxcPdbUtils2 "{}"
#comfunc global IDxcPdbUtils2_Load                    3 sptr
#comfunc global IDxcPdbUtils2_GetSourceCount          4 var
#comfunc global IDxcPdbUtils2_GetSource               5 int,sptr
#comfunc global IDxcPdbUtils2_GetSourceName           6 int,sptr
#comfunc global IDxcPdbUtils2_GetLibraryPDBCount      7 var
#comfunc global IDxcPdbUtils2_GetLibraryPDB           8 int,sptr,sptr
#comfunc global IDxcPdbUtils2_GetFlagCount            9 var
#comfunc global IDxcPdbUtils2_GetFlag                 10 int,sptr
#comfunc global IDxcPdbUtils2_GetArgCount             11 var
#comfunc global IDxcPdbUtils2_GetArg                  12 int,sptr
#comfunc global IDxcPdbUtils2_GetArgPairCount         13 var
#comfunc global IDxcPdbUtils2_GetArgPair              14 int,sptr,sptr
#comfunc global IDxcPdbUtils2_GetDefineCount          15 var
#comfunc global IDxcPdbUtils2_GetDefine               16 int,sptr
#comfunc global IDxcPdbUtils2_GetTargetProfile        17 sptr
#comfunc global IDxcPdbUtils2_GetEntryPoint           18 sptr
#comfunc global IDxcPdbUtils2_GetMainFileName         19 sptr
#comfunc global IDxcPdbUtils2_GetHash                 20 sptr
#comfunc global IDxcPdbUtils2_GetName                 21 sptr
#comfunc global IDxcPdbUtils2_GetVersionInfo          22 sptr
#comfunc global IDxcPdbUtils2_GetCustomToolchainID    23 var
#comfunc global IDxcPdbUtils2_GetCustomToolchainData  24 sptr
#comfunc global IDxcPdbUtils2_GetWholeDxil            25 sptr
#comfunc global IDxcPdbUtils2_IsFullPDB               26
#comfunc global IDxcPdbUtils2_IsPDBRef                27
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。