Compartilhar via


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Banco de dados SQL no Microsoft Fabric

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 que o método de ICommandProperties::GetProperties OLE DB principal, exceto que DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURRED não podem ser gerados.

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)