Compartilhar via


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

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

Sintaxe

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

Parâmetros

[in] pDevmode

Um ponteiro para uma estrutura DEVMODEW . Se esse ponteiro for fornecido, IPrintCoreHelper::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 ou IPrintOemUni::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 GPD ou 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 ao palavra-chave usado no arquivo GPD ou PPD.

[out] ppFOConstraints

Um ponteiro para uma matriz de elementos PRINT_FEATURE_OPTION . Quando IPrintCoreHelper::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

IPrintCoreHelper::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.

Comentários

Se o par de opções de recurso especificado não estiver restrito, IPrintCoreHelper::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. Para drivers Unidrv, essa lista incluirá pelo menos uma opção de cada conjunto de restrições que está ativo. Se houver combinações inválidas que listam mais de dois pares de opções de recurso, no entanto, 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

IPrintCoreHelper

IPrintCoreHelper::EnumConstrainedOptions