Compartilhar via


Método IPrintCoreUI2::EnumFeatures (prcomoem.h)

O método IPrintCoreUI2::EnumFeatures enumera os recursos disponíveis de uma impressora.

Sintaxe

HRESULT EnumFeatures(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [out] PZZSTR    pmszFeatureList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

Parâmetros

[in] poemuiobj

Ponteiro para o contexto atual, uma estrutura de OEMUIOBJ.

[in] dwFlags

É reservado e deve ser definido como zero.

[out] pmszFeatureList

Ponteiro para um buffer fornecido pelo chamador que recebe uma lista delimitada por nulo de palavras-chave de recurso no formato MULTI_SZ. A lista é encerrada com dois caracteres nulos.

Defina esse parâmetro como NULL para simplesmente consultar o tamanho (*pcbNeeded) da lista de recursos sem ter a lista preenchida.

[in] cbSize

Especifica o tamanho, em bytes, do buffer apontado por pmszFeatureList.

[out] pcbNeeded

Ponteiro para um local de memória que recebe o tamanho real, em bytes, da lista de recursos.

Valor de retorno

Esse método deve retornar um dos valores a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_OUTOFMEMORY
O valor em cbSize era menor do que o número de bytes a serem gravados no buffer de saída (o buffer apontado por pmszFeatureList).

O método foi chamado com pmszFeatureList definido como NULL.

E_INVALIDARG
O parâmetro poemuiobj apontou para um objeto de contexto inválido.
E_FAIL
Falha no método

Observações

Esse método tem suporte apenas para plug-ins do Windows XP Pscript5, não para plug-ins Unidrv.

recursos de autoadesivas da impressora (consulte Substituindo Driver-Supplied Páginas da Folha de Propriedades), como aqueles que determinam a memória instalável e a presença de acessórios opcionais, são incluídos na lista de palavras-chave do recurso, que aparece no buffer de saída apontado por pmszFeatureList quando o método retorna. Para Pscript5, esses recursos têm o atributo de recurso OpenGroupType definido como "InstallableOptions".

Para reduzir a necessidade de fazer duas chamadas por acesso a dados, passe o método um buffer de saída de um tamanho fixo (1 KB, por exemplo) e verifique o valor retornado da função. Se o método retornar S_OK, o buffer já conterá os dados de interesse. Se o método retornar E_OUTOFMEMORY, o valor em *pcbNeeded será o tamanho do buffer necessário para manter os dados de interesse. Em seguida, o chamador deve alocar um buffer desse tamanho maior e continuar com uma segunda chamada para o método.

Para obter mais informações, consulte Usando EnumFeatures.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho prcomoem.h (inclua Prcomoem.h)

Consulte também

IPrintCoreUI2

IPrintCoreUI2::EnumOptions

OEMUIOBJ