Partilhar via


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Baixar o driver do 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 dessa memória; o consumidor libera essa memória com IMalloc::Free quando as estruturas não são mais necessárias. Antes de chamar IMalloc::Free para prgParamProperties, o consumidor também precisa chamar VariantClear para a propriedade vValue de cada estrutura DBPROP a fim de evitar a 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 se 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 do método ICommandProperties::GetProperties principal do OLE DB, exceto quando não é possível acionar DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURED.

Comentários

O método ISSCommandWithParameters::GetParameterProperties se comporta de forma consistente em relação a GetParameterInfo. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo não tiver sido chamado ou se tiver sido chamado com cParams igual a zero, GetParameterInfo obterá e retornará as informações de parâmetro. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo tiver sido chamado para pelo menos um parâmetro, o método ISSCommandWithParameters::GetParameterProperties retornará propriedades apenas para os parâmetros para os quais ISSCommandWithParameters::SetParameterProperties foi chamado. Se ISSCommandWithParameters::SetParameterProperties for chamado após ISSCommandWithParameters::GetParameterProperties ou GetParameterInfo, as chamadas posteriores a ISSCommandWithParameters::GetParameterProperties retornarão os valores substituídos desses parâmetros para os quais o método 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)