共用方式為


ISSCommandWithParameters::GetParameterProperties (OLE DB)

傳回 SSPARAMPROPS 屬性集結構的陣列,而且每個 UDT 或 XML 參數使用一個 SSPARAMPROPS 屬性集。

語法

  
HRESULT GetParameterProperties(  
DB_UPARAMS *pcParams,  
SSPARAMPROPS **prgParamProperties);  

引數

pcParams[out][in]
記憶體的指標,其中包含在 prgParamProperties 中傳回的 SSPARAMPROPS 結構數目。

prgParamProperties[out]
藉其傳回 SSPARAMPROPS 結構陣列的記憶體指標。 提供者會配置結構的記憶體,並將位址傳回給這個記憶體;當取用者不再需要結構時,會以 IMalloc::Free 釋放此記憶體。 呼叫IMalloc::Free for prgParamProperties之前,取用者也必須針對每個 DBPROP 結構的vValue屬性呼叫VariantClear,以避免在 variant 包含參考類型的情況下發生記憶體流失 (,例如 BSTR.) 如果pcParams在輸出上為零,或發生DB_E_ERRORSOCCURRED以外的錯誤,則為 提供者不會配置任何記憶體,並確保prgParamProperties是輸出上的 Null 指標。

傳回碼值

GetParameterProperties方法會傳回與核心 OLE DB ICommandProperties::GetProperties方法相同的錯誤碼,但無法引發DB_S_ERRORSOCCURRED和DB_E_ERRORSOCCURED。

備註

ISSCommandWithParameters::GetParameterPropertiesGetParameterInfo一致。 如果 ISSCommandWithParameters::SetParameterPropertiesSetParameterInfo 尚未呼叫,或已呼叫 cParams 等於零,GetParameterInfo 會衍生參數資訊並傳回此參數資訊。 如果已針對至少一個參數呼叫 ISSCommandWithParameters::SetParameterPropertiesSetParameterInfoISSCommandWithParameters::GetParameterProperties 只會針對已呼叫 ISSCommandWithParameters::SetParameterProperties 的參數傳回屬性。 如果在 ISSCommandWithParameters::SetParameterProperties 呼叫 ISSCommandWithParameters::GetParameterPropertiesGetParameterInfo之後,後續呼叫 ISSCommandWithParameters::GetParameterProperties 會傳回 ISSCommandWithParameters::SetParameterProperties 所呼叫之參數的覆寫值。

SSPARAMPROPS 結構定義如下:

struct SSPARAMPROPS {

DBORDINAL iOrdinal;

ULONG cPropertySets;

DBPROPSET *rgPropertySets;

};

member 描述
iOrdinal 所傳遞參數的序數。
cPropertySets rgPropertySets 中的 DBPROPSET 結構數目。
rgPropertySets 藉其傳回 DBPROPSET 結構陣列的記憶體指標。

另請參閱

ISSCommandWithParameters (OLE DB)