Compartilhar via


Estrutura DOCUMENTPROPERTYHEADER (winddiui.h)

A estrutura DOCUMENTPROPERTYHEADER é usada como um parâmetro de entrada para a função DrvDocumentPropertySheets da interface da impressora.

Sintaxe

typedef struct _DOCUMENTPROPERTYHEADER {
  WORD     cbSize;
  WORD     Reserved;
  HANDLE   hPrinter;
  LPTSTR   pszPrinterName;
  PDEVMODE pdmIn;
  PDEVMODE pdmOut;
  DWORD    cbOut;
  DWORD    fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;

Membros

cbSize

Tamanho, em bytes, da estrutura DOCUMENTPROPERTYHEADER.

Reserved

Reservado. Deve ser zero.

hPrinter

Identificador de impressora.

pszPrinterName

Ponteiro para uma cadeia de caracteres terminada em NULL que representa o nome da impressora.

pdmIn

Ponteiro para uma estrutura dedeDEVMODEW de entrada que a função DrvDocumentPropertySheets deve copiar para a estrutura de interna de DEVMODEW da interface da impressora (antes que a folha de propriedades seja exibida, se aplicável). Se DM_IN_BUFFER ou DM_MODIFY não estiver definido em fMode, esse ponteiro será NULL.

pdmOut

Ponteiro para uma estrutura de de saída DEVMODEW na qual a função DrvDocumentPropertySheets deve copiar o conteúdo de interno da DLL da interface da impressora (após a exibição da folha de propriedades, se aplicável). Se DM_OUT_BUFFER ou DM_COPY não estiver definido em fMode, esse ponteiro será NULL.

cbOut

Especifica o tamanho, em bytes, do buffer ao qual pdmOut pontos. Para obter mais informações, consulte a seção Comentários a seguir.

fMode

Um ou mais dos sinalizadores de bit listados na tabela a seguir. (Os sinalizadores são definidos nos arquivos de cabeçalho Wingdi.h e Winddiui.h.)

Bandeira Definição
Nenhum conjunto de sinalizadores (ou seja, fMode é 0). A função DrvDocumentPropertySheets deve retornar o tamanho, em bytes, de sua estrutura DEVMODEW, incluindo todos os membros públicos e privados, no membro cbOut.
DM_ADVANCED Se definido, a função DrvDocumentPropertySheets deve criar apenas a página de documento Avançado. Se não estiver definida, a função DrvDocumentPropertySheets deverá criar as páginas de documentos PageSetup e Advanced. (Consulte a descrição do membro pDlgPage da estrutura de COMPROPSHEETUI.)
DM_IN_BUFFER ou DM_MODIFY O chamador forneceu um ponteiro de estrutura DEVMODEW em pdmIne a função DrvDocumentPropertySheets deve atualizar sua estrutura de DEVMODEW interna para refletir o conteúdo do DEVMODEW fornecido.
DM_IN_PROMPT ou DM_PROMPT A função DrvDocumentPropertySheets deve criar suas páginas de folha de propriedades. (Esse sinalizador nunca será definido se o parâmetro DrvDocumentPropertySheets da função pPSUIInfo estiver NULL .)
DM_NOPERMISSION O retorno de chamada _CPSUICALLBACKda interface da impressora DLL não deve permitir que o usuário modifique as propriedades nas páginas da folha de propriedades exibidas.
DM_OUT_BUFFER ou DM_COPY O chamador forneceu um ponteiro de estrutura DEVMODEW em pdmOut e a função DrvDocumentPropertySheets deve copiar o conteúdo de sua estrutura DEVMODEW interna para o DEVMODEW fornecido.
DM_PROMPT_NON_MODAL A função DrvDocumentPropertySheets deve criar suas páginas de folha de propriedades e iniciar uma interface do usuário não modal. (Esse sinalizador nunca será definido se o parâmetro DrvDocumentPropertySheets da função pPSUIInfo estiver NULL .)
DM_USER_DEFAULT Não usado.
DM_OUT_DEFAULT ou DM_UPDATE Não usado.

Observações

O valor de entrada no membro cbOut do não é necessariamente igual ao tamanho do buffer apontado pelo membro pdmOut. Por exemplo, quando o parâmetro pPSUInfo da função DrvDocumentPropertySheets é NULL e se o membro fMode da estrutura DOCUMENTPROPERTYHEADER for zero, ou o membro pdmOut da mesma estrutura é NULL, um driver deve gravar o tamanho total da estrutura deDEVMODEWda impressora (incluindo os membros da estrutura pública e privada) no membro cbOut. Nesse caso, um driver deve tratar o membro cbOut como um membro "somente gravação". Portanto, o driver não deve usar membro cbOut como o tamanho do buffer apontado pelo membro pdmOut se a função DrvDocumentPropertySheets tiver sido chamada. O exemplo de "plotador" fornecido com o WDK (Windows Driver Kit) demonstra como usar o membro cbOut corretamente.

Requisitos

Requisito Valor
cabeçalho winddiui.h (inclua Winddiui.h)

Consulte também

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

exemplo de driver de plotador MSPLOT