Бөлісу құралы:


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Скачать драйвер OLE DB

Возвращает массив структур SSPARAMPROPS, представляющих собой множества свойств, по одному множеству свойств SSPARAMPROPS на каждый параметр определяемого пользователем типа или XML.

Синтаксис

  
HRESULT GetParameterProperties(  
      DB_UPARAMS *pcParams,  
      SSPARAMPROPS **prgParamProperties);  

Аргументы

pcParams[out][in]
Указатель на область памяти, где содержится количество структур SSPARAMPROPS, возвращаемых в параметре prgParamProperties.

prgParamProperties[out]
Указатель на область памяти, в которую будет возвращен массив структур SSPARAMPROPS. Поставщик выделяет память под структуры и возвращает адрес этой памяти. Когда структуры больше не нужны потребителю, он освобождает память вызовом метода IMalloc::Free. До вызова метода IMalloc::Free для объекта prgParamProperties потребитель должен также вызвать метод VariantClear для свойства vValue каждой структуры DBPROP, чтобы предотвратить утечку памяти в случае, если вариант содержит ссылочный тип (например, BSTR). Если указатель pcParams равен нулю на выходе или происходит любая ошибка, отличная от DB_E_ERRORSOCCURRED, поставщик не выделяет память и обеспечивает равенство указателя prgParamProperties NULL на выходе.

Значения кода возврата

Метод GetParameterProperties возвращает те же коды ошибок, что и метод ICommandProperties::GetProperties основного OLE DB, за исключением того, что DB_S_ERRORSOCCURRED и DB_E_ERRORSOCCURED не могут быть вызваны.

Замечания

Метод ISSCommandWithParameters::GetParameterProperties действует постоянно с учетом GetParameterInfo. Если ISSCommandWithParameters::SetParameterProperties или SetParameterInfo не были вызваны или вызваны с cParams, равными нулю, GetParameterInfo наследует сведения о параметрах и возвращает их. Если ISSCommandWithParameters::SetParameterProperties или SetParameterInfo были вызваны по крайней мере для одного параметра, метод ISSCommandWithParameters::GetParameterProperties возвращает свойства только для тех параметров, для которых был вызван ISSCommandWithParameters::SetParameterProperties. Если ISSCommandWithParameters::SetParameterProperties вызывается после ISSCommandWithParameters::GetParameterProperties или GetParameterInfo, последующие вызовы ISSCommandWithParameters::GetParameterProperties возвращают переопределенные значения для этих параметров, для которых был вызван метод ISSCommandWithParameters::SetParameterProperties.

Структура SSPARAMPROPS определена следующим образом.

struct SSPARAMPROPS {

DBORDINAL iOrdinal;

ULONG cPropertySets;

DBPROPSET *rgPropertySets;

};

Элемент Description
iOrdinal Порядковый номер переданного параметра.
cPropertySets Количество структур DBPROPSET в rgPropertySets.
rgPropertySets Указатель на буфер, в который будет возвращен массив структур DBPROPSET.

См. также

ISSCommandWithParameters (OLE DB)