ISSCommandWithParameters::GetParameterProperties (OLE DB)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
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 la memoria per le strutture e restituisce l'indirizzo alla memoria. Il consumer rilascia questa memoria con IMalloc::Free
quando le strutture non sono più necessarie. Prima di chiamare IMalloc::Free
per prgParamProperties, il consumer deve chiamare anche VariantClear
per la proprietà vValue di ogni struttura DBPROP in modo da impedire una perdita di memoria nei casi in cui la variante contiene un tipo di riferimento, ad esempio BSTR. Se pcParams è zero nell'output o si verifica un errore diverso da DB_E_ERRORSOCCURRED, il provider non alloca alcuna memoria e verifica che prgParamProperties sia un puntatore Null nell'output.
Valori del codice restituito
Il metodo GetParameterProperties
restituisce gli stessi codici di errore del metodo ICommandProperties::GetProperties
di OLE DB, a meno che non sia possibile generare DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURED.
Osservazioni:
Il metodo 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 le restituisce. Se ISSCommandWithParameters::SetParameterProperties
o SetParameterInfo
sono stati chiamati per almeno un parametro, il metodo ISSCommandWithParameters::GetParameterProperties
restituisce proprietà solo per i parametri per i quali è 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 i parametri per i quali è stato chiamato il metodo 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. |