Condividi tramite


ISSCommandWithParameters::GetParameterProperties (OLE DB)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)

Scaricare il driver 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 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.

Vedere anche

ISSCommandWithParameters (OLE DB)