Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Система аналитической платформы (PDW)
SQL база данных в Microsoft Fabric
Возвращает массив структур 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 возвращает те же коды ошибок, что и основной метод OLE DB ICommandProperties::GetProperties, за исключением того, что не удается вызвать DB_S_ERRORSOCCURRED и DB_E_ERRORSOCCURRED.
Замечания
Метод 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. |