Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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. |