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 |
---|---|
|
A operação foi realizada com êxito. |
|
Um ou mais argumentos são inválidos ou não há suporte para o recurso. |
|
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) |