ISSCommandWithParameters::GetParameterProperties (OLE DB)
Zwraca tablicę SSPARAMPROPS struktur zestaw właściwości, jedną właściwość SSPARAMPROPS dla każdego z parametrów UDT lub XML.
Składnia
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argumenty
pcParams[limit] [w]
Zwrócony wskaźnik do pamięci, która zawiera liczbę struktur SSPARAMPROPS w prgParamProperties.prgParamProperties[out]
Wskaźnik do pamięci, w której zwracana jest Tablica struktur SSPARAMPROPS.Dostawca przydziela pamięci dla struktury i zwraca adres pamięci; konsument zwalnia to pamięć z IMalloc::Free gdy już dłużej potrzebna struktur.Przed wywoływaniem IMalloc::Free dla prgParamProperties, konsument musi również wywołać VariantClear dla vValue właściwość każdej struktury DBPROP, aby zapobiec przeciek pamięci, w przypadkach gdy wariantu zawiera typ odwołania (np. typu BSTR.) Jeśli pcParams zero na wyjście lub wystąpi błąd innych niż DB_E_ERRORSOCCURRED, dostawca nie przydzielał wszystkie pamięci i zapewnia, że prgParamProperties jest pusty wskaźnik na wyjściu.
Wartości kodów powrotnych
GetParameterProperties metoda zwraca te same kody błędów jako podstawowe OLE DB ICommandProperties::GetProperties nie można podwyższyć metody, z wyjątkiem tej DB_S_ERRORSOCCURRED i DB_E_ERRORSOCCURED.
Uwagi
ISSCommandWithParameters::GetParameterProperties zachowuje się stale w odniesieniu do GetParameterInfo.Jeśli ISSCommandWithParameters::SetParameterProperties lub metoda SetParameterInfo nie została wywołana lub został wywołany z równą zero, cParams GetParameterInfo uzyskuje informacje o parametrach i zwraca ten.Jeśli ISSCommandWithParameters::SetParameterProperties lub metoda SetParameterInfo została wywołana dla co najmniej jednego parametru ISSCommandWithParameters::GetParameterProperties zwraca wartość właściwości tylko dla tych parametrów, dla których ISSCommandWithParameters::SetParameterProperties została wywołana.Jeśli ISSCommandWithParameters::SetParameterProperties jest wywoływana po ISSCommandWithParameters::GetParameterProperties lub GetParameterInfo, kolejnych wywołań ISSCommandWithParameters::GetParameterProperties zwracają wartości zastąpionych dla tych parametrów dla którego ISSCommandWithParameters::SetParameterProperties została wywołana.
Struktura SSPARAMPROPS się następująco:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Element członkowski |
Opis |
---|---|
iOrdinal |
Liczba porządkowa parametru przekazany. |
cPropertySets |
Liczba DBPROPSET struktur w rgPropertySets. |
rgPropertySets |
Wskaźnik do pamięci, w której zostanie zwrócona tablica struktur DBPROPSET. |