Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A estrutura PSCRIPT5_PRIVATE_DEVMODE permite que plug-ins Pscript5 determinem o tamanho da parte privada da estrutura DEVMODEW do Pscript5.
Sintaxe
typedef struct _PSCRIPT5_PRIVATE_DEVMODE {
WORD wReserved[57];
WORD wSize;
} PSCRIPT5_PRIVATE_DEVMODE, *PPSCRIPT5_PRIVATE_DEVMODE;
Members
wReserved[57]
Reservado para uso do sistema.
wSize
O tamanho, em bytes, da parte privada da estrutura DEVMODEW do Pscript5.
Observações
Para obter informações sobre as seções públicas e privadas da estrutura DEVMODEW , consulte DEVMODEW.
Printoem.h define uma macro que você pode usar para determinar o tamanho da parte privada da estrutura DEVMODEW do Pscript5.
#define GET_PSCRIPT5_PRIVATE_DEVMODE_SIZE(pdm)\
( ( (pdm)->dmDriverExtra > (FIELD_OFFSET(PSCRIPT5_PRIVATE_DEVMODE, wSize) + sizeof(WORD)) ) ? \
((PPSCRIPT5_PRIVATE_DEVMODE)((PBYTE)(pdm) + (pdm)-> dmSize)) -> wSize : 0 )
O argumento pdm na macro GET_PSCRIPT5_PRIVATE_DEVMODE_SIZE é um ponteiro para uma estrutura DEVMODEW . A macro determina se o valor do membro dmDriverExtra da estrutura DEVMODEW é maior que o deslocamento de bytes do membro wSize da estrutura PSCRIPT5_PRIVATE_DEVMODE . Em caso afirmativo, a macro retornará o valor do membro wSize na estrutura PSCRIPT5_PRIVATE_DEVMODE . Caso contrário, a macro retornará zero.
Para determinar com segurança o endereço da parte privada da estrutura DEVMODEW do plug-in, faça o seguinte:
Chame a macro GET_PSCRIPT5_PRIVATE_DEVMODE_SIZE , passando o endereço da estrutura DEVMODEW na chamada.
Verifique se (pdm)->dmDriverExtra é maior que o valor retornado pela macro. (A macro retorna o valor do membro wSize da estrutura PSCRIPT5_PRIVATE_DEVMODE .)
Determine o endereço da parte privada da estrutura DEVMODEW do plug-in da seguinte maneira.
pdmPlugin = (PBYTE)(pdm) + (pdm)->dmSize + wSize;O exemplo anterior começa com o endereço da estrutura de DEVMODEW pública (pdm), adiciona o número de bytes dessa estrutura (pdm-dmSize>) e adiciona o tamanho em bytes da estrutura Pscript5 private DEVMODEW (wSize). Os dados DEVMODEW privados de um plug-in começam neste endereço de memória. Se houver vários plug-ins encadeados juntos, o endereço retornado por este exemplo é o dos dados de DEVMODEW privados do primeiro plug-in.
Os dados de DEVMODEW privados do segundo plug-in seguem os dados DEVMODEW privados do primeiro plug-in, os dados DEVMODEW privados do terceiro plug-in seguem os dos dados de DEVMODEW privados do segundo plug-in e assim por diante. Um desenvolvedor de plug-in que precisa determinar o endereço dos dados DEVMODEW privados do plug-in n-th deve saber os tamanhos dos dados DEVMODEW privados para os primeiros plug-ins n - 1.
Verifique se a parte privada da estrutura DEVMODEW do plug-in começa com uma estrutura de OEM_DMEXTRAHEADER válida.
Requirements
| Requirement | Value |
|---|---|
| Header | printoem.h (inclua Printoem.h) |