Freigeben über


ISSCommandWithParameters::GetParameterProperties in SQL Server Native Client (OLE DB)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

Wichtig

Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL).

Gibt ein Array aus SSPARAMPROPS-Eigenschaftensatzstrukturen zurück – einen SSPARAMPROPS-Eigenschaftensatz für jeden UDT- oder XML-Parameter.

Syntax

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

Argumente

pcParams[out] [in]
Ein Zeiger auf den Arbeitsspeicher, der die Anzahl von SSPARAMPROPS-Strukturen enthält, die in prgParamPropertieszurückgegeben werden.

prgParamProperties[out]
Ein Zeiger auf den Arbeitsspeicher, in den ein Array aus SSPARAMPROPS-Strukturen zurückgegeben wird. Der Anbieter teilt Speicher für die Strukturen zu und gibt die Adresse an den Arbeitsspeicher zurück. Der Consumer gibt diesen Speicher mit IMalloc::Free frei, wenn er die Strukturen nicht mehr benötigt. Vor dem Aufrufen von IMalloc::Free für prgParamProperties muss der Consumer auch VariantClear für die vValue-Eigenschaft jeder DBPROP-Struktur aufrufen, um einen Speicherverlust in Fällen zu verhindern, in denen die Variante einen Verweistyp enthält (z. B. ein BSTR.) Wenn pcParams bei der Ausgabe null ist oder ein anderer Fehler als DB_E_ERRORSOCCURRED auftritt, weist der Anbieter keinen Arbeitsspeicher zu und stellt sicher, dass prgParamProperties ein Nullzeiger für die Ausgabe ist.

Rückgabecodewerte

Die GetParameterProperties -Methode gibt dieselben Fehlercodes zurück wie die OLE DB ICommandProperties::GetProperties -Methode, allerdings können DB_S_ERRORSOCCURRED und DB_E_ERRORSOCCURED nicht ausgelöst werden.

Hinweise

ISSCommandWithParameters::GetParameterProperties verhält sich in Bezug auf GetParameterInfokonsistent. Wenn ISSCommandWithParameters::SetParameterProperties und SetParameterInfo nicht aufgerufen wurden oder mit einem Wert von 0 (null) für cParams aufgerufen wurden, leitet GetParameterInfo Parameterinformationen ab und gibt diese zurück. Wenn ISSCommandWithParameters::SetParameterProperties oder SetParameterInfo für mindestens einen Parameter aufgerufen wurde, gibt ISSCommandWithParameters::GetParameterProperties Eigenschaften nur für die Parameter zurück, für die ISSCommandWithParameters::SetParameterProperties aufgerufen wurde. Wenn ISSCommandWithParameters::SetParameterProperties nach ISSCommandWithParameters::GetParameterProperties oder GetParameterInfoaufgerufen wird, geben nachfolgende Aufrufe von ISSCommandWithParameters::GetParameterProperties die überschriebenen Werte für jene Parameter zurück, für die ISSCommandWithParameters::SetParameterProperties aufgerufen wurde.

Die SSPARAMPROPS-Struktur ist folgendermaßen definiert:

struct SSPARAMPROPS {
    DBORDINAL iOrdinal;
    ULONG cPropertySets;
    DBPROPSET *rgPropertySets;
};
Member BESCHREIBUNG
iOrdinal Die Ordnungszahl des übergebenen Parameters
cPropertySets Die Anzahl von DBPROPSET-Strukturen in rgPropertySets
rgPropertySets Ein Zeiger auf den Speicher, in den ein Array aus DBPROPSET-Strukturen zurückgegeben werden soll

Weitere Informationen

ISSCommandWithParameters (OLE DB)