Partager via


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)

Voir aussi

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

exemple de pilote mspLOT Plotter