ISSCommandWithParameters ::GetParameterProperties dans SQL Server Native Client (OLE DB)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Important
SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server.
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 alloue de la mémoire pour les structures et retourne l’adresse à cette mémoire ; le consommateur libère cette mémoire avec IMalloc ::Free quand il n’a plus besoin des structures. Avant d’appeler IMalloc ::Free pour prgParamProperties, le 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 de référence (tel qu’un BSTR.) Si pcParams est égal à zéro sur la sortie ou qu’une erreur autre que DB_E_ERRORSOCCURRED se produit, le fournisseur n’alloue pas de mémoire et garantit que prgParamProperties est un pointeur Null sur la sortie.
Codet de retour
La méthode GetParameterProperties retourne les mêmes codes d’erreur que la méthode OLE DB ICommandProperties ::GetProperties , sauf que DB_S_ERRORSOCCURRED et DB_E_ERRORSOCCURED ne peuvent pas être déclenchés.
Notes
ISSCommandWithParameters ::GetParameterProperties se comporte de façon 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 retourne ceci. Si ISSCommandWithParameters ::SetParameterProperties ou SetParameterInfo ont été appelés pour au moins un paramètre, ISSCommandWithParameters ::GetParameterProperties renvoie des propriétés uniquement pour les paramètres pour lesquels ISSCommandWithParameters ::SetParameterProperties a été appelé. Si ISSCommandWithParameters ::SetParameterProperties est appelé après ISSCommandWithParameters ::GetParameterProperties ou GetParameterInfo, les appels suivants à ISSCommandWithParameters ::GetParameterProperties retournent les valeurs substituées pour les paramètres pour lesquels ISSCommandWithParameters ::SetParameterProperties a été appelé.
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. |