Compartilhar via


DrvEnablePDEV

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função permite que um contexto dispositivo para desenho e retorna métricas dispositivo para o dispositivo de impressora ou exibir destino em uma GDIINFO estrutura. Do impressora drivers chamar um driver exibir DrvEnablePDEV função para criar e inicializar o contexto dispositivo e, em seguida, substituir métricas dispositivo da impressora antes de retornar o contexto dispositivo para a interface dispositivo gráfico (GDI) para processamento bitmap.

Syntax

DHPDEV APIENTRY DrvEnablePDEV(
  DEVMODEW* pdm,
  LPWSTR pwszLogAddress,
  ULONG cPat,
  HSURF* phsurfPatterns,
  ULONG cjCaps,
  ULONG* pdevcaps,
  ULONG cjDevInfo,
  DEVINFO* pdi,
  HDEV hdev,
  LPWSTR pwszDeviceName,
  HANDLE hDriver 
);

Parameters

  • Pdm
    [no] Ponteiro para um DEVMODEW estrutura que contém dados driver. DrvEnablePDEV deve retornar o modo padrão do hardware quando GDI chama-lo com o dmBitsPerPel, dmPelsWidth, dmPelsHeight, e dmDisplayFrequency Os membros do DEVMODEW Defina como 0.
  • pwszLogAddress
    [no] Drivers de vídeo devem ignorar este parâmetro. Para drivers de impressora, um ponteiro para o seqüência de caracteres endereço lógico que é nome de usuário para a localidade à qual o driver está gravando. Os exemplos incluem "lpt1" ou "Minha impressora."
  • cPat
    [no] Drivers de vídeo devem ignorar este parâmetro. Para drivers de impressora, o número de identificadores de superfície na reserva apontado pelo phsurfPatterns. O driver não pode acessar memória além do fim da reserva.
  • phsurfPatterns
    [out] Drivers de vídeo devem ignorar este parâmetro. Para drivers de impressora, este é um ponteiro para uma reserva que o driver preenche com alças de superfície que representam o padrão preencher padrões. Chamadas GDI DrvRealizeBrush Com um desses superfícies para perceber um pincel com um padrão padrão.

    Cada um desses superfícies deve ser um monocromático, 1 bit por pixel, bitmap GDI para dispositivos de varredura. O driver de dispositivo deve escolher padrões que irá aspecto mais como padrão padrões quando gravados na superfície do dispositivo.

    GDI nunca é exigido para usar esses cursores nos rotinas suporte para um dispositivo vetor. Portanto, superfícies podem ser dispositivo - com suporte surfaces que DrvRealizeBrush reconhece como padrão padrões.

    A seguinte tabela mostra os padrões que você deve definir, na ordem.

    Padrão Descrição

    HS_HORIZONTAL

    Hachura horizontal.

    HS_VERTICAL

    Hachura vertical.

    HS_FDIAGONAL

    Hachura ascendente 45 graus de esquerda para a direita.

    HS_BDIAGONAL

    Hachura descendente de 45 graus de esquerda para a direita.

    HS_CROSS

    Os hachurados cruzado horizontal e vertical.

    HS_DIAGCROSS

    Hachura de 45 graus.

  • cjCaps
    [no] Tamanho da reserva apontado pelo pdevcaps. O driver necessário não acessar memória além do fim da reserva.
  • pdevcaps
    [out] Ponteiro para um GDIINFO estrutura que descreve recursos dispositivo. GDI zero-inicializa esse chamado estrutura DrvEnablePDEV.
  • cjDevInfo
    [no] Número de bytes na DEVINFO estrutura apontada pelo PDI. O driver deve modificar não mais que esse número de bytes em DEVINFO.
  • PDI
    [out] Ponteiro para o DEVINFO estrutura, que descreve o driver e o físico dispositivo. O driver só deve alterar os membros que ele compreende. GDI preenche esta estrutura com zeros antes uma chamar para DrvEnablePDEV.
  • hdev
    [no] GDI-supplied identificador para o dispositivo. Esse identificador é a entrada para alguns retornos de chamada GDI, como EngGetDriverName.
  • pwszDeviceName
    [no] Ponteiro para uma seqüência de caracteres zero-Terminated que é o nome User-Readable do dispositivo.
  • hDriver
    [no] Driver que suporta o dispositivo. Para um driver de impressora, use este parâmetro como um identificador para a impressora quando chamado o spooler.

Return Value

Identificador para o PDEV que identifica o habilitado dispositivo se a função for bem-sucedido. Ou seja, DrvEnablePDEV Retorna um identificador para as informações instância dispositivo particular, driver-defined ao sucesso. Caso contrário, retornará NULL.

Remarks

DrvEnablePDEV é exigido para drivers gráficos.

Um driver de dispositivo de elementos gráficos talvez suporte físico vários dispositivos anexado para diferentes endereços lógicos. Drivers devem também suporte uso simultâneo de diferentes superfícies de desenho.

Os objetivos DrvEnablePDEV a serem informar GDI do físico características do dispositivo e para criar uma Private PDEV estrutura descrevendo o atual dispositivo instância baseia o recebidos DEVMODE Nome estrutura e dispositivo. Quando GDI subseqüentemente chama outro driver de dispositivo gráficos funções interface (DDI), ele fornece o identificador retornado por DrvEnablePDEV Como entrada, geralmente em uma SURFOBJ estrutura, para que o driver pode identificar a instância dispositivo.

Um único dispositivo lógico pode gerenciar várias PDEV Estruturas dados. A seguinte tabela mostra como você pode diferenciar o PDEV Estruturas dados.

Método diferenciação Descrição

Tipo de hardware

Talvez um driver de dispositivo única suporte "LaserWhiz," "ii LaserWhiz " e "super LaserWhiz".

Endereço lógico

Um único driver de dispositivo pode impressoras suporte anexado para "lpt1", "COM2 " "\SERVER1\PSLAZER " e assim por diante. Um driver exibir que pode suporte mais de um VGA exibir simultaneamente talvez diferenciá-los números porta de acordo com; de exemplo, 0x3CE ou 0x2CE.

Superfícies

Um driver de impressora pode processo dois imprimir trabalhos simultaneamente. As superfícies dois representam duas páginas impressas. Da mesma forma, um driver de dispositivo exibir talvez suporte duas áreas de trabalho sobre o mesmo dispositivo.

Ao receber um chamar para esta função, o driver deve alocar a memória para suporte a PDEV. No entanto, em seguida, você não precisa para suporte a real superfície até chamadas GDI DrvEnableSurface.

Se uma superfície dispositivo requer um bitmap alocado, você não precisará fazer essas alocações até que você realmente precisar deles. Embora os aplicativos geralmente informações dispositivo solicitação longa antes de realmente escrever para o dispositivo, que estão aguardando para alocar recursos, such as bitmaps grandes, pode economizar memória.

GDI zero-inicializa a reserva apontada pelo phsurfPatterns Antes chamado essa função.

Requirements

Header winddi.h
Library Ddi_ati_lib.lib, Ddi_flat_lib.lib, Ddi_gx_lib.lib, Ddi_mq200_lib.lib, Ddi_nop_lib.lib, Ddi_rflat_lib.lib, Ddi_rgx_lib.lib, Ddi_tvia5_lib.lib
Windows Embedded CE Windows CE 1.0 and later

See Also

Reference

DrvEnableSurface

Other Resources

Display Drivers
Printer Drivers