Partager via


Structure DOCUMENTPROPERTYHEADER (winddiui.h)

La structure DOCUMENTPROPERTYHEADER est utilisée comme paramètre d’entrée pour la fonction DrvDocumentPropertySheets d’une DLL d’imprimante .

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 zéro.

hPrinter

Handle d’imprimante.

pszPrinterName

Pointeur vers une chaîne terminée par null représentant le nom de l’imprimante.

pdmIn

Pointeur vers une structure DEVMODEW d’entrée que la fonction DrvDocumentPropertySheets doit copier dans la structure DEVMODEW interne de la DLL d’imprimante (avant l’affichage de la feuille de propriétés, le cas échéant). Si DM_IN_BUFFER ou DM_MODIFY n’est pas défini dans fMode, ce pointeur a la valeur NULL.

pdmOut

Pointeur vers une structure DEVMODEW de sortie dans laquelle la fonction DrvDocumentPropertySheets doit copier le contenu DEVMODEW interne de la DLL d’imprimante (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 a la valeur NULL.

cbOut

Spécifie la taille, en octets, de la mémoire tampon vers laquelle pdmOut pointe. Pour plus d'informations, consultez la section Notes qui suit.

fMode

Un ou plusieurs des 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.)

Indicateur Définition
Aucun indicateur défini (autrement dit, fMode a la valeur 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é. Si elle n’est pas définie, la fonction DrvDocumentPropertySheets doit créer à la fois les pages PageSetup et Advanced document. (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 pPSUIInfo de la fonction DrvDocumentPropertySheets est NULL.)
DM_NOPERMISSION Le rappel de type _CPSUICALLBACK de la DLL d’imprimante ne doit pas permettre à l’utilisateur de modifier les propriétés des pages de la 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 pPSUIInfo de la fonction DrvDocumentPropertySheets est NULL.)
DM_USER_DEFAULT Non utilisé.
DM_OUT_DEFAULT ou DM_UPDATE Non utilisé.

Notes

La valeur d’entrée dans le 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 a la valeur NULL et que le membre fMode de la structure DOCUMENTPROPERTYHEADER est égal à zéro ou que le membre pdmOut de la même structure est NULL, un pilote doit écrire la taille totale de la structure DEVMODEW de 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 comme un membre « en écriture seule ». Par conséquent, votre pilote ne doit pas utiliser le 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 « traceur » fourni avec le Kit de pilotes Windows (WDK) montre comment utiliser correctement le membre cbOut .

Configuration requise

Condition requise Valeur
En-tête winddiui.h (inclure Winddiui.h)

Voir aussi

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

Exemple de pilote de traceur MSPLOT