Compartilhar via


Função PTGetPrintCapabilities (prntvpt.h)

Recupera os recursos da impressora formatados em conformidade com o esquema de impressão XML.

Sintaxe

HRESULT PTGetPrintCapabilities(
  [in]  HPTPROVIDER hProvider,
  [in]  IStream     *pPrintTicket,
        IStream     *pCapabilities,
  [out] BSTR        *pbstrErrorMessage
);

Parâmetros

[in] hProvider

Um identificador para um provedor aberto cujos recursos de impressão devem ser recuperados. Esse identificador é retornado pela função PTOpenProvider ou PTOpenProviderEx .

[in] pPrintTicket

Um ponteiro para um fluxo com sua posição de busca no início do conteúdo do tíquete de impressão. Este parâmetro pode ser NULL.

pCapabilities

Um ponteiro para o fluxo em que os recursos de impressão serão gravados, começando na posição de busca atual.

[out] pbstrErrorMessage

Um ponteiro para uma cadeia de caracteres que especifica o que, se alguma coisa, é inválido sobre pPrintTicket. Se for válido, esse valor será NULL.

Retornar valor

Se a operação for bem-sucedida, o valor retornado será S_OK.

Se hProvider foi aberto em um thread diferente, o HRESULT será E_INVALIDARG.

Se o pPrintTicket não estiver em conformidade com o Esquema de Impressão , o HRESULT será E_PRINTTICKET_FORMAT.

Se o pCapabilities não estiver em conformidade com o Esquema de Impressão , o HRESULT será E_PRINTCAPABILITIES_FORMAT.

Se hProvider foi aberto em um thread diferente, o HRESULT será E_INVALIDARG.

Caso contrário, outro código de erro será retornado no HRESULT. Para obter mais informações sobre códigos de erro do COM, confira Tratamento de erros.

Comentários

Nota Essa é uma função de bloqueio ou síncrona e pode não retornar imediatamente. A rapidez com que essa função retorna depende de fatores de tempo de execução, como status de rede, configuração do servidor de impressão e implementação do driver de impressora— fatores difíceis de prever ao escrever um aplicativo. Chamar essa função de um thread que gerencia a interação com a interface do usuário pode fazer com que o aplicativo pareça não responder.
 
hProvider deve ser um identificador aberto no mesmo thread que o thread no qual ele é usado para essa função.

O driver da impressora usa valores pPrintTicket (quando o valor não é NULL) para criar configurações quando o driver produz recursos de impressora que variam dependendo das configurações atuais.

Quando a função retorna, a posição de busca de pPrintTicket está no final do conteúdo do tíquete de impressão e a posição de busca de pCapabilities está no final do fluxo. Se o chamador usar um fluxo de memória para pCapabilities, como um fluxo criado por CreateStreamOnHGlobal , o chamador será responsável por redefinir a posição de busca antes de ler os dados.

Se pbstrErrorMessage não for NULL quando a função retornar, o chamador deverá liberar a cadeia de caracteres com SysFreeString.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho prntvpt.h
Biblioteca Prntvpt.lib
DLL Prntvpt.dll

Confira também

Esquema de Impressão

Funções da API do Spooler de impressão

Impressão