Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Analítica (PDW)
Base de datos SQL en Microsoft Fabric
Devuelve una matriz de estructuras de conjunto de propiedades SSPARAMPROPS, un conjunto de propiedades SSPARAMPROPS para cada parámetro XML o UDT.
Sintaxis
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argumentos
pcParams[out][in]
Un puntero a la memoria que contiene el número de estructuras SSPARAMPROPS devueltas en prgParamProperties.
prgParamProperties[out]
Un puntero a la memoria que devuelve una matriz de estructuras SSPARAMPROPS. El proveedor asigna memoria para las estructuras y devuelve la dirección a esta memoria; el consumidor libera esa memoria con IMalloc::Free cuando ya no necesita las estructuras. Antes de llamar a IMalloc::Free para prgParamProperties, el consumidor debe llamar también a VariantClear para la propiedad vValue de cada estructura DBPROP con el fin de evitar una fuga de memoria en los casos donde la variante contenga un tipo de referencia (como un BSTR). Si pcParams da cero como resultado o se produce un error distinto de DB_E_ERRORSOCCURRED, el proveedor no asigna memoria y se asegura de que prgParamProperties dé como resultado un puntero nulo.
Valores de código de retorno
El método GetParameterProperties devuelve los mismos códigos de error que el método de ICommandProperties::GetProperties OLE DB principal, salvo que no se pueden generar DB_S_ERRORSOCCURRED y DB_E_ERRORSOCCURRED.
Observaciones
El método ISSCommandWithParameters::GetParameterProperties se comporta de forma coherente con respecto a GetParameterInfo. Si no se ha llamado a ISSCommandWithParameters::SetParameterProperties ni a SetParameterInfo o se les ha llamado con cParams igual a cero, GetParameterInfo deriva la información del parámetro y la devuelve. Si se ha llamado a ISSCommandWithParameters::SetParameterProperties o a SetParameterInfo para al menos un parámetro, el método ISSCommandWithParameters::GetParameterProperties devuelve propiedades solo para esos parámetros para los que se ha llamado a ISSCommandWithParameters::SetParameterProperties. Si se llama a ISSCommandWithParameters::SetParameterProperties después de ISSCommandWithParameters::GetParameterProperties o GetParameterInfo, las llamadas subsiguientes a ISSCommandWithParameters::GetParameterProperties devuelven los valores invalidados de esos parámetros para los que se ha llamado al método ISSCommandWithParameters::SetParameterProperties.
La estructura SSPARAMPROPS se define del siguiente modo:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
| Member | Descripción |
|---|---|
| iOrdinal | El ordinal del parámetro que se ha pasado. |
| cPropertySets | El número de estructuras DBPROPSET de rgPropertySets. |
| rgPropertySets | Un puntero a la memoria que devuelve una matriz de estructuras DBPROPSET. |