Função DrvDeviceCapabilities (winddiui.h)

A função DrvDeviceCapabilities de uma interface de impressora retorna informações solicitadas sobre os recursos de uma impressora.

Sintaxe

DWORD DrvDeviceCapabilities(
                 HANDLE   hPrinter,
  [in]           PWSTR    pszDeviceName,
                 WORD     Capability,
  [out]          PVOID    pOutput,
  [in, optional] PDEVMODE pDevmode
);

Parâmetros

hPrinter

Identificador de impressora fornecido pelo chamador.

[in] pszDeviceName

Ponteiro fornecido pelo chamador para uma cadeia de caracteres de nome de impressora.

Capability

Sinalizador de bits fornecido pelo chamador indicando as informações que estão sendo solicitadas. Esse pode ser um dos sinalizadores listados na tabela a seguir. (Os sinalizadores são definidos no arquivo de cabeçalho Wingdi.h.)

Sinalizador Definição
DC_BINADJUST Não usado para sistemas operacionais baseados em NT.
DC_BINNAMES O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz de buffers de cadeia de caracteres, cada um com 24 caracteres de comprimento. Cada buffer de cadeia de caracteres na matriz deve conter uma cadeia de caracteres largos terminada em NULL especificando o nome de um compartimento de origem de papel. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_BINS O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz WORD. Cada elemento de matriz deve conter uma constante prefixada DMBIN (ou valor personalizado) que representa um compartimento de origem de papel com suporte. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_COLLATE O parâmetro pOutput não é usado. O valor retornado da função deverá ser 1 se a impressora der suporte à agrupamento; caso contrário, o valor retornado deve ser zero.
DC_COLORDEVICE O parâmetro pOutput não é usado. O valor retornado da função deverá ser 1 se a impressora der suporte à impressão de cores; caso contrário, o valor retornado deve ser zero.
DC_COPIES O parâmetro pOutput não é usado. O valor retornado da função deve ser o número máximo de cópias às quais a impressora pode dar suporte.
DC_DATATYPE_PRODUCED Não usado para sistemas operacionais baseados em NT.
DC_DRIVER O parâmetro pOutput não é usado. O valor retornado da função deve ser o membro dmDriverVersion da estrutura interna [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) do driver.
DC_DUPLEX O parâmetro pOutput não é usado. O valor retornado da função deverá ser 1 se a impressora der suporte à impressão duplex; caso contrário, o valor retornado deve ser zero.
DC_EMF_COMPLIANT Não usado para sistemas operacionais baseados em NT.
DC_ENUMRESOLUTIONS O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz LONG. Para cada resolução compatível com a impressora, a função deve retornar duas palavras longas (uma para a dimensão x e outra para a dimensão y ) da resolução, em pontos por polegada. O valor retornado da função deve ser o número de resoluções com suporte. Se pOutput for NULL, a função deverá retornar apenas o número de resoluções com suporte.
DC_EXTRA O parâmetro pOutput não é usado. O valor retornado da função deve ser o membro dmDriverExtra da estrutura interna do driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_FIELDS O parâmetro pOutput não é usado. O valor retornado da função deve ser o membro dmFields da estrutura interna do driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew). O membro dmFields indica quais membros na parte independente do dispositivo da estrutura DEVMODEW têm suporte do driver de impressora.
DC_FILEDEPENDENCIES O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz de buffers de cadeia de caracteres, cada um com 64 caracteres de comprimento. Cada buffer de cadeia de caracteres na matriz deve conter uma cadeia de caracteres largos terminada em NULL especificando o nome de um arquivo que deve ser instalado com o driver. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_MANUFACTURER Não usado para sistemas operacionais baseados em NT.
DC_MAXEXTENT O parâmetro pOutput não é usado. A função deve retornar uma estrutura POINTS (descrita na documentação do SDK do Microsoft Windows). A estrutura deve conter os valores máximos permitidos para os membros dmPaperWidth (dimensão x ) e dmPaperLength (dimensão y ) da estrutura DEVMODEW da impressora.
DC_MEDIAREADY O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz de buffers de cadeia de caracteres, cada um com 64 caracteres de comprimento. Cada buffer de cadeia de caracteres na matriz deve conter uma cadeia de caracteres largos terminada em NULL especificando o nome de um formulário de papel disponível para uso. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_MEDIATYPENAMES O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz de buffers de cadeia de caracteres, cada um com 64 caracteres de comprimento. Cada buffer de cadeia de caracteres na matriz deve conter uma cadeia de caracteres largos terminada em NULL especificando o nome de um tipo de mídia com suporte. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá simplesmente retornar o número de elementos de matriz necessários.
DC_MEDIATYPES O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz DWORD. Cada elemento de matriz deve conter uma constante prefixada DMMEDIA (consulte a estrutura [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) ou o valor personalizado que representa um tipo de mídia com suporte. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá simplesmente retornar o número de elementos de matriz necessários.
DC_MINEXTENT O parâmetro pOutput não é usado. A função deve retornar uma estrutura POINTS (descrita na documentação do SDK do Windows). A estrutura deve conter os valores mínimos permitidos para os membros dmPaperWidth (dimensão x ) e dmPaperLength (dimensão y ) da estrutura DEVMODEW da impressora.
DC_MODEL Não usado para sistemas operacionais baseados em NT.
DC_NUP O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz DWORD. Cada elemento de matriz deve conter um inteiro que representa uma opção N-up (ou seja, cada inteiro deve representar um número com suporte de páginas de documento por página física). O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_ORIENTATION O parâmetro pOutput não é usado. O valor retornado da função deve ser o número de graus de rotação necessários para produzir orientação paisagem da orientação retrato. Um valor igual a zero indica que não há suporte para a orientação paisagem.
DC_PAPERNAMES O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz de buffers de cadeia de caracteres, cada um com 64 caracteres de comprimento. Cada buffer de cadeia de caracteres na matriz deve conter uma cadeia de caracteres largos terminada em NULL especificando o nome de um formulário de papel. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_PAPERS O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz WORD. Cada elemento de matriz deve conter uma constante prefixada DMPAPER (ou valor personalizado) que representa um formulário de papel com suporte. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_PAPERSIZE O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz POINT. Cada elemento de matriz deve conter as dimensões x e y do tamanho do papel de um formulário, em unidades de 0,1 mm, na orientação retrato. O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_PERSONALITY O parâmetro pOutput aponta para um buffer que a função deve preencher com uma matriz de buffers de cadeia de caracteres, cada um com 32 caracteres de comprimento. Cada buffer de cadeia de caracteres na matriz deve conter uma cadeia de caracteres largos terminada em NULL especificando o idioma de descrição da impressora compatível com a impressora (por exemplo, L"HP-GL/2"). O valor retornado da função deve ser o número de elementos na matriz retornada. Se pOutput for NULL, a função deverá retornar apenas o número de elementos de matriz necessários.
DC_PRINTERMEM O parâmetro pOutput não é usado. O valor retornado da função deve ser um inteiro que representa a quantidade de memória da impressora disponível, em quilobytes.
DC_PRINTRATE O parâmetro pOutput não é usado. O valor retornado da função deve ser um inteiro que representa a taxa de impressão, nas unidades especificadas para DC_PRINTRATEUNIT.
DC_PRINTRATEPPM O parâmetro pOutput não é usado. O valor retornado da função deve ser um inteiro que representa a taxa de impressão, em páginas por minuto.
DC_PRINTRATEUNIT O parâmetro pOutput não é usado. O valor retornado da função deve identificar as unidades usadas para especificar o valor retornado para DC_PRINTRATE. Uma das seguintes constantes deve ser especificada: PRINTRATEUNIT_PPM - páginas/min. PRINTRATEUNIT_CPS - chars./s. PRINTRATEUNIT_LPM - lines/min. PRINTRATEUNIT_IPM - polegadas/min.
DC_SIZE O parâmetro pOutput não é usado. O valor retornado da função deve ser o membro dmSize da estrutura interna do driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_STAPLE O parâmetro pOutput não é usado. O valor retornado da função deverá ser TRUE se a impressora der suporte a stapling e FALSE se a impressora não der suporte a stapling.
DC_TRUETYPE O parâmetro pOutput não é usado. O valor retornado da função pode ser zero, um ou mais dos seguintes sinalizadores: DCTT_BITMAP: o dispositivo pode imprimir fontes TrueType como gráficos. DCTT_DOWNLOAD: o dispositivo pode aceitar fontes TrueType baixadas. DCTT_DOWNLOAD_OUTLINE: (somente Windows 95/98/Me) O dispositivo pode baixar fontes TrueType de estrutura de tópicos. DCTT_SUBDEV: o dispositivo pode substituir fontes de dispositivo por fontes TrueType.
DC_VERSION O parâmetro pOutput não é usado. O valor retornado da função deve ser o membro dmSpecVersion da estrutura interna do driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).

[out] pOutput

Um ponteiro fornecido pelo chamador para um buffer para receber informações fornecidas pela função. O uso do buffer depende do valor recebido para o parâmetro Capability .

[in, optional] pDevmode

Um ponteiro fornecido pelo chamador para uma estrutura DEVMODEW que descreve as características atuais do trabalho de impressão. Se esse parâmetro for NULL, DrvDeviceCapabilities recuperará os valores de inicialização padrão atuais para o driver de impressora especificado, como a estrutura DEVMODEW padrão do usuário da fila de impressão.

Retornar valor

O valor retornado da função depende do valor recebido para o parâmetro Capability . Se o valor de Capacidade recebido representar uma funcionalidade à qual o driver não dá suporte ou se um erro for encontrado, a função deverá retornar GDI_ERROR.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho winddiui.h (inclua Winddiui.h)