Définition de propriétés dans votre fournisseur
Recherchez le groupe de propriétés et l’ID de propriété de la propriété souhaitée. Pour plus d’informations, consultez propriétés OLE DB dans la référence du programmeur OLE DB.
Dans le code du fournisseur généré par l’Assistant, recherchez le mappage de propriétés correspondant au groupe de propriétés. Le nom du groupe de propriétés correspond généralement au nom de l’objet. Les propriétés de commande et d’ensemble de lignes sont disponibles dans l’ensemble de lignes ou de commandes ; Les propriétés de source de données et d’initialisation sont disponibles dans l’objet de source de données.
Dans le mappage de propriétés, ajoutez une macro PROPERTY_INFO_ENTRY_EX . PROPERTY_INFO_ENTRY_EX prend quatre paramètres :
ID de propriété correspondant à votre propriété. Supprimez les sept premiers caractères (« DBPROP_ ») à l’avant du nom de la propriété. Par exemple, si vous souhaitez ajouter
DBPROP_MAXROWS
, passezMAXROWS
comme premier élément. S’il s’agit d’une propriété personnalisée, transmettez le nom GUID complet (par exemple).DBMYPROP_MYPROPERTY
Type de variante de la propriété (dans les propriétés OLE DB dans la référence du programmeur OLE DB). Entrez le type VT_ (par exemple, VT_BOOL ou VT_I2) correspondant au type de données.
Indicateurs pour indiquer si la propriété est lisible et accessible en écriture et le groupe auquel elle appartient. Par exemple, le code suivant indique une propriété en lecture/écriture appartenant au groupe d’ensembles de lignes :
DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE
Valeur de base de la propriété. Il peut s’agir
VARIANT_FALSE
d’un type booléen ou de zéro pour un type entier, par exemple. La propriété a cette valeur, sauf si elle est modifiée.Remarque
Certaines propriétés sont connectées ou chaînées à d’autres propriétés, telles que les signets ou la mise à jour. Lorsqu’un consommateur définit une propriété sur true, une autre propriété peut également être définie. Les modèles de fournisseur OLE DB prennent en charge cela via la méthode CUtlProps ::OnPropertyChanged.
Propriétés ignorées par les fournisseurs Microsoft OLE DB
Les fournisseurs Microsoft OLE DB ignorent les propriétés OLE DB suivantes :
DBPROP_MAXROWS
fonctionne uniquement pour les fournisseurs en lecture seule (c’est-à-dire, oùDBPROP_IRowsetChange
etDBPROP_IRowsetUpdate
sontfalse
) ; sinon cette propriété n’est pas prise en charge.DBPROP_MAXPENDINGROWS
est ignoré ; le fournisseur spécifie sa propre limite.DBPROP_MAXOPENROWS
est ignoré ; le fournisseur spécifie sa propre limite.DBPROP_CANHOLDROWS
est ignoré ; le fournisseur spécifie sa propre limite.