ID do artigo: 920754 - Última revisão: quinta-feira, 11 de outubro de 2007 - Revisão: 1.4

Mensagem de erro quando você chamar a função de API WTSQueryUserToken em um aplicativo de 32 bits ou um serviço do Windows que está em execução um sistema de Windows do x 64: "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 | Recolher tudo

Sintomas

Considere o seguinte cenário. Um aplicativo de 32 bits ou um serviço do Microsoft Windows está sendo executado em um sistema de Windows do x 64. O aplicativo de 32 bits ou o serviço do Microsoft Windows tem permissões apropriadas. O aplicativo de 32 bits ou o serviço do Windows faz uma chamada para a função WTSQueryUserToken API.

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

Causa

Esse problema ocorre porque a função WTSQueryUserToken API internamente passa uma estrutura para outra chamada de sistema. No entanto, o tamanho do buffer de incorretamente é definido como o tamanho de estrutura de 32 bits.

Como Contornar

Para contornar esse problema, você deve transferir a funcionalidade de uma versão de 64 bits nativa. Dependendo da funcionalidade é necessária, você pode também encapsular as funções de API de serviços de terminal dentro de um servidor de COM de fora do processo de 64 bits nativo.

Situação

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

A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
  • Microsoft Windows Server 2003 R2 Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows XP Professional x64 Edition
  • Interface de Programação de Aplicativos do Microsoft Win32
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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/ )