Partilhar via


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

O método IPrintCoreUI2::EnumConstrainedOptions determina quais opções de um recurso são restritas.

Sintaxe

HRESULT EnumConstrainedOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszConstrainedOptionList,
  [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.

[in] pszFeatureKeyword

Ponteiro para um buffer fornecido pelo chamador que contém a palavra-chave de recurso único de interesse para o chamador.

[out] pmszConstrainedOptionList

Ponteiro para um buffer fornecido pelo chamador que recebe a lista de palavras-chave de opção, no formato MULTI_SZ, para esse recurso. Cada palavra-chave representa uma opção restrita na configuração atual.

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

[in] cbSize

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

[out] pcbNeeded

Ponteiro para um local de memória que recebe o tamanho real, em bytes, da lista de opções restrita.

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. O método também deverá retornar esse valor se nenhuma das opções do recurso estiver restrita. Nesse caso, o método deve colocar um caractere nulo no buffer apontado por pmszConstrainedOptionListe deve definir **pcbNeeded* como 1.
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 pmszConstrainedOptionList).

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

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

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

A stickiness do recurso não correspondeu à do objeto de contexto apontado por peomuiobj. (Consulte Substituindo Driver-Supplied páginas da folha de propriedades.)

E_FAIL
O método falhou.
E_NOTIMPL
Não há suporte para o método.

Observações

Esse método tem suporte apenas para plug-ins de interface do usuário do Windows XP Pscript5 que substituem totalmente as páginas de interface do usuário padrão do driver principal, e tem suporte apenas durante o IPrintOemUI::D ocumentPropertySheets e funções de IPrintOemUI::D evicePropertySheets e suas rotinas de retorno de chamada da folha de propriedades. Consulte Substituindo páginas da folha de propriedades Driver-Supplied para obter mais informações.

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.

Requisitos

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

Consulte também

IPrintCoreUI2

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ