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)

Consulte también

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

Ejemplo de controlador de trazador MSPLOT