Estrutura DOCUMENTPROPERTYHEADER (winddiui.h)

A estrutura DOCUMENTPROPERTYHEADER é usada como um parâmetro de entrada para a função DrvDocumentPropertySheets de uma interface de 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 da impressora.

pszPrinterName

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

pdmIn

Ponteiro para uma estrutura DEVMODEW de entrada que a função DrvDocumentPropertySheets deve copiar para a estrutura DEVMODEW interna da DLL 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 DEVMODEW de saída na qual a função DrvDocumentPropertySheets deve copiar o conteúdo DEVMODEW interno da DLL da interface da impressora (depois que a folha de propriedades tiver sido exibida, 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 para o qual pdmOut aponta. 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.)

Sinalizador 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 definida, a função DrvDocumentPropertySheets só deverá criar a página Documento avançado. Se não estiver definida, a função DrvDocumentPropertySheets deverá criar as páginas de documento PageSetup e Advanced. (Consulte a descrição do membro pDlgPage da estrutura COMPROPSHEETUI .)
DM_IN_BUFFER ou DM_MODIFY O chamador forneceu um ponteiro de estrutura DEVMODEW em pdmIn e a função DrvDocumentPropertySheets deve atualizar sua estrutura 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 pPSUIInfo da função DrvDocumentPropertySheets for NULL.)
DM_NOPERMISSION O retorno de chamada do tipo _CPSUICALLBACK da interface da impressora 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 no 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 pPSUIInfo da função DrvDocumentPropertySheets for NULL.)
DM_USER_DEFAULT Não usado.
DM_OUT_DEFAULT ou DM_UPDATE Não usado.

Comentários

O valor de entrada no membro cbOut não é necessariamente igual ao tamanho do buffer apontado pelo membro pdmOut . Por exemplo, quando o parâmetro pPSUInfo da função DrvDocumentPropertySheets for NULL e se o membro fMode da estrutura DOCUMENTPROPERTYHEADER for zero ou o membro pdmOut da mesma estrutura for NULL, um driver deverá gravar o tamanho total da estrutura DEVMODEW da 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 o 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 (Kit de Driver do Windows) demonstra como usar o membro cbOut corretamente.

Requisitos

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

Confira também

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

Exemplo de driver de plotador MSPLOT