CORRECÇÃO: Poderá detectar uma fixação de sistema ao tentar cancelar um método COM + utilizando o método CoCancelCall enquanto um objecto do COM + que utiliza o método função CoCreateInstanceEx é instanciado no Windows XP Professional

Traduções de Artigos Traduções de Artigos
Artigo: 889178 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário. No Windows XP Professional, um objecto do Microsoft COM + que utiliza a função CoCreateInstanceEX é instanciado numa aplicação COM +. Quando tentar cancelar um método COM + utilizando a função CoCancelCall , poderá detectar sintomas semelhantes a fixação de sistema.

Nota Este problema ocorre depois de reiniciar o lado de servidor da aplicação COM +.

Causa

Este problema ocorre porque existe uma condição de corrida entre os seguintes:
  • A chamada de fim que vai para o servidor
  • O servidor que envia a resposta
Por conseguinte, ocorre um erro fatal no DCOM. Este erro fatal faz com que o computador deixar de responder.

Resolução

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Microsoft Windows XP Professional Service Pack 2 (SP2)

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version        Size       File name
   --------------------------------------------------------
   24-Mar-2005  21:14  5.1.2600.2621  1,241,088  Ole32.dll        
   24-Mar-2005  21:11  5.1.2600.2621    555,520  Rpcrt4.dll       
   24-Mar-2005  21:14  5.1.2600.2621    256,000  Rpcss.dll

Ponto Da Situação

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

Mais Informação

Ocorre a seguinte sequência de eventos entre o cliente e o servidor:
  1. O cliente de aplicação COM + liga-se para o remoto procedimento chamada Service (RPCSS) e, em seguida, envia um pedido.
  2. O RPCSS inicia o processamento do pedido.
  3. O aplicação cliente invoca a função RpcAsyncCancelCa para cancelar um método COM +. A comunicação seguinte ocorre entre o cliente de aplicações do COM + e o servidor de aplicações do COM +:
    1. O RPCSS envia um pedido Cancelar ao servidor de aplicações utilizando a função NtRequestPort . Esta função não aguarda uma resposta.
    2. O servidor da aplicação marca a chamada para a função RpcAsyncCancelCa como Cancelar pendente.
    3. O servidor da aplicação falha a chamada de função RpcAsyncCancelCa . Em seguida, a aplicação notifica o processo OLE que a chamada está concluída.
    4. O cliente de aplicações chama as funções I_RpcReceive e I_RpcFreeBuffer . Este comportamento faz com que a chamada de função RpcAsyncCancelCa ser limpo e removido a associação de cliente.
  4. O application server envia uma resposta ao cliente.
  5. O cliente recebe a resposta. Em seguida, rejeita a resposta com o erro 1727 (RPC_S_CALL_FAILED_DNE) uma vez que este já não sabe sobre esta chamada à função RpcAsyncCancelCa .
  6. O servidor da aplicação recebe o erro e, em seguida, fecha a porta de chamada de procedimento local (LPC).
  7. Repara o cliente de aplicação que está a fechar a porta LPC e o cliente limpa a associação. Este passo é quando ocorre o rundown de contexto.
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 889178 - Última revisão: 29 de agosto de 2007 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Professional Edition
Palavras-chave: 
kbmt kbautohotfix kbrpc kbbug kbfix kbhotfixserver kbqfe KB889178 KbMtpt
Traduçã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: 889178

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com