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 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 as estruturas não são mais necessárias. Antes de chamar IMalloc::Free para prgParamProperties, o consumidor também deve chamar VariantClear para a propriedade vValue de cada estrutura DBPROP, de forma a 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 se ocorrer um erro diferente de DB_E_ERRORSOCCURRED, o provedor não alocará nenhuma memória e assegurará que prgParamProperties seja um ponteiro nulo na saída.

Valores de código de retorno

O método GetParameterProperties retorna os mesmos códigos de erro que o método ICommandProperties::GetProperties principal do OLE DB, exceto se não for possível gerar DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURED.

Comentários

ISSCommandWithParameters::GetParameterProperties se comporta 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 derivará informações de parâmetro e os retornará. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo tiverem sido chamados para pelo menos um parâmetro, ISSCommandWithParameters::GetParameterProperties retornará propriedades apenas para os parâmetros para os quais ISSCommandWithParameters::SetParameterProperties foi chamado. Se ISSCommandWithParameters::SetParameterProperties for chamado depois de ISSCommandWithParameters::GetParameterProperties ou GetParameterInfo, as chamadas subsequentes para ISSCommandWithParameters::GetParameterProperties retornarão os valores substituídos desses 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

Referência

ISSCommandWithParameters (OLE DB)