Udostępnij za pośrednictwem


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

pobierz sterownik OLE DB

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.

Zobacz też

ISSCommandWithParameters (OLE DB)