ISSCommandWithParameters::GetParameterProperties (OLE DB)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
SSPARAMPROPS プロパティ セット構造体の配列を返します。各 UDT または XML パラメーターごとに 1 つの SSPARAMPROPS プロパティ セットが返されます。
構文
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
引数
pcParams[out][in]
prgParamProperties に返された SSPARAMPROPS 構造体の数を保持するメモリへのポインター。
prgParamProperties[out]
SSPARAMPROPS 構造体の配列が返されるメモリへのポインター。 プロバイダーは、この構造体用のメモリを割り当て、このメモリのアドレスを返します。コンシューマーは、構造体が不要になった時点で、IMalloc::Free
を使用してこのメモリを解放します。 コンシューマーは、prgParamProperties に対して IMalloc::Free
を呼び出す前に、各 DBPROP 構造体の vValue プロパティに対して VariantClear
を呼び出す必要があります。これは、変数に参照型 (BSTR など) が含まれている場合にメモリ リークを防ぐためです。 pcParams の出力が 0 か、DB_E_ERRORSOCCURRED 以外のエラーが発生した場合は、プロバイダーはメモリの割り当てを行わず、prgParamProperties の出力に NULL ポインターを設定します。
リターン コードの値
GetParameterProperties
メソッドは、主要な OLE DB ICommandProperties::GetProperties
メソッドと同じエラー コードを返します。ただし、DB_S_ERRORSOCCURRED と DB_E_ERRORSOCCURED は返すことができません。
解説
ISSCommandWithParameters::GetParameterProperties
メソッドは、GetParameterInfo
と一貫性を保つように動作します。 ISSCommandWithParameters::SetParameterProperties
または SetParameterInfo
が呼び出されなかったか、cParams に 0 を指定して呼び出された場合、GetParameterInfo
はパラメーター情報を取得して返します。 ISSCommandWithParameters::SetParameterProperties
または SetParameterInfo
が 1 つ以上のパラメーターに対して呼び出されている場合、ISSCommandWithParameters::GetParameterProperties
メソッドは ISSCommandWithParameters::SetParameterProperties
が呼び出されたパラメーターに対してのみプロパティを返します。 ISSCommandWithParameters::GetParameterProperties
または GetParameterInfo
の後で ISSCommandWithParameters::SetParameterProperties
が呼び出された場合、その後の ISSCommandWithParameters::GetParameterProperties
の呼び出しでは、ISSCommandWithParameters::SetParameterProperties
メソッドが呼び出されたパラメーターに対してオーバーライドされた値が返されます。
SSPARAMPROPS 構造体は、次のように定義されています。
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
メンバー | 説明 |
---|---|
iOrdinal | 渡されるパラメーターの序数 |
cPropertySets | rgPropertySets 内の DBPROPSET 構造体の数 |
rgPropertySets | DBPROPSET 構造体の配列を返すメモリへのポインター |