Compartir a través de


ISSCommandWithParameters::GetParameterProperties en SQL Server Native Client (OLE DB)

Se aplica a: SQL Server Azure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics Analytics Platform System (PDW)

Importante

SQL Server Native Client (a menudo abreviado SNAC) se ha quitado de SQL Server 2022 (16.x) y SQL Server Management Studio 19 (SSMS). Para nuevos trabajos de desarrollo, no se recomiendan ni el proveedor OLE DB de SQL Server Native Client (SQLNCLI o SQLNCLI11) ni el proveedor OLE DB de Microsoft para SQL Server (SQLOLEDB) heredado. Cambie al nuevo Controlador Microsoft OLE DB para SQL Server de ahora en adelante.

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 ICommandProperties::GetProperties de OLE DB principal, excepto que no se pueden generar 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 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;
};
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)