DrvEnablePDEV
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 |