Partilhar via


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

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure do Azure Synapse AnalyticsAnalytics Platform System (PDW)

Importante

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

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, a fim de 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 garante que prgParamProperties seja um ponteiro nulo na saída.

Valores do código de retorno

O GetParameterProperties método retorna os mesmos códigos de erro que o OLE DB principal ICommandProperties::GetProperties método, exceto que DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURRED 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 igual a zero, GetParameterInfo derivará informações de parâmetro e retornará isso. 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, 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 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.

Ver também

ISSCommandWithParameters (OLE DB)