Udostępnij za pośrednictwem


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.

Zobacz także

Odwołanie