Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Datenbank in Microsoft Fabric
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 Arbeitsspeicher für die Strukturen zu und gibt die Adresse an diesen Arbeitsspeicher zurück. Der Consumer gibt diesen Arbeitsspeicher mit IMalloc::Free frei, wenn er die Strukturen nicht mehr benötigt. Bevor der Consumer IMalloc::Free für prgParamProperties aufrufen kann, muss er auch für die VariantClear-Eigenschaft jeder DBPROP-Struktur aufrufen, um einem Arbeitsspeicherverlust vorzubeugen. Zu diesem kann es kommen, wenn die Variante einen Verweistyp wie z. B. BSTR enthält. Wenn pcParams bei der Ausgabe 0 (null) ist oder ein anderer Fehler als DB_E_ERRORSOCCURRED auftritt, teilt der Anbieter keinen Arbeitsspeicher zu und stellt sicher, dass prgParamProperties bei Ausgabe ein NULL-Zeiger ist.
Rückgabecodewerte
Die GetParameterProperties-Methode gibt die gleichen Fehlercodes wie die kerne OLE DB-ICommandProperties::GetProperties-Methode zurück, mit der Ausnahme, dass DB_S_ERRORSOCCURRED und DB_E_ERRORSOCCURRED nicht ausgelöst werden können.
Bemerkungen
Die ISSCommandWithParameters::GetParameterProperties-Methode verhält sich in Bezug auf GetParameterInfo konsistent. Wenn ISSCommandWithParameters::SetParameterProperties oder SetParameterInfo nicht aufgerufen wurden oder mit cParams gleich 0 aufgerufen wurden, leitet GetParameterInfo Parameterinformationen ab und gibt sie zurück. Wenn ISSCommandWithParameters::SetParameterProperties oder SetParameterInfo für mindestens einen Parameter aufgerufen wurden, gibt die ISSCommandWithParameters::GetParameterProperties-Methode Eigenschaften nur für diejenigen Parameter zurück, für die ISSCommandWithParameters::SetParameterProperties aufgerufen wurde. Wenn ISSCommandWithParameters::SetParameterProperties nach ISSCommandWithParameters::GetParameterProperties oder GetParameterInfo aufgerufen wird, geben nachfolgende Aufrufe von ISSCommandWithParameters::GetParameterProperties die überschriebenen Werte für diejenigen Parameter zurück, für die die ISSCommandWithParameters::SetParameterProperties-Methode 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 |