Compartir vía


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Descargar controlador 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 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.

Consulte también

ISSCommandWithParameters (OLE DB)