Estructura DOCUMENTPROPERTYHEADER (winddiui.h)
La estructura DOCUMENTPROPERTYHEADER se usa como parámetro de entrada para la función DrvDocumentPropertySheets de una interfaz de impresora DLL.
Sintaxis
typedef struct _DOCUMENTPROPERTYHEADER {
WORD cbSize;
WORD Reserved;
HANDLE hPrinter;
LPTSTR pszPrinterName;
PDEVMODE pdmIn;
PDEVMODE pdmOut;
DWORD cbOut;
DWORD fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;
Miembros
cbSize
Tamaño, en bytes, de la estructura DOCUMENTPROPERTYHEADER.
Reserved
Reservado. Debe ser cero.
hPrinter
Controlador de impresora.
pszPrinterName
Puntero a una cadena terminada en NULL que representa el nombre de la impresora.
pdmIn
Puntero a una estructura DEVMODEW de entrada que la función DrvDocumentPropertySheets debe copiar en la estructura INTERNA de DEVMODEW del ARCHIVO DLL de la interfaz de impresora (antes de que se muestre la hoja de propiedades, si procede). Si DM_IN_BUFFER o DM_MODIFY no se establece en fMode, este puntero es NULL.
pdmOut
Puntero a una estructura DEVMODEW de salida en la que la función DrvDocumentPropertySheets debe copiar el contenido interno de DEVMODEW del ARCHIVO DLL de la interfaz de impresora (después de que se muestre la hoja de propiedades, si procede). Si DM_OUT_BUFFER o DM_COPY no se establece en fMode, este puntero es NULL.
cbOut
Especifica el tamaño, en bytes, del búfer al que apunta pdmOut . Para obtener más información, vea la sección Comentarios que se muestra más adelante.
fMode
Una o varias de las marcas de bits enumeradas en la tabla siguiente. (Las marcas se definen en los archivos de encabezado Wingdi.h y Winddiui.h).
Marca | Definición |
---|---|
No hay marcas establecidas (es decir, fMode es 0). | La función DrvDocumentPropertySheets debe devolver el tamaño, en bytes, de su estructura DEVMODEW, incluidos todos los miembros públicos y privados, en el miembro cbOut . |
DM_ADVANCED | Si se establece, la función DrvDocumentPropertySheets solo debe crear la página de documento Avanzado. Si no se establece, la función DrvDocumentPropertySheets debe crear las páginas de documento PageSetup y Advanced. (Vea la descripción del miembro pDlgPage de la estructura COMPROPSHEETUI ). |
DM_IN_BUFFER o DM_MODIFY | El autor de la llamada ha proporcionado un puntero de estructura DEVMODEW en pdmIn y la función DrvDocumentPropertySheets debe actualizar su estructura DEVMODEW interna para reflejar el contenido del DEVMODEW proporcionado. |
DM_IN_PROMPT o DM_PROMPT | La función DrvDocumentPropertySheets debe crear sus páginas de hojas de propiedades. (Esta marca nunca se establece si el parámetro pPSUIInfo de la función DrvDocumentPropertySheets es NULL). |
DM_NOPERMISSION | La devolución de llamada _CPSUICALLBACK tipo dll de la interfaz de impresora no debe permitir que el usuario modifique las propiedades en las páginas de la hoja de propiedades mostradas. |
DM_OUT_BUFFER o DM_COPY | El llamador ha proporcionado un puntero de estructura DEVMODEW en pdmOut, y la función DrvDocumentPropertySheets debe copiar el contenido de su estructura DEVMODEW interna en el DEVMODEW proporcionado. |
DM_PROMPT_NON_MODAL | La función DrvDocumentPropertySheets debe crear sus páginas de hojas de propiedades e iniciar una interfaz de usuario no modal. (Esta marca nunca se establece si el parámetro pPSUIInfo de la función DrvDocumentPropertySheets es NULL). |
DM_USER_DEFAULT | No se usa. |
DM_OUT_DEFAULT o DM_UPDATE | No se usa. |
Comentarios
El valor de entrada del miembro cbOut no es necesariamente igual al tamaño del búfer al que apunta el miembro pdmOut . Por ejemplo, cuando el parámetro pPSUInfo de la función DrvDocumentPropertySheets es NULL y, si el miembro fMode de la estructura DOCUMENTPROPERTYHEADER es cero o el miembro pdmOut de la misma estructura es NULL, un controlador debe escribir el tamaño total de la estructura DEVMODEW de la impresora (incluidos los miembros de estructura pública y privada) en el miembro cbOut . En tal caso, un controlador debe tratar al miembro cbOut como miembro de "solo escritura". Por lo tanto, el controlador no debe usar el miembro cbOut como tamaño del búfer al que apunta el miembro pdmOut si se ha llamado a la función DrvDocumentPropertySheets. El ejemplo de "trazador" que se incluye con el Kit de controladores de Windows (WDK) muestra cómo usar el miembro cbOut correctamente.
Requisitos
Requisito | Valor |
---|---|
Header | winddiui.h (incluya Winddiui.h) |