Compartilhar via


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Retorna uma matriz de estruturas de conjuntos de propriedades SSPARAMPROPS, um conjunto de propriedades SSPARAMPROPS para cada parâmetro XML ou UDT.

Sintaxe

  
HRESULT GetParameterProperties(  
DB_UPARAMS *pcParams,  
SSPARAMPROPS **prgParamProperties);  

Argumentos

pcParams[out][in]
Um ponteiro para a memória que contém o número de estruturas SSPARAMPROPS retornadas em prgParamProperties.

prgParamProperties[out]
Um ponteiro para memória na qual uma matriz de estrutura SSPARAMPROPS é retornada. O provedor aloca memória para as estruturas e retorna o endereço para essa memória; o consumidor libera essa memória com IMalloc::Free quando não precisa mais das estruturas. Antes de chamar IMalloc::Free para prgParamProperties, o consumidor também deve chamar VariantClear para a propriedade vValue de cada estrutura DBPROP, a fim de evitar uma perda de memória nos casos em que a variante contém um tipo de referência (como um BSTR).) Se pcParams for zero na saída ou ocorrer um erro diferente de DB_E_ERRORSOCCURRED, o provedor não alocará nenhuma memória e garantirá que prgParamProperties seja um ponteiro nulo na saída.

Valores do código de retorno

O método GetParameterProperties retorna os mesmos códigos de erro que o método principal ICommandProperties::GetProperties do OLE DB, exceto que DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURED não podem ser gerados.

Comentários

ISSCommandWithParameters::GetParameterProperties se comporta consistentemente em relação a GetParameterInfo. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo não tiverem sido chamados ou tiverem sido chamados com cParams iguais a zero, GetParameterInfo deriva informações de parâmetro e retorna isso. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo tiverem sido chamados para pelo menos um parâmetro, ISSCommandWithParameters::GetParameterProperties retornará propriedades somente para esses parâmetros para os quais ISSCommandWithParameters::SetParameterProperties foi chamado. Se ISSCommandWithParameters::SetParameterProperties for chamado após ISSCommandWithParameters::GetParameterProperties ou GetParameterInfo, chamadas subsequentes para ISSCommandWithParameters::GetParameterProperties retornarão os valores substituídos para esses parâmetros para os quais ISSCommandWithParameters::SetParameterProperties foi chamado.

A estrutura SSPARAMPROPS é definida da seguinte maneira:

struct SSPARAMPROPS {

DBORDINAL iOrdinal;

ULONG cPropertySets;

DBPROPSET *rgPropertySets;

};

Membro DESCRIÇÃO
iOrdinal O ordinal do parâmetro passado.
cPropertySets O número de estruturas DBPROPSET em rgPropertySets.
rgPropertySets Um ponteiro para a memória no qual uma matriz de estruturas DBPROPSET deve ser retornada.

Consulte Também

ISSCommandWithParameters (OLE DB)