STRUCTURE DOCUMENTPROPERTYHEADER (winddiui.h)
La structure DOCUMENTPROPERTYHEADER est utilisée comme paramètre d’entrée pour la dll d’interface d’imprimante DrvDocumentPropertySheets fonction.
Syntaxe
typedef struct _DOCUMENTPROPERTYHEADER {
WORD cbSize;
WORD Reserved;
HANDLE hPrinter;
LPTSTR pszPrinterName;
PDEVMODE pdmIn;
PDEVMODE pdmOut;
DWORD cbOut;
DWORD fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;
Membres
cbSize
Taille, en octets, de la structure DOCUMENTPROPERTYHEADER.
Reserved
Réservé. Doit être égal à zéro.
hPrinter
Poignée d’imprimante.
pszPrinterName
Pointeur vers une chaîne terminée par NULL représentant le nom de l’imprimante.
pdmIn
Pointeur vers une structure d’entrée DEVMODEW que la fonction DrvDocumentPropertySheets doit copier dans la structure interne DEVMODEW de l’interface imprimante (avant que la feuille de propriétés ne s’affiche, le cas échéant). Si DM_IN_BUFFER ou DM_MODIFY n’est pas défini dans fMode, ce pointeur est NULL.
pdmOut
Pointeur vers une structure de sortie DEVMODEW dans laquelle la fonction DrvDocumentPropertySheets doit copier le contenu interne de la DLL de l’interface d’imprimante DEVMODEW (une fois la feuille de propriétés affichée, le cas échéant). Si DM_OUT_BUFFER ou DM_COPY n’est pas défini dans fMode, ce pointeur est NULL .
cbOut
Spécifie la taille, en octets, de la mémoire tampon à laquelle pdmOut points. Pour plus d’informations, consultez la section Remarques suivante.
fMode
Un ou plusieurs indicateurs de bits répertoriés dans le tableau suivant. (Les indicateurs sont définis dans les fichiers d’en-tête Wingdi.h et Winddiui.h.)
Drapeau | Définition |
---|---|
Aucun indicateur défini (autrement dit, fMode est 0). | La fonction DrvDocumentPropertySheets doit retourner la taille, en octets, de sa structure DEVMODEW, y compris tous les membres publics et privés, dans le membre cbOut. |
DM_ADVANCED | Si elle est définie, la fonction DrvDocumentPropertySheets doit uniquement créer la page de document Avancé. S’il n’est pas défini, la fonction DrvDocumentPropertySheets doit créer les pages de document PageSetup et Advanced. (Consultez la description du membre pDlgPage de la structure COMPROPSHEETUI.) |
DM_IN_BUFFER ou DM_MODIFY | L’appelant a fourni un pointeur de structure DEVMODEW dans pdmIn, et la fonction DrvDocumentPropertySheets doit mettre à jour sa structure DEVMODEW interne pour refléter le contenu du DEVMODEW fourni. |
DM_IN_PROMPT ou DM_PROMPT | La fonction DrvDocumentPropertySheets doit créer ses pages de feuille de propriétés. (Cet indicateur n’est jamais défini si le paramètre DrvDocumentPropertySheets fonction pPSUIInfo est NULL.) |
DM_NOPERMISSION | Le rappel _CPSUICALLBACKde l’interface d’imprimante ne doit pas permettre à l’utilisateur de modifier les propriétés sur les pages de feuille de propriétés affichées. |
DM_OUT_BUFFER ou DM_COPY | L’appelant a fourni un pointeur de structure DEVMODEW dans pdmOut, et la fonction DrvDocumentPropertySheets doit copier le contenu de sa structure DEVMODEW interne dans le DEVMODEW fourni. |
DM_PROMPT_NON_MODAL | La fonction DrvDocumentPropertySheets doit créer ses pages de feuille de propriétés et lancer une interface utilisateur non modale. (Cet indicateur n’est jamais défini si le paramètre DrvDocumentPropertySheets fonction pPSUIInfo est NULL.) |
DM_USER_DEFAULT | Non utilisé. |
DM_OUT_DEFAULT ou DM_UPDATE | Non utilisé. |
Remarques
La valeur d’entrée du membre cbOut n’est pas nécessairement égale à la taille de la mémoire tampon pointée par le membre pdmOut. Par exemple, lorsque le paramètre pPSUInfo de la fonction DrvDocumentPropertySheets est NULL, et si l'fMode membre de la structure DOCUMENTPROPERTYHEADER est égal à zéro, ou le membre pdmOut de la même structure est NULL, un pilote doit écrire la taille totale de la structureDEVMODEWde l’imprimante (y compris les membres de la structure publique et privée) dans le membre cbOut. Dans ce cas, un pilote doit traiter le membre cbOut en tant que membre « en écriture seule ». Par conséquent, votre pilote ne doit pas utiliser membre cbOut comme taille de la mémoire tampon pointée par le membre pdmOut si la fonction DrvDocumentPropertySheets a été appelée. L’exemple « plotter » fourni avec le Kit de pilotes Windows (WDK) montre comment utiliser correctement le membre cbOut.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | winddiui.h (include Winddiui.h) |