Udostępnij przez


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Dotyczy do:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSystem Platform Analitycznych (PDW)Baza danych SQL w Microsoft Fabric

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)