Artigo: 920754 - Última revisão: quinta-feira, 11 de Outubro de 2007 - Revisão: 1.4

Mensagem de erro quando chamar a função API WTSQueryUserToken na aplicação de 32 bits ou um serviço do Windows que está em execução num x 64 Windows sistema: "ERROR_INSUFFICIENT_BUFFER"

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário. Uma aplicação de 32 bits ou um serviço do Microsoft Windows em execução num x 64 Windows sistema. A aplicação de 32 bits ou o serviço do Microsoft Windows tem as permissões adequadas. A aplicação de 32 bits ou o serviço do Windows efectua uma chamada à função WTSQueryUserToken API.

Neste cenário, a chamada falhará. Além disso, a função GetLastError API devolverá a mensagem de erro Windows seguinte:
ERROR_INSUFFICIENT_BUFFER
O código de erro indica que a área de dados que é transmitida para a chamada de sistema é demasiado pequena.

Causa

Este problema ocorre porque a função WTSQueryUserToken API internamente passa uma estrutura para outra chamada de sistema. No entanto, o tamanho da memória intermédia é incorrectamente definido para o tamanho de estrutura de 32 bits.

Como contornar

Para contornar este problema, tem de porta a funcionalidade para uma versão de 64 bits nativa. Dependendo da funcionalidade que é necessária, pode encapsular também as funções da API de serviços de terminal dentro de um servidor de COM de fora de processo de 64 bits nativa.

Ponto Da Situação

A Microsoft confirmou que este é um erro no Microsoft produtos listados na secção "Aplica-se a".

A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86)
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Win32 Application Programming Interface
Palavras-chave: 
kbmt kbtshoot kbbug kbprb KB920754 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 920754  (http://support.microsoft.com/kb/920754/en-us/ )