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) |