Método IPrintCorePS2::EnumOptions (prcomoem.h)

O IPrintCorePS2::EnumOptions método enumera as opções disponíveis de um recurso específico.

Sintaxe

HRESULT EnumOptions(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCSTR   pszFeatureKeyword,
  [out] PSTR    pmszOptionList,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

Parâmetros

[in] pdevobj

Ponteiro para uma estrutura DEVOBJ .

[in] dwFlags

É reservado e deve ser definido como zero.

[in] pszFeatureKeyword

Ponteiro para um buffer fornecido pelo chamador que contém uma cadeia de caracteres ASCII, especificando um recurso palavra-chave cujas opções são solicitadas.

[out] pmszOptionList

Ponteiro para um buffer fornecido pelo chamador que recebe uma lista delimitada por nulo, no formato MULTI_SZ, contendo as palavras-chave de opção para o recurso palavra-chave apontado por pszFeatureKeyword. Essa lista é encerrada com dois caracteres nulos.

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

[in] cbSize

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

[out] pcbNeeded

Ponteiro para um local de memória que recebe o tamanho real, em bytes, dos dados solicitados.

Retornar valor

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 que o número de bytes a serem gravados no buffer de saída (o buffer apontado por pmszOptionList).

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

E_INVALIDARG
A cadeia de caracteres apontada por pszFeatureKeyword não é um recurso reconhecido.

O parâmetro pdevobj apontou para um objeto de contexto de driver inválido.

E_NOTIMPL
(Somente Pscript)

Não há suporte para o recurso de driver Pscript5 na configuração atual.

O recurso de driver Pscript5 tem suporte na configuração atual, mas as opções do recurso de driver Pscript5 não são enumeráveis.

E_FAIL
O método falhou.

Comentários

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, em seguida, marcar 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 prosseguir com uma segunda chamada para o método .

Esse método tem suporte para qualquer plug-in de renderização Pscript5.

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

Requisitos

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

Confira também

DEVOBJ

IPrintCorePS2

IPrintCorePS2::EnumFeatures