Constantes PROPSETFLAG

Les constantes PROPSETFLAG définissent les caractéristiques d’un jeu de propriétés. Les valeurs, répertoriées dans le tableau suivant, sont utilisées dans le paramètre grfFlags des méthodes IPropertySetStorage , la fonction StgCreatePropStg et la fonction StgOpenPropStg .

Constante/valeur Description
PROPSETFLAG _ 0 par défaut
Si la valeur n’est pas spécifiée, par défaut, seules des valeurs de propriété simples peuvent être écrites dans le jeu de propriétés. L’utilisation de valeurs de propriété simples empêche les jeux de propriétés d’être traités dans le fichier composé et les implémentations autonomes de IPropertySetStorage. Les valeurs de propriété non-e doivent être utilisées à cette fin.
PROPSETFLAG _ SIMPLE
1
Si elles sont spécifiées, les valeurs de propriété non simples peuvent être écrites dans le jeu de propriétés et le jeu de propriétés est enregistré dans un objet de stockage. Les valeurs de propriété non simples incluent celles avec un VARTYPE de _ stockage VT, de flux VT, d’objet de stockage _ VT _ ou d’objet de _ _ diffusion VT _ . Si cet indicateur n’est pas spécifié, les types non simples ne peuvent pas être écrits dans le jeu de propriétés. Dans le fichier composé et les implémentations autonomes, les jeux de propriétés peuvent être traités uniquement si PROPSETFLAG non _ simple est spécifié.
PROPSETFLAG _ ANSI
2
Si cette valeur est spécifiée, toutes les valeurs de chaîne dans le jeu de propriétés qui ne sont pas explicitement Unicode, autrement dit, celles autres que VT _ LPWStr, sont stockées avec la page de codes ANSI du système en cours. Pour plus d’informations, consultez GetACP. L’utilisation de cette valeur n’est pas recommandée. Pour plus d'informations, consultez la section Notes.
Si cette valeur est absente, les valeurs de chaîne dans le nouveau jeu de propriétés sont stockées au format Unicode. Le degré de contrôle fourni par cette valeur est nécessaire pour que les clients qui utilisent les interfaces liées aux propriétés puissent interagir avec les jeux de propriétés standard, tels que les informations de résumé de OLE2, qui peuvent exister dans la page de codes ANSI.
PROPSETFLAG _ Non mis en mémoire tampon
4
Utilisé uniquement avec les fonctions StgCreatePropStg et StgOpenPropStg ; autrement dit, dans les implémentations autonomes des interfaces de jeu de propriétés. Si elles sont spécifiées dans ces fonctions, les modifications apportées au jeu de propriétés ne sont pas mises en mémoire tampon. Au lieu de cela, les modifications sont toujours écrites directement dans le jeu de propriétés. Les appels à une méthode Property Set IPropertyStorage le modifient. Toutefois, par défaut, les modifications sont mises en mémoire tampon dans un cache de jeu de propriétés interne et sont ensuite écrites dans la propriété définie lors de l’appel de la méthode IPropertyStorage :: Commit .
La définition de PROPSETFLAG non _ mis en mémoire tampon diminue les performances, car la mémoire tampon interne du jeu de propriétés est vidée automatiquement après chaque modification apportée au jeu de propriétés. Toutefois, l’écriture de modifications directement empêchera les problèmes de coordination. Par exemple, si l’objet de stockage est ouvert en mode traité, et si le jeu de propriétés est mis en mémoire tampon. Ensuite, si vous appelez la méthode IStorage :: Commit sur l’objet de stockage, les modifications du jeu de propriétés ne sont pas récupérées dans le cadre de la transaction, car elles se trouvent dans une mémoire tampon qui n’a pas encore été vidée. Vous devez appeler IPropertyStorage :: Commit avant d’appeler IStorage :: Commit pour vider la mémoire tampon du jeu de propriétés avant de valider les modifications apportées au stockage. Comme alternative à la création de deux appels, vous pouvez définir PROPSETFLAG non _ mis en mémoire tampon afin que les modifications soient toujours écrites directement dans le jeu de propriétés et ne soient jamais mises en mémoire tampon dans le cache interne de l’ensemble de propriétés. Ensuite, les modifications sont récupérées lorsque le stockage traité est validé.
PROPSETFLAG _ Respect _
de la casse
8
S’ils sont spécifiés, les noms de propriété respectent la casse. Les noms de propriétés respectant la casse ne sont possibles que dans le format de sérialisation du jeu de propriétés de la version 1. Pour plus d’informations, consultez sérialisation du jeu de propriétés.

Notes

Ces valeurs peuvent être définies et vérifiées à l’aide d’opérations au niveau du bit qui déterminent la façon dont les jeux de propriétés sont créés et ouverts. Les jeux de propriétés sont créés à l’aide de la méthode IPropertySetStorage :: Create ou de la fonction StgCreatePropStg . Ils sont ouverts à l’aide de la méthode IPropertySetStorage :: Open ou de la fonction StgOpenPropStg .

Il est recommandé de créer les jeux de propriétés en Unicode en ne définissant pas l’indicateur _ ANSI PROPSETFLAG dans le paramètre grfFlags . Il est également recommandé d’éviter d’utiliser _ des valeurs VT LPSTR et d’utiliser à la _ place des valeurs VT LPWStr. Quand la page de codes du jeu de propriétés est Unicode, les _ valeurs de chaîne de VT LPSTR sont converties au format Unicode lorsqu’elles sont stockées, puis reconverties en valeurs de chaîne multioctets lors de leur récupération. Lorsque la page de codes du jeu de propriétés n’est pas Unicode, les noms de propriétés, les _ Chaînes VT BSTR et les valeurs de propriété non simples sont convertis en chaînes multioctets lorsqu’elles sont stockées, puis reconvertis en Unicode lors de leur extraction, le tout à l’aide de la page de codes ANSI du système actuelle.

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel - [Applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server - [Applications de bureau uniquement]
En-tête
Propidl. h

Voir aussi

FmtIdToPropStgName

IPropertySetStorage :: Create

IPropertySetStorage :: Open

PropStgNameToFmtId

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg