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.
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argumenty
pcParams[Brak][w]
Wskaźnik do pamięci, która zawiera liczbę struktur SSPARAMPROPS zwrócone w prgParamProperties.prgParamProperties[Brak]
Wskaźnik do pamięci, w której zostanie zwrócona tablica struktur SSPARAMPROPS.Dostawca przydziela pamięci dla struktury i zwraca adres pamięci; konsumenta zwalnia to pamięć z IMalloc::Free , gdy nie są już potrzebne do struktur.Przed telefonicznej IMalloc::Free for prgParamProperties, konsument musi również wywołać VariantClear for the vValue właściwość każdego DBPROP struktury w celu zapobieżenia przeciek pamięci w przypadku, gdy wariantu zawiera typu odwołania (na przykład BSTR.) If pcParams wynosi zero na wyjściu lub wystąpi błąd innych niż DB_E_ERRORSOCCURRED, dostawca nie przydzielał wszystkie pamięci i zapewnia, że prgParamProperties jest pusty wskaźnik w danych wyjściowych.
Wartości kodów powrotnych
The GetParameterProperties metoda returns the same error codes as the core OLE DB ICommandProperties::GetProperties metoda, except that DB_S_ERRORSOCCURRED and DB_E_ERRORSOCCURED cannot be raised.
Remarks
ISSCommandWithParameters::GetParameterProperties zachowuje się stale w odniesieniu do GetParameterInfo.Jeśli ISSCommandWithParameters::SetParameterProperties or SetParameterInfo nie została wywołana lub mieć została wywołana z cParams równa zeru, GetParameterInfo uzyskuje informacje o parametrach i zwraca to.Jeśli ISSCommandWithParameters::SetParameterProperties or SetParameterInfo o nazwie dla co najmniej jeden parametr, 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 nazywany jest ISSCommandWithParameters::GetParameterProperties or GetParameterInfo, kolejne wywołania ISSCommandWithParameters::GetParameterProperties zwracają zastąpiona wartości dla tych parametrów, dla których ISSCommandWithParameters::SetParameterProperties została wywołana.
Struktura SSPARAMPROPS jest zdefiniowane w następujący sposób:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Element członkowski |
Description |
|---|---|
iOrdinal |
Liczba porządkowa parametru przekazana. |
cPropertySets |
Liczba DBPROPSET struktury rgPropertySets. |
rgPropertySets |
Wskaźnik do pamięci, w której zostanie zwrócona tablica struktur DBPROPSET. |