Compartilhar via


ISSCommandWithParameters::GetParameterProperties no SQL Server Native Client (OLE DB)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics

Importante

O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O provedor OLE DB do SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) no futuro.

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

Comentários

ISSCommandWithParameters::GetParameterProperties se comporta de forma consistente em relação a GetParameterInfo. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo não tiverem sido chamados ou tiverem sido chamados com cParams iguais a zero, GetParameterInfo derivará informações de parâmetro e as retornará. Se ISSCommandWithParameters::SetParameterProperties ou SetParameterInfo tiverem sido chamados para pelo menos um parâmetro, ISSCommandWithParameters::GetParameterProperties 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, as chamadas subsequentes para ISSCommandWithParameters::GetParameterProperties retornarão os valores substituídos para os 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

ISSCommandWithParameters (OLE DB)