Compartir a través de


ISSCommandWithParameters::GetParameterProperties (OLE DB)

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 pérdida 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 resulte en 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 y DB_E_ERRORSOCCURED.

Comentarios

ISSCommandWithParameters::GetParameterProperties se comporta de forma coherente con respecto a GetParameterInfo. Si no se ha llamado a ISSCommandWithParameters::SetParameterProperties o 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 por lo menos un parámetro, ISSCommandWithParameters::GetParameterProperties sólo devuelve las propiedades de esos parámetros para los que se ha llamado a ISSCommandWithParameters::SetParameterProperties. Si se llama a ISSCommandWithParameters::SetParameterProperties después de a ISSCommandWithParameters::GetParameterProperties o GetParameterInfo, las posteriores llamadas 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.

Vea también

Referencia