Método IPrintCoreHelperPS::WhyConstrained (prcomoem.h)

O método IPrintCoreHelperPS::WhyConstrained fornece uma lista de opções que restringem o par de opções de recurso especificado na configuração atual.

Sintaxe

HRESULT WhyConstrained(
  [in, optional] const DEVMODE              *pDevmode,
  [in]           DWORD                      cbSize,
  [in]           PCSTR                      pszFeatureKeyword,
  [in]           PCSTR                      pszOptionKeyword,
  [out]          const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out]          DWORD                      *pdwNumOptions
);

Parâmetros

[in, optional] pDevmode

Um ponteiro para uma estrutura DEVMODEW . Se esse ponteiro for fornecido, IPrintCoreHelperPS::WhyConstrained deverá usar a estrutura DEVMODEW apontada por pDevmode em vez da estrutura DEVMODEW padrão ou atual. Se esse método for chamado do provedor de plug-in ou de IPrintOemPS::D evMode, esse parâmetro será necessário. Na maioria das outras situações, o parâmetro deve ser NULL. Quando o driver principal define pDevmode como NULL, ele modifica seu estado interno em vez do da estrutura DEVMODEW passada. Isso é necessário durante operações como a substituição completa da interface do usuário, em que a estrutura DEVMODEW retornada por uma DDI, como DrvDocumentPropertySheets, está sendo atendida pelo módulo de interface do usuário do driver principal.

[in] cbSize

O tamanho, em bytes, da estrutura DEVMODEW apontada pelo parâmetro pDevmode .

[in] pszFeatureKeyword

Um ponteiro para uma cadeia de caracteres ANSI que contém o nome do recurso. O nome do recurso deve corresponder à palavra-chave usada no arquivo PPD.

[in] pszOptionKeyword

Um ponteiro para uma cadeia de caracteres ANSI que contém o nome da opção. O nome da opção deve corresponder à palavra-chave usada no arquivo PPD.

[out] ppFOConstraints

Um ponteiro para uma matriz de elementos PRINT_FEATURE_OPTION . Quando IPrintCoreHelperPS::WhyConstrained retorna, a matriz contém uma lista de pares de elementos de recurso das opções que restringem as opções especificadas no parâmetro pszOptionKeyword .

[out] pdwNumOptions

Um ponteiro para uma variável que recebe o número de pares de opções de recurso na matriz apontada pelo parâmetro ppFOConstraints .

Retornar valor

IPrintCoreHelperPS::WhyConstrained deve retornar um dos seguintes valores.

Código de retorno Descrição
S_OK
A operação foi realizada com êxito.
E_INVALIDARG
Um ou mais argumentos são inválidos ou não há suporte para o recurso.
E_OUTOFMEMORY
Não foi possível alocar memória para a matriz de resultados.
 

Para outras falhas, o método deve retornar um código de erro COM padrão.

Comentários

Se o par de opções de recurso especificado não estiver restrito, IPrintCoreHelperPS::WhyConstrained retornará S_OK mas retornará com *pdwFOPairs definido como 0 e com *ppFOConstraints[0] definido como NULL.

Observe que os resultados desse método podem não conter todas as opções que afetam a opção selecionada no momento. No entanto, se houver combinações inválidas, apenas uma opção da combinação será incluída na lista.

Requisitos

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

Confira também

IPrintCoreHelperPS

IPrintCoreHelperPS::EnumConstrainedOptions