Método IPrintCoreUI2::GetFeatureAttribute (prcomoem.h)
O IPrintCoreUI2::GetFeatureAttribute
método recupera a lista de atributos de recurso ou o valor de um atributo de recurso específico.
Sintaxe
HRESULT GetFeatureAttribute(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[in] PCSTR pszAttribute,
[out] PDWORD pdwDataType,
[out] PBYTE pbData,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Parâmetros
[in] poemuiobj
Ponteiro para o contexto atual, uma estrutura OEMUIOBJ .
[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 que palavra-chave consultar. Esse valor pode ser obtido de uma chamada anterior para IPrintCoreUI2::EnumFeatures.
[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 de recurso com suporte, em vez de especificar um nome de atributo de recurso específico.
[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 |
---|---|
|
O método foi bem-sucedido. |
|
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. |
|
O método tentou consultar um atributo inexistente.
O recurso palavra-chave não foi reconhecido. O parâmetro poemuiobj apontou para um objeto de contexto inválido. |
|
Falha no método |
Comentários
Esse método tem suporte apenas para plug-ins do Windows XP Pscript5, não para plug-ins Unidrv.
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 o recurso. 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 retornará 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 o recurso. Essa lista é encerrada com dois caracteres nulos.
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, 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 .
Para obter mais informações, confira Usando GetFeatureAttribute.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | prcomoem.h (inclua Prcomoem.h) |
Confira também
IPrintCoreUI2::GetGlobalAttribute