ISSCommandWithParameters::GetParameterProperties (OLE DB)
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
Azure Synapse Analytics
Platform Platform System (PDW)
Vrátí pole SSPARAMPROPS struktury sady vlastností, jednu vlastnost SSPARAMPROPS nastavenou pro každý UDT nebo XML parametr.
Syntax
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argumenty
pcParams[out][in]
Ukazatel na paměť obsahující počet struktur SSPARAMPROPS vrácených v prgParamProperties.
prgParamProperties[out]
Ukazatel na paměť, ve které je vráceno pole struktur SSPARAMPROPS. Zprostředkovatel přidělí paměť pro struktury a vrátí adresu této paměti, příjemce uvolní tuto paměť s IMalloc::Free
, když už nepotřebuje struktury. Před voláním IMalloc::Free
pro prgParamPropertiesmusí příjemce také volat VariantClear
pro vValue vlastnost každé struktury DBPROP, aby nedošlo k úniku paměti v případech, kdy varianta obsahuje referenční typ, jako je BSTR. Pokud pcParams je ve výstupu nula nebo dojde k jiné chybě než DB_E_ERRORSOCCURRED, poskytovatel nepřidělí žádnou paměť a zajistí, prgParamProperties je ukazatel null na výstupu.
Návratové hodnoty kódu
Metoda GetParameterProperties
vrátí stejné kódy chyb jako základní metoda OLE DB ICommandProperties::GetProperties
s tím rozdílem, že DB_S_ERRORSOCCURRED a DB_E_ERRORSOCCURRED nelze vyvolat.
Poznámky
ISSCommandWithParameters::GetParameterProperties
metoda se chová konzistentně s ohledem na GetParameterInfo
. Pokud ISSCommandWithParameters::SetParameterProperties
nebo SetParameterInfo
nebyly volány nebo byly volány pomocí cParams rovno nule, GetParameterInfo
odvozuje informace o parametrech a vrátí je. Pokud ISSCommandWithParameters::SetParameterProperties
nebo SetParameterInfo
byly volána alespoň pro jeden parametr, ISSCommandWithParameters::GetParameterProperties
metoda vrátí vlastnosti pouze pro parametry, pro které ISSCommandWithParameters::SetParameterProperties
byl volána. Pokud se ISSCommandWithParameters::SetParameterProperties
volá po ISSCommandWithParameters::GetParameterProperties
nebo GetParameterInfo
, následná volání ISSCommandWithParameters::GetParameterProperties
vrátí přepsáné hodnoty pro tyto parametry, pro které byla volána metoda ISSCommandWithParameters::SetParameterProperties
.
Struktura SSPARAMPROPS je definována takto:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Člen | Popis |
---|---|
iOrdinal | Pořadové číslo předaného parametru. |
cPropertySets | Počet struktur DBPROPSET v rgPropertySets. |
rgPropertySets | Ukazatel na paměť, ve které chcete vrátit pole struktur DBPROPSET. |