Dela via


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.

Se även

ISSCommandWithParameters (OLE DB)