ISSCommandWithParameters::GetParameterProperties (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. |