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

O IPrintCorePS2::GetOptionAttribute método recupera a lista de atributos de opção ou o valor de um atributo de opção específico.

Sintaxe

HRESULT GetOptionAttribute(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCSTR   pszFeatureKeyword,
  [in]  PCSTR   pszOptionKeyword,
  [in]  PCSTR   pszAttribute,
  [out] PDWORD  pdwDataType,
  [out] PBYTE   pbData,
  [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 o único recurso palavra-chave consultar.

[in] pszOptionKeyword

Ponteiro para um buffer fornecido pelo chamador que contém uma cadeia de caracteres ASCII especificando a única opção palavra-chave a ser consultada. Esse valor pode ser obtido de uma chamada anterior para IPrintCorePS2::EnumOptions.

[in] pszAttribute

Ponteiro para um buffer fornecido pelo chamador que contém uma cadeia de caracteres ASCII especificando o único atributo solicitado. Se esse parâmetro for NULL, o chamador solicitará uma lista de todos os nomes de atributo com suporte para a opção, em vez de especificar um nome de atributo específico para a opção.

[out] pdwDataType

Ponteiro para um local de memória que recebe um valor que especifica o tipo de dados do atributo solicitado. Esse valor é um enumerador da enumeração EATTRIBUTE_DATATYPE , que é definida em printoem.h.

[out] pbData

Ponteiro para um buffer fornecido pelo chamador que recebe os dados solicitados. Para simplesmente consultar o número de bytes necessários para atender a uma solicitação, defina esse parâmetro como NULL.

[in] cbSize

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

[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 pbData).

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

E_INVALIDARG
O método tentou consultar um atributo inexistente.

O nome do recurso palavra-chave ou opção palavra-chave nome não foram reconhecidos.

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

E_FAIL
O método falhou.

Comentários

Se esse método for chamado com seus parâmetros pszAttribute e pbData definidos como NULL, o método retornará com *pcbNeeded definido como o número de bytes necessários para a lista de todos os nomes de atributo com suporte para a opção. Se o método for chamado uma segunda vez, com pszAttribute definido como NULL e pbData apontando para um buffer do tamanho especificado em *pcbNeeded na chamada anterior, o método retorna com *pdwDataType definido como kADT_ASCII (um enumerador do tipo enumerado EATTRIBUTE_DATATYPE ) e pbData apontando para uma lista delimitada por nulo de todos os nomes de atributo com suporte para a opção. Essa lista é encerrada com dois caracteres nulos.

Para reduzir a necessidade de fazer duas chamadas por acesso a dados, passe ao 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 Using GetOptionAttribute.

Requisitos

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

Confira também

DEVOBJ

IPrintCorePS2

IPrintCorePS2::EnumOptions

IPrintCorePS2::GetFeatureAttribute

IPrintCorePS2::GetGlobalAttribute