Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
System Platform Analitycznych (PDW)
Baza danych SQL w Microsoft Fabric
Zwraca tablicę struktur zestawu właściwości SSPARAMPROPS, jedną właściwość SSPARAMPROPS ustawioną dla każdego parametru UDT lub XML.
Składnia
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argumenty
pcParams[out][in]
Wskaźnik do pamięci, który zawiera liczbę struktur SSPARAMPROPS zwróconych w prgParamProperties.
prgParamProperties[out]
Wskaźnik do pamięci, w którym zwracana jest tablica struktur SSPARAMPROPS. Dostawca przydziela pamięć struktur i zwraca adres do tej pamięci, użytkownik zwalnia tę pamięć z IMalloc::Free, gdy nie potrzebuje już struktur. Przed wywołaniem IMalloc::Free dla prgParamPropertiesużytkownik musi również wywołać VariantClear dla właściwości vValue każdej struktury DBPROP, aby zapobiec wyciekowi pamięci w przypadkach, gdy wariant zawiera typ odwołania, taki jak BSTR. Jeśli pcParams jest zerowa w danych wyjściowych lub wystąpi błąd inny niż DB_E_ERRORSOCCURRED, dostawca nie przydziela żadnej pamięci i upewnia się, że prgParamProperties jest wskaźnikiem null w danych wyjściowych.
Zwracanie wartości kodu
Metoda GetParameterProperties zwraca te same kody błędów co podstawowa metoda ICommandProperties::GetProperties OLE DB, z tą różnicą, że nie można podnieść DB_S_ERRORSOCCURRED i DB_E_ERRORSOCCURRED.
Uwagi
metoda ISSCommandWithParameters::GetParameterProperties zachowuje się spójnie w odniesieniu do GetParameterInfo. Jeśli ISSCommandWithParameters::SetParameterProperties lub SetParameterInfo nie zostały wywołane lub zostały wywołane z parametrem cParams równym zero, GetParameterInfo uzyskuje informacje o parametrach i zwraca je. Jeśli ISSCommandWithParameters::SetParameterProperties lub SetParameterInfo zostały wywołane dla co najmniej jednego parametru, ISSCommandWithParameters::GetParameterProperties metoda zwraca właściwości tylko dla tych parametrów, dla których wywołano ISSCommandWithParameters::SetParameterProperties. Jeśli ISSCommandWithParameters::SetParameterProperties jest wywoływana po ISSCommandWithParameters::GetParameterProperties lub GetParameterInfo, kolejne wywołania ISSCommandWithParameters::GetParameterProperties zwracają zastąpione wartości dla tych parametrów, dla których wywołano metodę ISSCommandWithParameters::SetParameterProperties.
Struktura SSPARAMPROPS jest zdefiniowana w następujący sposób:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
| Członek | Opis |
|---|---|
| iOrdinal | Porządkowe przekazanego parametru. |
| cPropertySets | Liczba struktur DBPROPSET w rgPropertySets. |
| rgPropertySets | Wskaźnik do pamięci, w którym zwraca tablicę struktur DBPROPSET. |