ISSCommandWithParameters::GetParameterProperties (OLE DB)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Retourne un tableau de structures de jeu de propriétés SSPARAMPROPS, avec une propriété SSPARAMPROPS définie pour chaque paramètre UDT ou XML.
Syntaxe
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Arguments
pcParams[out][in]
Pointeur vers la mémoire qui contient le nombre de structures SSPARAMPROPS retournées dans prgParamProperties.
prgParamProperties[out]
Pointeur vers la mémoire dans laquelle est retourné un tableau de structures SSPARAMPROPS. Le fournisseur attribue la mémoire pour les structures et retourne l’adresse à cette mémoire. Le contrôle serveur consommateur libère la mémoire avec IMalloc::Free
lorsqu’il n’a plus besoin des structures. Avant d’appeler IMalloc::Free
pour prgParamProperties, le contrôle serveur consommateur doit également appeler VariantClear
pour la propriété vValue de chaque structure DBPROP afin d’empêcher une fuite de mémoire dans les cas où la variante contient un type référence (BSTR, par exemple). Si pcParams a la valeur zéro en sortie ou qu’il se produit une erreur autre que DB_E_ERRORSOCCURRED, le fournisseur n’alloue aucune mémoire et garantit que prgParamProperties est un pointeur Null en sortie.
Codet de retour
La méthode GetParameterProperties
retourne les mêmes codes d’erreur que la méthode ICommandProperties::GetProperties
OLE DB si ce n’est que DB_S_ERRORSOCCURRED et DB_E_ERRORSOCCURED ne peuvent pas être déclenchés.
Notes
La méthode ISSCommandWithParameters::GetParameterProperties
se comporte de manière cohérente par rapport à GetParameterInfo
. Si ISSCommandWithParameters::SetParameterProperties
ou SetParameterInfo
n’ont pas été appelés ou ont été appelés avec cParams égal à zéro, GetParameterInfo
dérive les informations de paramètre et les retourne. Si ISSCommandWithParameters::SetParameterProperties
ou SetParameterInfo
ont été appelés pour au moins un paramètre, la méthode ISSCommandWithParameters::GetParameterProperties
retourne des propriétés uniquement pour les paramètres pour lesquels ISSCommandWithParameters::SetParameterProperties
a été appelé. Si ISSCommandWithParameters::SetParameterProperties
est appelée après ISSCommandWithParameters::GetParameterProperties
ou GetParameterInfo
, les appels suivants à ISSCommandWithParameters::GetParameterProperties
retournent les valeurs substituées pour les paramètres pour lesquels la méthode ISSCommandWithParameters::SetParameterProperties
a été appelée.
La structure SSPARAMPROPS est défini comme suit :
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Membre | Description |
---|---|
iOrdinal | Position ordinale du paramètre transmis. |
cPropertySets | Nombre de structures DBPROPSET dans rgPropertySets. |
rgPropertySets | Pointeur vers la mémoire dans lequel retourner un tableau de structures DBPROPSET. |