MsiDatabaseOpenViewW 関数 (msiquery.h)

MsiDatabaseOpenView 関数は、データベース クエリを準備し、ビュー オブジェクトを作成します。 この関数は、 MsiCloseHandle を使用して閉じる必要があるハンドルを返します。

構文

UINT MsiDatabaseOpenViewW(
  [in]  MSIHANDLE hDatabase,
  [in]  LPCWSTR   szQuery,
  [out] MSIHANDLE *phView
);

パラメーター

[in] hDatabase

ビュー オブジェクトを開くデータベースを処理します。 データベース ハンドルの取得に関するページの説明に従って 、ハンドルを取得できます。

[in] szQuery

データベースに対してクエリを実行するための SQL クエリ文字列を指定します。 正しい構文については、「 SQL 構文」を参照してください。

[out] phView

返されたビューのハンドルへのポインター。

戻り値

MsiDatabaseOpenView 関数は、次のいずれかの値を返します。

注釈

MsiDatabaseOpenView 関数は、データベースのビュー オブジェクトを開きます。 実行またはフェッチを実行する前に、データベースのビュー オブジェクトを開く必要があります。

エラーが発生した場合は、 MsiGetLastErrorRecord を呼び出して詳細を確認できます。

PMSIHANDLE 型の変数は、インストーラーがスコープ外に出ると PMSIHANDLE オブジェクトを閉じるのに対し、 MsiCloseHandle を呼び出して MSIHANDLE オブジェクトを閉じる必要があるため、PMSIHANDLE 型の変数を使用することをお勧めします。 詳細については、「Windows インストーラーのベスト プラクティス」の「HANDLE の代わりに PMSIHANDLE を使用する」セクションを参照してください。

関数が失敗した場合は、 MsiGetLastErrorRecord を使用して拡張エラー情報を取得できます。

注意

msiquery.h ヘッダーは、MSIDatabaseOpenView をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント 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

こちらもご覧ください

一般的なデータベース アクセス関数