ISSCommandWithParameters::GetParameterProperties (OLE DB)

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 di codice restituiti

Il metodo GetParameterProperties restituisce gli stessi codici di errore del metodo di ICommandProperties::GetProperties OLE DB principale, a meno che non sia possibile generare DB_S_ERRORSOCCURRED e DB_E_ERRORSOCCURED.

Osservazioni

ISSCommandWithParameters::GetParameterProperties ha un comportamento coerente rispetto a GetParameterInfo. Se ISSCommandWithParameters::SetParameterProperties o SetParameterInfo non è stato chiamato, o è stato chiamato con cParams pari a zero, GetParameterInfo deriva le informazioni sul parametro e restituisce questo risultato. Se ISSCommandWithParameters::SetParameterProperties o SetParameterInfo sono stati chiamati per almeno un parametro, 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 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.

Vedere anche

Riferimento

ISSCommandWithParameters (OLE DB)