次の方法で共有


ISSCommandWithParameters::GetParameterProperties (OLE DB)

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 を呼び出す前に、バリアントに参照型 (BSTR など) が含まれている場合にメモリ リークを防ぐために、コンシューマーは各 DBPROP 構造体の vValue プロパティに対して VariantClear も呼び出す必要があります。pcParamsが出力時にゼロであるか、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 つのパラメーターに対して呼び出された場合、ISSCommandWithParameterProperties::GetParameterPropertiesは、ISSCommandWithParameters::SetParameterProperties が呼び出されたパラメーターのプロパティのみを返します。 ISSCommandWithParameters::SetParameterPropertiesISSCommandWithParameters::GetParameterProperties または GetParameterInfo の後に呼び出される場合、 後続の ISSCommandWithParameters::GetParameterProperties への呼び出しは、ISSCommandWithParameters::SetParameterProperties が呼び出されたパラメーターのオーバーライドされた値を返します。

SSPARAMPROPS 構造体は、次のように定義されています。

struct SSPARAMPROPS {

DBORDINAL iOrdinal;

ULONG cPropertySets;

DBPROPSET *rgPropertySets;

};

メンバー 説明
iOrdinal 渡されるパラメーターの序数
cPropertySets rgPropertySets 内の DBPROPSET 構造体の数
rgPropertySets DBPROPSET 構造体の配列を返すメモリへのポインター

こちらもご覧ください

ISSCommandWithParameters (OLE DB)