Partilhar via


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure do Azure Synapse AnalyticsAnalytics Platform System (PDW)

Baixar driver OLE DB

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

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[saída]
Um ponteiro para a memória no qual uma matriz de estruturas 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 para evitar um vazamento 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 certifica-se de prgParamProperties é 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 OLE DB ICommandProperties::GetProperties principal, exceto que DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURRED não podem ser gerados.

Comentários

ISSCommandWithParameters::GetParameterProperties método comporta-se de forma consistente em relação a GetParameterInfo. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo não foram chamados ou foram chamados com cParams igual a zero, GetParameterInfo deriva informações de parâmetros e as retorna. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo tiverem sido chamados para pelo menos um parâmetro, ISSCommandWithParameters::GetParameterProperties método retornará propriedades somente para os 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 os parâmetros para os quais ISSCommandWithParameters::SetParameterProperties método foi chamado.

A estrutura SSPARAMPROPS é definida da seguinte forma:

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 retornar uma matriz de estruturas DBPROPSET.

Ver também

ISSCommandWithParameters (OLE DB)