Método IPrintCorePS2::GetOptions (prcomoem.h)
O método IPrintCorePS2::GetOptions
recupera as configurações de recurso atuais do driver no formato de uma lista de pares de palavras-chave de recurso/opção.
Sintaxe
HRESULT GetOptions(
[in] PDEVOBJ pdevobj,
[in] DWORD dwFlags,
[in] PCZZSTR pmszFeaturesRequested,
[in] DWORD cbIn,
[out] PZZSTR pmszFeatureOptionBuf,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Parâmetros
[in] pdevobj
Ponteiro para uma estrutura de DEVOBJ.
[in] dwFlags
É reservado e deve ser definido como zero.
[in] pmszFeaturesRequested
Ponteiro para o buffer fornecido pelo chamador que contém uma lista de palavras-chave de recurso (no formato MULTI_SZ) cujas configurações são solicitadas. Defina esse parâmetro para NULL para obter configurações para todos os recursos.
[in] cbIn
Especifica o tamanho, em bytes, do buffer apontado por pmszFeaturesRequested. O tamanho inclui a última MULTI_SZ caractere nulo.
[out] pmszFeatureOptionBuf
Ponteiro para um buffer fornecido pelo chamador que recebe uma lista de pares de palavras-chave de recurso/opção (no formato MULTI_SZ) obtidos das configurações do driver. Cada par de palavras-chave de recurso/opção contém o nome da palavra-chave do recurso, um caractere nulo, o nome da palavra-chave da opção e outro caractere nulo. A lista é encerrada por dois caracteres NULL.
[in] cbSize
Especifica o tamanho, em bytes, do buffer apontado por pmszFeatureOptionBuf.
[out] pcbNeeded
Ponteiro para um local de memória que recebe o tamanho real, em bytes, dos dados solicitados.
Valor de retorno
O 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 pmszFeatureOptionBuf).
O método foi chamado com pmszFeatureOptionBuf definido como NULL. |
|
O buffer de entrada (o buffer apontado por pmszFeaturesRequested) foi fornecido, mas seu conteúdo não estava no formato MULTI_SZ.
O parâmetro pdevobj apontou para um objeto de contexto de driver inválido. |
|
Não há suporte para o método. |
|
O método falhou. |
Observações
Esse método dá suporte a recursos de autoadesivas de documentos e autoadesivas da impressora. Ele só terá suporte depois que o driver principal concluir seu processamento de DrvEnablePDEV, que configura todas as configurações de opção. Uma chamada para IPrintCorePS2::GetOptions
quando não houver suporte deve fazer com que ela retorne E_NOTIMPL. Por exemplo, quando o driver principal chama o método IPrintOemPS::EnablePDEV de um plug-in de renderização, O driver ainda está ocupado com seu processamento de DrvEnablePDEV, portanto, se as chamadas de plug-in IPrintCorePS2::GetOptions
dentro do método IPrintOemPS::D evMode do plug-in, o plug-in receberá o valor retornado E_NOTIMPL. No entanto, como o método IPrintOemPS::EnablePDEV do plug-in é chamado depois que o driver principal conclui seu processamento de DrvEnablePDEV, o plug-in é capaz de chamar IPrintCorePS2::GetOptions
com êxito em seu método IPrintOemPS::EnablePDEV.
Se uma palavra-chave de recurso solicitada não for reconhecida ou o recurso for reconhecido, mas atualmente não houver nenhuma seleção de opção para ele, o recurso será ignorado e o par de palavras-chave de recurso/opção não será colocado no buffer de saída.
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 verifique 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 continuar 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 Usando GetOptions e SetOptions.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | prcomoem.h (inclua Prcomoem.h) |