ISSCommandWithParameters::GetParameterProperties i SQL Server Native Client (OLE DB)
gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Viktig
Den interna SQL Server-klienten (ofta förkortad SNAC) har tagits bort från SQL Server 2022 (16.x) och SQL Server Management Studio 19 (SSMS). Både SQL Server Native Client OLE DB-providern (SQLNCLI eller SQLNCLI11) och den äldre Microsoft OLE DB-providern för SQL Server (SQLOLEDB) rekommenderas inte för ny utveckling. Växla till den nya Microsoft OLE DB Driver (MSOLEDBSQL) för SQL Server framöver.
Returnerar en matris med SSPARAMPROPS-egenskapsuppsättningsstrukturer, en SSPARAMPROPS-egenskapsuppsättning för varje UDT- eller XML-parameter.
Syntax
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argument
pcParams[out][in]
En pekare till minnet som innehåller antalet SSPARAMPROPS-strukturer som returneras i prgParamProperties.
prgParamProperties[ut]
En pekare till minnet där en matris med SSPARAMPROPS-strukturer returneras. Providern allokerar minne för strukturerna och returnerar adressen till det här minnet. konsumenten släpper det här minnet med IMalloc::Kostnadsfri när det inte längre behöver strukturerna. Innan du anropar IMalloc::Kostnadsfri för prgParamPropertiesmåste konsumenten också anropa VariantClear för egenskapen vValue för varje DBPROP-struktur för att förhindra en minnesläcka i fall där varianten innehåller en referenstyp (till exempel en BSTR.) Om pcParams är noll på utdata eller om ett annat fel än DB_E_ERRORSOCCURRED inträffar allokerar providern inget minne och ser till att prgParamProperties är en null-pekare på utdata.
Returnera kodvärden
Metoden GetParameterProperties returnerar samma felkoder som den grundläggande OLE DB-ICommandProperties::GetProperties-metoden, förutom att DB_S_ERRORSOCCURRED och DB_E_ERRORSOCCURRED inte kan genereras.
Anmärkningar
ISSCommandWithParameters::GetParameterProperties beter sig konsekvent med avseende på GetParameterInfo. Om ISSCommandWithParameters::SetParameterProperties eller SetParameterInfo inte har anropats eller har anropats med cParams lika med noll, GetParameterInfo härleder parameterinformation och returnerar detta. Om ISSCommandWithParameters::SetParameterProperties eller SetParameterInfo har anropats för minst en parameter, ISSCommandWithParameters::GetParameterProperties returnerar endast egenskaper för de parametrar som ISSCommandWithParameters::SetParameterProperties har anropats. Om ISSCommandWithParameters::SetParameterProperties anropas efter ISSCommandWithParameters::GetParameterProperties eller GetParameterInfo, efterföljande anrop till ISSCommandWithParameters::GetParameterProperties returnera de åsidosatta värdena för de parametrar för vilka ISSCommandWithParameters::SetParameterProperties har anropats.
SSPARAMPROPS-strukturen definieras på följande sätt:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Medlem | Beskrivning |
---|---|
iOrdinal | Ordningstalet för den överförda parametern. |
cPropertySets | Antalet DBPROPSET-strukturer i rgPropertySets. |
rgPropertySets | En pekare till minnet där en matris med DBPROPSET-strukturer ska returneras. |