リターン コード

最も基本的なレベルでは、メンバー関数は成功するか失敗するかのどちらかです。 それよりもやや詳細なレベルでは、関数は成功しても、その成功はアプリケーション開発者が意図した状態ではない場合があります。

OLE DB のリターン コードに関する詳細については、「リターン コード (OLE DB)」を参照してください。

SQL Server Native Client OLE DB プロバイダーのメンバー関数が S_OK を返したときは、その関数は成功しています。

SQL Server Native Client OLE DB プロバイダーのメンバー関数が S_OK を返さない場合は、OLE/COM HRESULT をアンパックする FAILED マクロと IS_ERROR マクロにより、関数全体が成功したか失敗したかを判断できます。

FAILED または IS_ERROR が TRUE を返した場合、SQL Server Native Client OLE DB プロバイダーのコンシューマーは、メンバー関数の実行が失敗したことを確認できます。 FAILED または IS_ERROR が FALSE を返し、HRESULT が S_OK ではない場合、SQL Server Native Client OLE DB プロバイダーのコンシューマーは、部分的に関数が成功していることを確認できます。 コンシューマーは、SQL Server Native Client OLE DB プロバイダーのエラー インターフェイスから返される、関数の成功に関する詳細情報を取得できます。 また、関数が明らかに失敗している (FAILED マクロが TRUE を返した) 場合、SQL Server Native Client OLE DB プロバイダーのエラー インターフェイスから拡張エラー情報を取得できます。

SQL Server Native Client OLE DB プロバイダーのコンシューマーは、HRESULT から返される、DB_S_ERRORSOCCURRED により成功が示される情報を取得する場合があります。 通常、DB_S_ERRORSOCCURRED を返すメンバー関数では、コンシューマーに状態値を提供するパラメーターが 1 つ以上定義されています。 コンシューマーは状態値パラメーターに返される情報以外のエラー情報を取得できない場合があるので、状態値が提供された場合にこの値を取得できるアプリケーション ロジックを実装することをお勧めします。

SQL Server Native Client OLE DB プロバイダーのメンバー関数は、成功コード S_FALSE を返しません。 SQL Server Native Client OLE DB プロバイダーのメンバー関数は、成功を示す場合、常に S_OK を返します。

関連項目

概念

エラー