MsiViewFetch 関数 (msiquery.h)
MsiViewFetch 関数は、ビューから次のシーケンシャル レコードをフェッチします。 この関数は、 MsiCloseHandle を使用して閉じる必要があるハンドルを返します。
構文
UINT MsiViewFetch(
[in] MSIHANDLE hView,
[out] MSIHANDLE *phRecord
);
パラメーター
[in] hView
フェッチ元のビューを処理します。
[out] phRecord
フェッチされたレコードのハンドルへのポインター。
戻り値
メモリ不足の状況では、この関数によってSTATUS_NO_MEMORY例外が発生する可能性があることに注意してください。
注釈
MsiViewFetch 関数がERROR_FUNCTION_FAILEDを返した場合、MsiViewExecute 関数が最初に呼び出されなかった可能性があります。 結果セットで使用できる行が増えた場合、 MsiViewFetch は、要求された列データを含むレコードへのハンドルとして phRecord を返すか、 phRecord が 0 になります。 パフォーマンスを最大限に高めるには、すべての取得に同じレコードを使用するか、スコープ外に出してレコードを解放する必要があります。
PMSIHANDLE 型の変数は、インストーラーがスコープ外に出ると PMSIHANDLE オブジェクトを閉じるのに対し、 MsiCloseHandle を呼び出して MSIHANDLE オブジェクトを閉じる必要があるため、PMSIHANDLE 型の変数を使用することをお勧めします。 詳細については、「Windows インストーラーのベスト プラクティス」の「HANDLE の代わりに PMSIHANDLE を使用する」セクションを参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー |
対象プラットフォーム | Windows |
ヘッダー | msiquery.h |
Library | Msi.lib |
[DLL] | Msi.dll |