Condividi tramite


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

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Importante

SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). Non è consigliabile usare sia il provider OLE DB SQL Server Native Client (SQLNCLI o SQLNCLI11) che il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB). Passare al nuovo Microsoft OLE DB Driver (MSOLEDBSQL) per SQL Server in futuro.

Restituisce una matrice di strutture di set di proprietà SSPARAMPROPS, un set di proprietà SSPARAMPROPS per ogni tipo definito dall'utente o parametro XML.

Sintassi

HRESULT GetParameterProperties(  
      DB_UPARAMS *pcParams,  
      SSPARAMPROPS **prgParamProperties);  

Argomenti

pcParams[out][in]
Puntatore alla memoria contenente il numero di strutture SSPARAMPROPS restituite in prgParamProperties.

prgParamProperties[out]
Puntatore alla memoria nel quale viene restituita una matrice di strutture SSPARAMPROPS. Il provider alloca memoria per le strutture e restituisce l'indirizzo a questa memoria; il consumer rilascia questa memoria con IMalloc::Free quando non necessita più delle strutture. Prima di chiamare IMalloc::Free per prgParamProperties, il consumer deve anche chiamare VariantClear per la proprietà vValue di ogni struttura DBPROP per evitare una perdita di memoria nei casi in cui la variante contiene un tipo riferimento ,ad esempio un BSTR. Se pcParams è zero nell'output o si verifica un errore diverso da DB_E_ERRORSOCCURRED, il provider non alloca memoria e garantisce che prgParamProperties sia un puntatore Null nell'output.

Valori del codice restituito

Il metodo GetParameterProperties restituisce gli stessi codici di errore del metodo OLE DB ICommandProperties::GetProperties di base, ad eccezione del fatto che non è possibile generarne DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURED.

Osservazioni:

ISSCommandWithParameters::GetParameterProperties si comporta in modo coerente rispetto a GetParameterInfo. Se ISSCommandWithParameters::SetParameterProperties o SetParameterInfo non sono stati chiamati o sono stati chiamati con cParams uguale a zero, GetParameterInfo deriva le informazioni sui parametri e lo restituisce. Se è stato chiamato ISSCommandWithParameters::SetParameterProperties o SetParameterInfo per almeno un parametro, ISSCommandWithParameters::GetParameterProperties restituisce proprietà solo per i parametri per cui è stato chiamato ISSCommandWithParameters::SetParameterProperties . Se ISSCommandWithParameters::SetParameterProperties viene chiamato dopo ISSCommandWithParameters::GetParameterProperties o GetParameterInfo, le chiamate successive a ISSCommandWithParameters::GetParameterProperties restituiscono i valori sottoposti a override per tali parametri per i quali è stato chiamato ISSCommandWithParameters::SetParameterProperties.

La struttura SSPARAMPROPS viene definita nel modo seguente:

struct SSPARAMPROPS {
    DBORDINAL iOrdinal;
    ULONG cPropertySets;
    DBPROPSET *rgPropertySets;
};
Membro Descrizione
iOrdinal Numero ordinale del parametro passato.
cPropertySets Numero di strutture DBPROPSET in rgPropertySets.
rgPropertySets Puntatore alla memoria nel quale restituire una matrice di strutture DBPROPSET.

Vedi anche

ISSCommandWithParameters (OLE DB)