Share via


SQL Server Native Client 中的 ISSCommandWithParameters::GetParameterProperties (OLE DB)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client OLE DB 提供者 (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的開發。 請切換至新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 以繼續使用。

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

語法

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

引數

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

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

傳回碼值

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

備註

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

SSPARAMPROPS 結構定義如下:

struct SSPARAMPROPS {
    DBORDINAL iOrdinal;
    ULONG cPropertySets;
    DBPROPSET *rgPropertySets;
};
member 描述
iOrdinal 所傳遞參數的序數。
cPropertySets rgPropertySets 中的 DBPROPSET 結構數目。
rgPropertySets 藉其傳回 DBPROPSET 結構陣列的記憶體指標。

另請參閱

ISSCommandWithParameters (OLE DB)