home *** CD-ROM | disk | FTP | other *** search
- DCOM95 1.3
- Notas sobre a versπo
- ┌ltima modificaτπo: 14 de Setembro de 1998
-
- O DCOM95 fornece um suporte ao DCOM para o Microsoft(r) Windows(r) 95.
- O protocolo electr≤nico do DCOM fornece de uma forma clara um suporte para
- comunicaτ⌡es fißveis, seguras e eficazes entre os componentes COM
- (Component Object Model), tais como controlos ActiveX(r), scripts e
- aplicaτ⌡es Java existentes em diferentes computadores numa rede local,
- numa rede alargada ou na Internet. Com o DCOM, a aplicaτπo pode ser
- distribuφda pelas localizaτ⌡es que mais se adaptam ao cliente e α
- aplicaτπo.
-
- Para mais informaτ⌡es detalhadas, consulte a descriτπo tΘcnica sobre
- DCOM disponφvel no endereτo da home page Microsoft COM,
- http://www.microsoft.com/com/.
-
- ═ndice
- ======
- I. Novas funτ⌡es
- II. Correcτ⌡es de erros
- III. Problemas conhecidos
- IV. Diferenτas do DCOM no Windows NT
- V. Redistribuiτπo
- VI. Suporte e recursos
- VII. Lista de ficheiros
-
- I. Novas funτ⌡es
- ----------------
-
- Substituiτπo proibida do DCOM95 por uma versπo anterior
-
- Em vers⌡es anteriores do DCOM95, podia substituir uma versπo mais
- recente do DCOM95 por uma versπo anterior do DCOM95. Os n·meros
- das vers⌡es sπo agora verificados durante a instalaτπo e nπo Θ
- permitido instalar uma versπo anterior sobre uma versπo mais recente.
- Esta alteraτπo evitarß os problemas com as vers⌡es incompatφveis
- das DLL.
-
- Suporte α supervisπo de processos do Visual Studio 6.0
-
- Como suporte ao Visual Studio 6.0, o DCOM95 fornece informaτ⌡es
- sobre a supervisπo para programadores que os ajudam a compreender
- o comportamento, o desempenho e a estrutura das respectivas aplicaτ⌡es.
- Se estiver a utilizar o Visual Studio Analyzer num computador com o
- Windows 95, deverß utilizar sempre esta versπo do DCOM95.
-
- Novo direct≤rio criado pela configuraτπo
-
- O programa de configuraτπo cria um direct≤rio denominado DCOM95 no
- direct≤rio do sistema. O contrato de licenτa do utilizador final e
- outros ficheiros sπo armazenados neste direct≤rio. O programa de configuraτπo
- tambΘm cria um subdirect≤rio do DCOM95 denominado OLDOLE onde sπo guardadas
- as c≤pias de seguranτa dos binßrios DCOM95 ou OLE anteriores. Estes ficheiros
- sπo restaurados quando desinstalar mais tarde o DCOM95.
-
- COM Internet Services
-
- O COM Internet Services (CIS) permite que os clientes e servidores
- estabeleτam ligaτπo atravΘs da Internet utilizando o COM.
- O CIS consiste em
- * Um novo protocolo de DCOM, Tunneled TCP
- * Um novo tipo de moniker, moniker OBJREF
- * Um novo utilitßrio CISCNFG
-
- Para o suporte de cliente de CIS no Windows 95, tem de instalar o
- DCOM95 e DCOMCFG. Em seguida, utilize a ferramenta CISCNFG, que Θ
- instalada quando instala o utilitßrio de configuraτπo de DCOM, para
- alterar a chave de registo que define o protocolo que deverß ser
- utilizado para os processos remotos. Na janela da linha de comandos,
- escreva:
- ciscnfg <protocolo>
-
- Em que <protocolo> Θ:
- * rpc para utilizar RPC
- * http para utilizar HTTP
- * tcp_http para tentar primeiro TCP e, em seguida, se o tempo de espera
- do servidor for excedido, para tentar HTTP.
-
- O comando ciscnfg sem argumentos fornece informaτ⌡es sobre a utilizaτπo.
-
- Nπo Θ necessßria nenhuma actualizaτπo do SDK para poder utilizar o
- protocolo Tunneled TCP.
-
- Existem algumas actualizaτ⌡es para os monikers OBJREF.
-
- CreateObjrefMoniker
-
- Cria um moniker OBJREF baseado num ponteiro para um objecto.
- WINOLEAPI CreateObjrefMoniker(
- LPUNKNOWN pUnk, //Ponteiro para o objecto
- LPMONIKER *ppMk //Endereτo do ponteiro para o moniker OBJREF
- );
-
- ParΓmetros
-
- pUnk
-
- Ponteiro para a interface IUnknown no objecto que o moniker vai
- representar.
-
- ppMk
-
- Endereτo de um ponteiro para a interface IMoniker no moniker OBJREF
- criado.
-
- Valores de retorno
-
- Esta funτπo suporta os valores de retorno padrπo E_OUTOFMEMORY e
- E_UNEXPECTED, bem como os seguintes valores:
-
- S_OK
-
- O moniker OBJREF foi criado com Ωxito.
-
- Observaτ⌡es
-
- Os clientes utilizam os monikers OBJREF para obter um ponteiro organizado
- para um objecto em execuτπo no espaτo do endereτo do servidor.
- Normalmente, o servidor chama CreateObjrefMoniker para criar um
- moniker OBJREF e, em seguida, chama IMoniker::GetDisplayName e,
- por fim, liberta o moniker. O nome a apresentar para um moniker OBJREF
- tem o seguinte formato:
- OBJREF:nnnnnnnn
-
-
- Em que nnnnnnnn Θ uma codificaτπo base de 64 bits arbitrariamente longa que
- codifica a localizaτπo do computador, o ponto de terminaτπo do processo
- e o ID do ponteiro da interface (IPID) do objecto em execuτπo.
-
- Em seguida, o nome a apresentar pode ser transferido para o cliente como
- texto. Por exemplo, o nome a apresentar pode existir numa pßgina de HTML
- a transferir pelo cliente.
-
- O cliente pode transmitir o nome a apresentar para MkParseDisplayName,
- que cria um moniker OBJREF baseado no nome a apresentar. Em seguida,
- uma chamada para o mΘtodo IMoniker::BindToObject do moniker obtΘm um
- ponteiro organizado para a ocorrΩncia em execuτπo no servidor.
- Por exemplo, um componente de COM do lado do servidor numa pßgina activa
- do servidor pode criar um moniker OBJREF, obter o respectivo nome a
- apresentar e escrever o nome a apresentar no output de HTML que Θ
- enviado para o browser do cliente. Um script que Θ executado no lado
- do cliente pode utilizar o nome a apresentar para obter acesso ao
- pr≤prio objecto em execuτπo. Por exemplo, um script do Visual Basic
- do lado do cliente poderß armazenar o nome a apresentar numa varißvel
- denominada strMyName e incluir esta linha:
- objMyInstance = GetObject(strMyName)
-
- O motor de scripts efectua chamadas internamente para MkParseDisplayName
- e IMoniker::BindToObject e, em seguida, o script pode utilizar
- objMyInstance para se referir directamente ao objecto em execuτπo.
-
- Se o objecto em execuτπo utilizar IPID estßticos e o processo do
- servidor for executado sempre no mesmo computador num ponto de
- terminaτπo jß conhecido, o nome a apresentar do moniker OBJREF serß
- sempre o mesmo. Nesse caso, o servidor pode armazenar o nome a
- apresentar, em vez de calcular o nome sempre que receber um pedido
- para o objecto.
-
- IMoniker - Implementaτπo de monikers OBJREF
-
- Os monikers OBJREF representam uma referΩncia a uma ocorrΩncia do
- objecto que estß a ser executado num servidor fora do processo, local ou
- remotamente. O moniker identifica a ocorrΩncia do objecto e o
- computador onde o objecto estß a ser executado.
-
- Um moniker OBJREF Θ semelhante a um moniker de ponteiro em vßrias
- formas, excepto no facto de o objecto em execuτπo estar fora do processo.
- Um cliente pode chamar IMoniker::BindToObject num moniker OBJREF e
- utilizar o ponteiro obtido para aceder ao objecto em execuτπo,
- independentemente da respectiva localizaτπo.
-
- Uma importante distinτπo de um moniker de ponteiro reside no nome
- a apresentar de um moniker OBJREF que pode ser incorporado numa
- pßgina de HTML e reside tambΘm no objecto em execuτπo representado pelo
- moniker que pode ser associado por um script de cliente, aplicaτπo ou
- controlo ActiveX.
-
- Momento apropriado para a utilizaτπo
-
- O objectivo principal de um moniker OBJREF Θ a obtenτπo de acesso
- a uma ocorrΩncia do objecto em execuτπo atravΘs da Internet.
- Uma pßgina activa do servidor ou outro meio de gerar conte·do
- dinΓmico de HTML coloca o nome a apresentar de um moniker
- OBJREF num parΓmetro para uma aplicaτπo ou um controlo ActiveX.
- O c≤digo da aplicaτπo ou controlo chama CreateObjrefMoniker para
- criar um moniker OBJREF baseado no nome a apresentar e, em seguida,
- chama IMoniker::BindToObject no moniker OBJREF resultante para ter
- acesso α ocorrΩncia do objecto em execuτπo. Em seguida, a pßgina
- activa do servidor organiza novamente um ponteiro para o objecto em
- execuτπo no cliente da pßgina.
-
- Observaτ⌡es
-
- IMoniker::BindToObject. Para os monikers OBJREF, o parΓmetro pmkToLeft
- tem de ser NULO. Uma vez que o moniker OBJREF representa um objecto em
- execuτπo, nπo se realiza nenhuma activaτπo. Se o objecto representado
- deixar de ser executado, BindToObject falha com E_UNEXPECTED.
-
- IMoniker::BindToStorage. Este mΘtodo obtΘm um ponteiro organizado para
- a interface pedida na mem≤ria que contΘm o objecto em execuτπo. Uma vez
- que o moniker OBJREF representa um objecto em execuτπo, nπo se realiza
- nenhuma activaτπo. Se o objecto representado deixar de ser executado,
- BindToStorage falha com E_UNEXPECTED.
-
- IMoniker::Reduce. Este mΘtodo devolve MK_S_REDUCED_TO_SELF e transmite
- novamente o mesmo moniker.
-
- IMoniker::ComposeWith. Se pmkRight for um anti-moniker, o moniker
- devolvido Θ NULO. Se pmkRight for um composto cujo componente da esquerda
- Θ um anti-moniker, o moniker devolvido Θ o composto com o anti-moniker da
- esquerda removido. Se pmkRight nπo for um anti-moniker nem um moniker
- composto cujo componente da esquerda Θ um anti-moniker, o mΘtodo verifica
- o parΓmetro fOnlyIfNotGeneric. Se for FALSE, o mΘtodo combina os dois
- monikers num composto genΘrico; se for TRUE, o mΘtodo define
- *ppmkComposite como NULO e devolve MK_E_NEEDGENERIC.
-
- IMoniker::Enum. Este mΘtodo devolve S_OK e define ppenumMoniker
- como NULO.
-
- IMoniker::IsEqual. Este mΘtodo devolve S_OK se *pmkOther for um moniker
- OBJREF e os caminhos para ambos os monikers forem idΩnticos (utilizando
- uma comparaτπo sem distinτπo entre mai·sculas e min·sculas).
- Caso contrßrio, o mΘtodo devolve S_FALSE.
-
- IMoniker::Hash. Este mΘtodo calcula um valor abstracto para o moniker.
-
- IMoniker::IsRunning. Uma vez que os monikers OBJREF representam uma
- ocorrΩncia do objecto em execuτπo, este mΘtodo devolve um valor TRUE
- a menos que o objecto pareτa nπo estar a ser executado devido a uma
- falha numa chamada recente. O mΘtodo ignora pmkToLeft.
-
- IMoniker::GetTimeOfLastChange. Este mΘtodo devolve E_NOTIMPL.
-
- IMoniker::Inverse. Este mΘtodo devolve um anti-moniker (por exemplo,
- os resultados da chamada de CreateAntiMoniker).
-
- IMoniker::CommonPrefixWith. Se os dois monikers forem iguais, este
- mΘtodo devolve MK_S_US e define *ppmkPrefix como NULO. Se o outro moniker
- nπo for um moniker OBJREF, este mΘtodo transmite ambos os monikers para
- a funτπo MonikerCommonPrefixWith. Esta funτπo trata correctamente do caso
- em que o outro moniker Θ um composto genΘrico.
-
- Se nπo existir nenhum prefixo comum, este mΘtodo devolve MK_E_.
-
- IMoniker::RelativePathTo. Este mΘtodo devolve E_NOTIMPL.
-
- IMoniker::GetDisplayName. Este mΘtodo obtΘm o nome a apresentar para
- o moniker OBJREF. O nome a apresentar Θ uma codificaτπo de 64 bits
- que codifica a localizaτπo do computador, o ponto de terminaτπo do
- processo e o ID do ponteiro da interface (IPID) do objecto em execuτπo.
- Para uma futura compatibilidade, o nome a apresentar estß limitado aos
- caracteres que podem ser especificados como parte de um URL.
-
- IMoniker::ParseDisplayName. Se pmkToLeft nπo for um valor NULO,
- este mΘtodo devolve MK_E_SYNTAX.
-
- IMoniker::IsSystemMoniker. Este mΘtodo devolve S_OK e transmite
- novamente MKSYS_OBJREFMONIKER.
-
- Suporte para tipos de dados de VB6.0
-
- O Visual Basic(r) 6.0 permite que as variantes do Visual Basic contenham
- estruturas de dados definidas pelo utilizador. O DCOM95 suporta agora
- a localizaτπo remota destas variantes.
-
- II. Correcτ⌡es de erros
- -----------------------
-
- Condiτπo de competiτπo no descarregamento de m·ltiplos m≤dulos
-
- Se tivessem sido descarregados m·ltiplos m≤dulos em simultΓneo, teria
- ocorrido uma condiτπo de competiτπo nas vers⌡es anteriores do DCOM95.
- Consoante a ordem pela qual os m≤dulos foram descarregados,
- poderia ter ocorrido uma violaτπo de acesso. Este facto foi corrigido
- nesta versπo do DCOM95.
-
- Ambiente de trabalho sem resposta durante negociaτ⌡es de protocolos RPC
-
- As vers⌡es anteriores do DCOM95 nπo enviaram mensagens durante as
- negociaτ⌡es dos protocolos RPC. Em alguns casos, se o utilizador tivesse
- iniciado outra aplicaτπo enquanto os protocolos RPC estavam a ser negociados,
- a mßquina teria estado sem resposta. Ap≤s um intervalo de 30 segundos,
- o processamento de mensagens teria sido retomado. Este comportamento foi
- alterado na versπo mais recente do DCOM95; assim sendo, as aplicaτ⌡es
- podem ser iniciadas enquanto os protocolos RPC estiverem ser negociados.
-
- Ambiente de trabalho sem resposta durante o arranque de uma nova aplicaτπo
-
- O RPC cria uma janela oculta no Multiple-Threaded Apartment (MTA),
- que nπo precisa de enviar mensagens por especificaτπo de DCOM. Quando
- um utilizador iniciar uma nova aplicaτπo a partir do ambiente de
- trabalho, o Windows envia uma mensagem para todos os outros
- identificadores de janela, notificando-os deste acontecimento e
- esperando por uma resposta. Nas vers⌡es anteriores do DCOM95, a
- janela de RPC oculta poderia nπo responder e o Windows seria interrompido.
- Esta versπo do DCOM95 corrige este problema e a janela de RPC permite
- agora respostas do ambiente de trabalho enquanto novas aplicaτ⌡es sπo
- iniciadas.
-
- Danos na pilha devido a m·ltiplos endereτos IP
-
- Em algumas situaτ⌡es, se estivesse a executar uma versπo anterior do DCOM95
- num computador com mais de um endereτo IP, a mem≤ria intermΘdia dos
- endereτos IP ficaria sobrecarregada e a pilha ficaria danificada.
- Este problema foi corrigido na versπo mais recente do DCOM95.
-
- S≤ Θ utilizado o primeiro endereτo IP
-
- Se estivesse a executar uma versπo anterior do DCOM95 num computador
- que tivesse duas placas adaptadoras de rede (e, por conseguinte, dois
- endereτos IP, cada um atribuφdo a uma placa de endereτo diferente),
- o DCOM95 s≤ utilizaria uma placa adaptadora de rede. Nesta versπo do
- DCOM95, se o primeiro endereτo utilizado nπo funcionar, serß utilizado
- o segundo.
-
- O RPC tenta agora m·ltiplos endereτos IP
-
- Ao efectuar uma chamada de procedimento remota para um computador
- com m·ltiplos endereτos IP, serπo utilizados os endereτos IP
- subsequentes caso falhe a primeira tentativa de ligaτπo ao primeiro endereτo.
-
- Os monikers de ficheiro suportam uma sintaxe de caminho adicional
-
- Os monikers de ficheiro podem agora ser criados sem argumentos com o
- formato <startdir><relativepath> como, por exemplo,
- "C:\bug\bug\..\..\foo.jpg". No DCOM95 1.1, s≤ eram permitidos os
- caminhos relativos (por exemplo, "..\..\foo.jpg") ou absolutos
- (por exemplo, "C:\foo.jpg").
-
- GPF aquando do descarregamento de Oleaut32.dll
-
- Nas vers⌡es anteriores do DCOM95, ocorria uma falha geral de protecτπo
- (GPF, General Protection Fault) quando a Oleaut32.dll era descarregada
- antes de uma chamada para CoUninitialize. Este problema ocorria
- frequentemente quando uma aplicaτπo de VB criava um controlo ligado
- de forma estßtica α Oleaut32.dll e, em seguida, libertava o controlo
- antes de chamar CoUninitialize. Este procedimento deixou de provocar
- uma falha geral de protecτπo na versπo mais recente do DCOM95.
-
- Organizaτπo e desordenaτπo de tipos de Visual Basic
-
- A organizaτπo e desordenaτπo de determinados tipos de dados de
- Visual Basic foram corrigidas. Sπo agora permitidos os parΓmetros de
- matrizes com um tamanho superior a 64K. As estruturas definidas utilizando
- nomes alternativos para o tipo sπo agora organizadas e desordenadas
- correctamente.
-
- ┴tomos que sπo eliminados com demasiada frequΩncia em OleUninitialize
-
- Este erro apareceu em aplicaτ⌡es que efectuam chamadas para OleInitialize
- e OleUninitialize vßrias vezes. Durante a inicializaτπo, o OLE adiciona
- muitos ßtomos para RPC de DDE. Se os ßtomos jß tiverem sido adicionados
- por outro thread, nπo sπo novamente adicionados. No entanto, durante
- a nπo inicializaτπo, os ßtomos eram sempre eliminados e os identificadores
- nπo eram qualificados como nulos. Assim, da pr≤xima vez que o OleInitialize
- foi chamado, os identificadores anteriores ainda existiam, mesmo que
- os ßtomos jß tivessem sido eliminados e o OLE nπo voltou a adicionß-los.
- Esta situaτπo levou a todos os ßtomos de OLE invßlidos depois de m·ltiplas
- chamadas para OleInitialize e OleUninitialize. Este problema foi corrigido
- nesta versπo do DCOM95.
-
- Encerramento correcto dos servidores de ADO
-
- O Active Data Objects (ADO) utiliza monikers de ponteiro para iniciar
- um processo do servidor. As vers⌡es anteriores do DCOM95 continham um
- erro que envolvia o total de referΩncias de moniker de ponteiro, onde
- os monikers de ponteiro eram criados com um total de 1 referΩncia
- inicial, em vez de 0. Assim, o total de referΩncias do moniker de
- ponteiro nunca seria de zero e o moniker de ponteiro nunca seria libertado.
- Como resultado, os servidores de ADO nunca eram encerrados, mesmo depois
- de o ·ltimo ponteiro respectivo ter sido libertado. Este problema foi
- corrigido nesta versπo do DCOM95.
-
- Funcionamento de CoCreateInstance com nome de DNS pr≤prio
-
- Nas vers⌡es anteriores do DCOM95, a chamada para CoCreateInstance com
- o nome completo do computador local nπo funcionavam. Este problema foi
- corrigido na versπo actual do DCOM95 e, neste momento, CoCreateInstance
- cria correctamente uma ocorrΩncia no computador local.
-
- Consolidaτπo lenta na mem≤ria raiz com um ficheiro composto muito longo
-
- Nas vers⌡es anteriores do DCOM95, enquanto que o ficheiro composto se
- tornava muito longo (por exemplo, 400M), o tempo de consolidaτπo numa
- mem≤ria raiz aberta no modo STGM_TRANSACTED tornava-se muito lento.
- Os limites da tabela da pßgina interna foram aumentados e deixaram
- de constituir um problema.
-
- Exportaτπo de objectos a partir de um MTA recriado
-
- Nas vers⌡es anteriores do DCOM95, um servidor nπo poderia exportar
- um objecto a partir de um Multi-Threaded Apartment (MTA) se nπo fosse
- a primeira criaτπo do MTA no processo. Este problema foi corrigido.
- Agora, se um servidor criar um MTA, se este for destruφdo e,
- consequentemente, se o servidor recriar o MTA, os objectos poderπo
- ser exportados a partir do MTA.
-
- M·ltiplas ocorrΩncias de executßveis do Visual Basic 4
-
- No DCOM95 v1.1, se iniciasse m·ltiplas ocorrΩncias do mesmo executßvel
- do Visual Basic 4, se as encerrasse pela ordem LIFO (Last-In First-Out),
- o ·ltimo executßvel seria interrompido. Esta situaτπo tambΘm se verificava
- nos formulßrios electr≤nicos do Microsoft Exchange. Este problema foi corrigido
- na versπo mais recente do DCOM95. Pode agora encerrar os executßveis do
- Visual Basic 4 em qualquer ordem.
-
- Caracteres expandidos nos nomes de ficheiros do Visual Basic
-
- Se tiver atribuφdo um nome a um m≤dulo ou a uma classe do Visual Basic
- utilizando caracteres expandidos para um determinado idioma, esse
- ficheiro poderß nπo ser aberto em computadores configurados para
- um local diferente. Este problema foi corrigido.
-
- III. Problemas conhecidos
- -------------------------
-
- Corel WordPerfect Suite 7: a instalaτπo causa uma falha de pßgina invßlida
-
- Se instalar o Corel WordPerfect Suite 7 num sistema Windows 95 com o
- DCOM95, poderß obter uma falha de pßgina invßlida em PfOd70.pfc durante
- a instalaτπo. Se este erro aparecer, basta fechar a caixa de dißlogo
- da mensagem de erro. O programa de configuraτπo deverß continuar com Ωxito.
-
- Microsoft Access95: a replicaτπo de base de dados nπo funciona
-
- Se tentar replicar uma base de dados do Access utilizando o Microsoft
- Access 95 em computadores com o DCOM95 instalado, poderß obter a seguinte
- mensagem de erro:
-
- O Microsoft Access nπo pode concluir esta operaτπo porque nπo pode
- localizar nem inicializar a biblioteca de ligaτπo dinΓmica Msjtrclr.
-
- Este Θ um problema do Microsoft Access 95. Poderß ter de resolver este
- problema escrevendo um programa que utilize o modelo de objecto do Access
- em vez da ferramenta de replicaτπo ou utilizando o porta-documentos para
- replicaτπo. O Microsoft Access 97 nπo Θ afectado por este problema.
-
- WordPerfect
-
- Se tiver um documento do WordPerfect com uma folha de cßlculo incorporada
- de Corel e a folha contiver outro objecto incorporado (por exemplo, um
- mapa de bits), poderß obter um aviso informando de que perdeu a ligaτπo
- α rede quando fechou o primeiro objecto que foi incorporado. Poderπo
- existir quatro ou cinco avisos deste tipo. Todos estes avisos nπo
- trazem problemas, basta fechß-los e continuar.
-
- Os clientes de Multiple-Threaded Apartment (MTA) que utilizam
- rotinas de conversπo de BSTR poderπo bloquear mensagens de DDE
-
- As rotinas de conversπo de BSTR de automatizaτπo (por exemplo,
- BstrFromR4) criam janelas ocultas de modo a facilitar a conversπo
- de tipos. Estas janelas nπo funcionam com a fila de mensagens do
- Windows. Se for criada uma janela deste tipo a partir de um cliente
- de MTA, as mensagens de DDE poderπo ficar bloqueadas. O thread de
- cliente nπo Θ obrigado a servir a fila de mensagens com o modelo de
- programaτπo de MTA. Se nπo, esta janela de nφvel superior provoca o
- bloqueio das mensagens de difusπo globais.
-
- Existem duas formas de resolver esta situaτπo. Chamar as rotinas de
- conversπo de BSTR a partir de um cliente de Single-Threaded Apartment
- (STA) ou fazer com que o thread de MTA do cliente funcione como um
- thread de STA. (Um thread de STA tem de servir a fila de mensagens.)
- Se o thread estiver a bloquear num identificador de win32, tem de
- chamar a funτπo MsgWaitForMultipleObjects para enviar em simultΓneo
- as mensagens do Windows.
-
- Os nomes de caminhos de DLL com mais de 127 caracteres provocam erros
-
- Se registar uma DLL com um nome de caminho com 128 caracteres ou mais,
- o registo terß Ωxito, mas CoCreateInstance ou CoGetClassObject
- devolverß um erro (REGDB_E_CLASSNOTREG) quando aceder a um objecto
- suportado por esta DLL.
-
- IV. Diferenτas do DCOM no Windows NT
- ------------------------------------
-
- Funτ⌡es de seguranτa do DCOM95
-
- A funcionalidade principal e a interface de programaτπo de aplicaτ⌡es
- (API) para DCOM95 sπo idΩnticas tanto no Windows 95 como no Windows
- NT 4.0/5.0. No entanto, determinadas capacidades relacionadas com a
- seguranτa sπo diferentes devido αs diferentes infra-estruturas de
- seguranτa dos sistemas operativos. ╔ recomendßvel a utilizaτπo das
- predefiniτ⌡es de seguranτa do sistema; tambΘm Θ necessßrio activar
- a seguranτa a "nφvel de utilizador" em partilhas de sistemas de ficheiros.
- (Consulte as informaτ⌡es que se seguem.)
-
- Estπo disponφveis os seguintes serviτos, que podem ser utilizados
- para substituir a seguranτa predefinida:
- * CoInitializeSecurity
- * CoQueryAuthenticationService
- * CoQueryProxyBlanket
- * CoSetProxyBlanket
- * CoQueryClientBlanket
- * Interface IClientSecurity
- * Interface IServerSecurity
-
- Contudo, determinadas capacidades que fazem parte do DCOM para
- Windows NT nπo estarπo disponφveis no Windows 95 devido α existΩncia
- de diferenτas na infra-estrutura da seguranτa no Windows 95.
-
- Deverß ter em especial atenτπo a falta de funτ⌡es de seguranτa na
- API Win32, tal como a capacidade para criar listas de controlo de
- acesso (ACL), e a funτπo AccessCheck, bem como a falta de um contexto
- de seguranτa associado a sinais de threads e processo.
- O Windows 95 nπo suporta originalmente estas funτ⌡es ou criaτ⌡es.
- Assim, o DCOM95 nπo suportarß a representaτπo (especificamente,
- as funτ⌡es de ajuda CoImpersonateClient e CoRevertToSelf na interface
- IServerSecurity), que se baseia na seguranτa de sinais por threads e
- por processos no Windows NT 4.0. A representaτπo Θ normalmente
- utilizada para controlar automaticamente o acesso a recursos do
- sistema que sπo restritos, tais como o sistema de ficheiros,
- outros processos e a rede. Estes recursos nπo sπo restritos no
- Windows 95.
-
- No entanto, o DCOM95 oferece aos programadores vßrios objectos de
- ajuda que fornecem listas ACL e uma funcionalidade de verificaτπo
- de acesso, que pode ser utilizada para controlar explicitamente o acesso
- atravΘs de clientes remotos aos recursos ou dados do sistema e aos
- definidos pelo utilizador. Estes objectos de ajuda sπo fornecidos
- pelo objecto do sistema CLSID_DCOMAccessControl, que implementa a
- interface IAccessControl.
-
- O IAccessControl deverß ser utilizado para gerir as permiss⌡es
- de seguranτa de cada programa sempre que o fluxo de dados entre
- o Windows 95/98 e o Windows NT constituir uma preocupaτπo.
- O objecto CLSID_DCOMAccessControl estß disponφvel em todas as
- vers⌡es do DCOM95 e no Windows NT 4.0 SP2 ou posterior. Para obter
- detalhes sobre o IAccessControl, consulte a documentaτπo relativa
- ao Platform SDK.
-
- Seguranτa no arranque e no acesso
-
- O DCOM95 nπo permite controlar quem inicia o c≤digo de classe
- de servidor, uma vez que o arranque dos servidores nπo Θ suportado.
- Os servidores/classes tΩm de estar em execuτπo de modo a que os
- clientes remotos estabeleτam ligaτπo com os servidores/classes
- e utilizem os respectivos serviτos.
-
- O DCOM95 suporta a capacidade de ligaτπo a classes/servidores
- em execuτπo. A seguranτa no acesso Θ suportada atravΘs da chave
- de registo \APPID\{.}\AccessPermissions e Θ ajustada atravΘs da
- ferramenta DCOMCNFG ou durante a instalaτπo ou configuraτπo do
- c≤digo do servidor. Os utilizadores nπo autenticados poderπo
- utilizar os servidores se configurar a classe de forma a
- suportar ligaτ⌡es nπo autenticadas (atravΘs de ferramentas de
- configuraτπo estßticas ou, de uma forma dinΓmica, atravΘs da
- funτπo CoInitializeSecurity). TambΘm pode compilar ACL arbitrßrias
- para definir os utilizadores e os grupos que podem aceder a serviτos
- especφficos.
-
- Nφveis de autenticaτπo
-
- Os clientes de DCOM95 podem efectuar chamadas de DCOM utilizando
- qualquer nφvel de autenticaτπo. Os servidores ou clientes de DCOM95
- que recebem chamadas de retorno s≤ podem aceitar chamadas de DCOM
- utilizando os nφveis de autenticaτπo RPC_C_AUTHN_LEVEL_NONE ou
- RPC_C_AUTHN_LEVEL_CONNECT.
-
- Transporte
-
- O DCOM95 suporta apenas a ligaτπo de TCP. Se nπo tiver o protocolo
- TCP/IP instalado, o DCOM95 nπo poderß suportar a transmissπo de COM
- entre computadores.
-
- Definiτ⌡es de registo
-
- As seguintes chaves de registo que foram encontradas em
- HKEY_LOCAL_MACHINE\Software\Microsoft\OLE sπo estabelecidas
- pelo DCOM95:
-
- EnableDCOM (valor predefinido = "Y"). Permite o DCOM neste computador.
- Quando estiver definido como "N", o computador nπo poderß estabelecer
- ligaτπo nem activar objectos em computadores remotos e estes nπo poderπo
- estabelecer ligaτπo com objectos existentes no computador local. Se
- este valor for definido como "Y", serß permitida uma ligaτπo como um
- cliente a objectos remotos (quando EnableRemoteConnect='N', tal como
- explicado a seguir) ou uma ligaτπo completa de cliente/servidor
- (quando EnableRemoteConnect='Y', tal como explicado a seguir).
-
- EnableRemoteConnect (valor predefinido = "N"). Permite que os servidores
- de COM suportem clientes remotos. Quando este valor estiver definido
- como "Y", as referΩncias a interfaces em objectos locais podem ser
- transferidas para clientes remotos e estes poderπo estabelecer ligaτπo
- com objectos em execuτπo. Quando este valor estiver definido como "N",
- este computador poderß estabelecer ligaτπo com objectos remotos mas
- nπo poderß agir como um servidor: o computador nπo poderß estabelecer
- ligaτπo com objectos em execuτπo.
-
- AlΘm disso, a seguinte chave de registo encontra-se em
- HKEY_CLASSES_ROOT\CLSID:
-
- {bdc67890-4fc0-11d0-a805-00aa006d2ea4}\InstalledVersion.
- ContΘm o n·mero da versπo do DCOM95 no formato "a,b,c,d".
- Este valor pode ser utilizado pela pßgina de transferΩncia de
- componentes do Internet Explorer para determinar se o DCOM95
- estß instalado. Este valor Θ adicionado ao registo durante a
- configuraτπo e nπo deverß ser modificado.
-
- Utilizar o Windows 95 como sistema anfitriπo de servidor remoto
-
- O Windows 95 pode ser um sistema anfitriπo de servidor remoto,
- com as seguintes ressalvas que deverß ter em atenτπo:
- * Nπo existe nenhuma capacidade de arranque. O processo de servidor
- tem de estar em execuτπo para que um cliente possa estabelecer
- ligaτπo com o servidor.
- * Se forem necessßrias ligaτ⌡es protegidas, o servidor (e, no caso
- de chamadas de retorno, o cliente) tem de ter um controlo de acesso
- a nφvel de utilizador com o nome de um conjunto de fornecedor de
- seguranτa.
- * O valor de registo "EnableRemoteConnect" tem de ser definido como "Y".
-
- O DCOM95 foi testado a um nφvel mais abrangente utilizando o fornecedor
- de seguranτa de domφnios do Windows NT. Poderß encontrar problemas com
- outros fornecedores de seguranτa.
-
- Para estabelecer um controlo de acesso a nφvel de utilizador, tem de
- ter o Filesec.vxd instalado. Geralmente, este ficheiro Θ instalado nos
- computadores com o Windows 95 quando Θ instalada a partilha de ficheiros
- e impressπo.
-
- Para activar o controlo de acesso a nφvel de utilizador, abra a caixa
- de dißlogo 'Rede' no 'Painel de controlo', clique no separador
- 'Controlo de acesso', seleccione a caixa 'Controlo de acesso a nφvel
- de utilizador' e escreva o nome do domφnio de seguranτa. Este procedimento
- poderß afectar a forma como estß actualmente a partilhar os direct≤rios na
- rede a partir do computador; consulte a documentaτπo online para obter
- detalhes. Se nπo tiver o separador 'Controlo de acesso' na 'Rede' do
- 'Painel de controlo', tem de instalar um serviτo de cliente de rede.
- Clique nos clientes de rede, configurando a entrada no φndice remissivo
- da ajuda online para obter informaτ⌡es sobre como instalar um cliente de rede.
-
- V. Redistribuiτπo
- -----------------
-
- Para obter informaτ⌡es sobre como redistribuir o DCOM95, consulte as
- directrizes sobre a redistribuiτπo que se encontram no contrato de
- licenτa do utilizador final (license.txt).
-
- VI. Suporte e recursos
- ----------------------
- Atendimento a clientes
-
- Serviτo prΘ e p≤s venda da Microsoft para quest⌡es gerais sobre
- produtos e serviτos Microsoft que nπo digam respeito a suporte tΘcnico.
- Os profissionais encarregues desta ßrea estπo aptos a responder αs mais
- diversificadas quest⌡es, desde uma breve descriτπo de um produto ou
- serviτo α orientaτπo sobre promoτ⌡es especiais, cursos, palestras,
- documentaτπo, cart⌡es de registo, troca e polφtica de actualizaτπo
- de produtos, rede de revendedores e envio de material informativo.
- Telefone: (01) 440 92 00, de segunda a sexta (excepto feriados),
- das 9:00 αs 13:00 e das 14:30 αs 18:30 horas.
-
- Atendimento electr≤nico
-
- Todos os clientes Microsoft tΩm, 24 horas por dia, sete dias por
- semana, acesso α variada gama de serviτos de baixo custo de informaτπo
- electr≤nica:
-
- Frequently Asked Questions (FAQs)
-
- Ferramenta de suporte para encontrar rapidamente respostas sobre as
- quest⌡es tΘcnicas mais comuns relacionadas com a utilizaτπo de produtos
- da Microsoft.
-
- Esta informaτπo pode ser acedida via Internet.
-
- Microsoft Download Service
-
- Acesso α biblioteca tΘcnica da Microsoft nos Estados Unidos, que
- contΘm programas exemplo, controladores de dispositivos,
- actualizaτ⌡es tΘcnicas (patches), actualizaτ⌡es de software
- e auxiliares de programaτπo. Por modem (Estados Unidos): 00-1-206-936-6735.
-
- Serviτos de Informaτπo por subscriτπo
-
- TechNet e MSDN (Microsoft Developer Network). Informaτπo tΘcnica
- e estratΘgica muito detalhada que inclui a Knowledge Base, software
- de desenvolvimento, documentaτπo. Disponφvel em CD-ROM.
-
- Microsoft Knowledge Base
-
- Fonte de informaτπo primordial dos produtos Microsoft. ╔ uma base
- de dados de mais de 40.000 artigos com informaτπo tΘcnica dos produtos
-
- Microsoft. Esta base de dados pode ser acedida via Internet.
-
- Microsoft Software Library
-
- Biblioteca que contΘm software adicional, correcτ⌡es de bugs,
- controladores de perifΘricos, actualizaτ⌡es de software e auxiliares
- de programaτπo gratuitos, tudo disponφvel na Internet.
-
- Internet
-
- Acesso α biblioteca de controladores (drivers) Microsoft e α Microsoft
- Knowledge Base. O servidor FTP Internet da Microsoft (ftp.microsoft.com)
- permite o inφcio de sessπo como "anonymous".
-
- O suporte Microsoft AnswerPoint Standard
-
- Serviτo direccionado para os utilizadores de produtos da linha
- de consumo da Microsoft, aplicaτ⌡es de produtividade pessoal,
- sistemas operativos pessoais e ferramentas de desenvolvimento,
- proporciona aos utilizadores um total de dois incidentes de suporte
- ao longo de todo o perφodo de utilizaτπo do produto. O perφodo de
- utilizaτπo estende-se atΘ um ano ap≤s o tΘrmino da sua comercializaτπo.
- Um problema relatado para a Microsoft Θ um incidente, independentemente
- do n·mero de telefonemas necessßrios para o solucionar. Os produtos
- servidores nπo sπo abrangidos por este serviτo. Todos os utilizadores
- que tenham adquirido o produto em Portugal atravΘs do canal de revenda
- da Microsoft e enviado o seu cartπo de registo tΩm o direito ao suporte
- via telefone, fax ou correspondΩncia. Esse suporte pode incluir d·vidas
- sobre instalaτπo, compatibilizaτπo do software com impressoras e
- perifΘricos e correcta utilizaτπo do software, nπo incluindo suporte
- relativo a macros, programaτπo ou informaτ⌡es que saiam do Γmbito do
- uso padrπo do produto em questπo.
-
- Os utilizadores que adquiriram software incorporado na mßquina devem
- recorrer ao suporte fornecido pelo pr≤prio fabricante do equipamento
- (OEM - Original Equipment Manufacturer).
- O Microsoft AnswerPoint Standard funciona de segunda a sexta
- (excepto feriados), das 9:30 αs 13:00 e das 14:30 αs 17:30 horas,
- pelo telefone (01) 440 92 80/1/2/3. Passado o perφodo de suporte
- gratuito, o utilizador poderß optar por outras modalidades de suporte,
- de acordo com as suas necessidades.
-
- Quando efectuar a chamada deve ter o computador α sua frente e ter perto
- de si a documentaτπo apropriada do produto. Deve estar preparado para
- fornecer as seguintes informaτ⌡es:
-
- * O n·mero da versπo do produto Microsoft que estß a utilizar
- * O tipo de hardware que estß a utilizar, incluindo o hardware de rede,
- se aplicßvel
- * O sistema operativo que estß a utilizar
- * O enunciado exacto de quaisquer mensagens que tenham aparecido no
- seu ecrπ
- * Uma descriτπo do que aconteceu e do que estava a fazer quando surgiu
- o problema
- * Uma descriτπo de como tentou solucionar o problema
-
- O suporte Microsoft AnswerPoint Priority
-
- Para empresas, consultores, utilizadores mais exigentes e centros
- de informaτπo de grandes empresas, a Microsoft criou um programa
- padrπo internacional.
-
- Nπo incluindo o suporte "no local", o suporte tΘcnico, atravΘs da
- modalidade Priority, garante ao nosso cliente um atendimento telef≤nico
- personalizado, nas ßreas de consumo, aplicaτ⌡es de produtividade pessoal,
- sistemas operativos pessoais, ferramentas de desenvolvimento e sistemas
- avanτados. O Microsoft Priority estß disponφvel de dois modos (contrato
- anual e por incidente de suporte). O contrato de suporte anual
- - Priority Annual - divide-se em trΩs ßreas:
-
- AnswerPoint Priority Desktop
-
- Contrato anual de suporte telef≤nico (ou fax), que abrange produtos nas
- ßreas de Consumo, Aplicaτ⌡es de produtividade pessoal e Sistemas
- operativos pessoais.
-
- AnswerPoint Priority Development
-
- Como o AnswerPoint Priority Desktop, mas abrange mais uma ßrea de
- produtos, a das Ferramentas de desenvolvimento.
-
- AnswerPoint Priority Comprehensive
-
- Como o AnswerPoint Priority Development mas em todas as ßreas de
- produtos Microsoft, incluindo o sistema operativo Microsoft Windows NT,
- o Microsoft SQL Server, sistemas de envio e recepτπo de mensagens
- e outros produtos de Sistemas Avanτados.
-
- Outros benefφcios
-
- Informaτπo, autonomia e utilizaτπo plena de um produto ou ferramenta
- de software Θ o que cada utilizador mais precisa para a sua produtividade
- pessoal e/ou em grupo. Para os clientes do Microsoft AnswerPoint Priority
- a Microsoft disponibiliza, automaticamente, um de dois tipos de publicaτ⌡es
- electr≤nicas, dependendo da categoria escolhida: Microsoft TechNet e MSDN
- - Microsoft Developer Network.
-
- Outras opτ⌡es
-
- Microsoft Solution Providers
-
- Paralelamente ao melhoramento da ampla gama de serviτos oferecidos pela
- pr≤pria Microsoft, o crescimento do mercado e do volume de exigΩncias
- dos clientes levou a Microsoft a traτar uma estratΘgia para ampliar
- a disponibilidade de atendimento a clientes. Foi criado o programa
- Microsoft Solution Provider, inaugurando um relacionamento estratΘgico
- com empresas especializadas do mercado.
-
- AtravΘs deste programa a Microsoft detecta, apoia estrategicamente,
- certifica e disponibiliza a informaτπo tΘcnica para que estas empresas
- possam fornecer produtos, soluτ⌡es e serviτos que representem uma
- extensπo dos serviτos da pr≤pria Microsoft.
-
- O programa Microsoft Solution Provider engloba os seguintes segmentos
- de empresas:
-
- * Centros de desenvolvimento.
- * Centros de integraτπo.
- * Centros autorizados de formaτπo.
- * Microsoft Certified Technical Education Centers (MS CTEC).
- * Authorized Support Centers (ASC).
-
- O nφvel de exigΩncia para a qualificaτπo dessas empresas Θ extremamente
- rigoroso e segue critΘrios mundialmente estabelecidos para a sua
- certificaτπo. Assim, sempre que consultada na resoluτπo de um projecto
- ou problema dirigido ou especφfico, a Microsoft tem condiτ⌡es de
- redireccionar a soluτπo para um Microsoft Solution Provider especializado
- em determinada ßrea. Agora, atravΘs de uma completa rede de profissionais
- e empresas prestadoras de serviτos, a Microsoft expande o seu raio de acτπo,
- em volume e diversidade, sob um mesmo padrπo de excelΩncia. A Microsoft
- mantΘm um registo permanentemente actualizado por segmento de Microsoft
- Solution Providers, por produtos em que estes estπo especializados,
- as suas principais ßreas de actuaτπo e especialidade.
-
- Microsoft TechNet
-
- Publicaτπo mensal com informaτ⌡es actualizadas sobre assuntos tΘcnicos,
- dados sobre produtos, exemplos de casos e estratΘgias tecnol≤gicas,
- destinada a profissionais de suporte e de formaτπo de utilizadores finais,
- administradores de redes e de bases de dados, programadores e consultores.
- A informaτπo estß acondicionada em CD-ROM de ediτπo mensal.
-
- Microsoft Developer Network
-
- As subscriτ⌡es do Microsoft Developer Network (MSDN) tornam mais fßcil
- tirar todo o partido da utilizaτπo das mais recentes ferramentas e
- tecnologias da Microsoft. Com a flexibilidade de quatro nφveis de
- subscriτπo (Library, Professional, Enterprise e Universal) e a conveniΩncia
- das actualizaτ⌡es trimestrais distribuφdas durante um ano, o MSDN Θ essencial
- a todos os programadores.
-
- Microsoft Press
-
- A editora oficial de livros, Microsoft Press, responsßvel pela ediτπo
- anual de aproximadamente 50 novos tφtulos, estß mais perto dos utilizadores
- Portugueses. Em Portugal os livros da Microsoft Press sπo distribuφdos
- pela McGraw Hill e pela Texto Editora.
-
- VII. Lista de ficheiros
- -----------------------
-
- Esta tabela lista os n·meros das vers⌡es dos ficheiros distribuφdos com
- o DCOM95.
-
- oleaut32.dll 2.40.4275
- secur32.dll 4.10.1999
- compobj.dll 2.3.2
- ole2.dll 2.3.2
- ole32.dll 4.71.2900
- olecnv32.dll 4.71.2900
- olethk32.dll 4.71.2900
- rpcltc1.dll 4.71.2900
- rpcltc5.dll 4.71.2900
- rpcltccm.dll 4.71.2900
- rpclts5.dll 4.71.2900
- rpcltscm.dll 4.71.2900
- rpcns4.dll 4.71.2900
- rpcrt4.dll 4.71.2900
- rpcss.exe 4.71.2900
- storage.dll 2.3.2
- stdole2.tlb 2.40.4275
- stdole32.tlb 2.1
- imagehlp.dll 4.00
- dllhost.exe 4.71.2900
- comcat.dll 5.0
- iprop.dll 4.00
- rpcmqcl.dll 4.71.2900
- rpcmqsvr.dll 4.71.2900
- olepro32.dll 5.0.4275
- asycfilt.dll 2.40.4275
- dcom2w98.dll 2.10.35.35
-
- Esta tabela lista os n·meros das vers⌡es dos ficheiros distribuφdos com
- o DCM95CFG.
-
- dcomcnfg.exe 5.00.1603.0
- ciscnfg.exe 4.71.2618
-