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.
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 esta memoria con IMalloc::Free cuando ya no necesita las estructuras. Antes de llamar a IMalloc::Free para prgParamProperties, el consumidor también debe llamar a VariantClear para la propiedad vValue de cada estructura DBPROP para evitar una pérdida de memoria en los casos en los que la variante contiene un tipo de referencia (como un BSTR). Si pcParams es cero en la salida o se produce un error distinto de DB_E_ERRORSOCCURRED, el proveedor no asigna ninguna memoria y garantiza que prgParamProperties es un puntero nulo en la salida.
Valores de código de retorno
El método GetParameterProperties devuelve los mismos códigos de error que el método OLE DB principal ICommandProperties::GetProperties , excepto que no se pueden generar DB_S_ERRORSOCCURRED y DB_E_ERRORSOCCURED principales.
Observaciones
ISSCommandWithParameters::GetParameterProperties se comporta de forma coherente con respecto a GetParameterInfo. Si no se ha llamado a ISSCommandWithParameters::SetParameterProperties o SetParameterInfo o se ha llamado a con cParams igual a cero, GetParameterInfo deriva información de parámetros y devuelve esto. Si se ha llamado a ISSCommandWithParameters::SetParameterProperties o SetParameterInfo para al menos un parámetro, ISSCommandWithParameters::GetParameterProperties devuelve propiedades solo para los 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 posteriores a ISSCommandWithParameters::GetParameterProperties devuelven los valores invalidados para esos parámetros para los que se ha llamado a ISSCommandWithParameters::SetParameterProperties .
La estructura SSPARAMPROPS se define del siguiente modo:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
| Miembro | 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. |