ISSCommandWithParameters::GetParameterProperties (OLE DB)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
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 OLE DB básico ICommandProperties::GetProperties
, salvo en que no puede dar DB_S_ERRORSOCCURRED ni DB_E_ERRORSOCCURED.
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. |