18 de abril de 2001 - Nesta edição:

  1. EDITORIAL

  2. O QUE HÁ DE NOVO NA SYSINTERNALS

    • PsService v1.01
    • PsFile v1.0
    • PsExec v1.11
    • HandleEx v4.0
    • DebugView v4.11
    • Dentro Windows 2000, 3º Ed.
    • Revista Windows de fevereiro de 2000
    • Sysinternals na Microsoft
  3. INFORMAÇÃO INTERNA

    • Atalhos de teclado frescos
    • Mensagens de depurgação do PnP
    • Decisão de engenharia inversa
    • Chamadas do sistema XP de nova Windows
    • Rede desligada
    • WinDev
    • TechEd EUA
  4. O QUE ESTÁ POR VIR

    • Dentro Windows pré-refetching XP

PATROCINADOR: SOFTWARE WINTERNALS ~~~~

A Newsletter Sysinternals é patrocinada pela Winternals Software, na Web http://www.winternals.com. Winternals Software é o principal desenvolvedor e fornecedor de ferramentas avançadas de sistemas para Windows NT/2K. Os produtos de Software Winternals incluem FAT32 para Windows NT 4.0, NTFSDOS Professional Edition (um controlador NTFS de leitura/escrita para DOS) e Recuperação Remota.

Winternals orgulha-se de anunciar a versão 1.2 do Comandante de Defrag NE, uma solução de desfragmentação empresarial de baixo custo que adiciona suporte NT 4 aos seus Windows 95/98/Me e Windows apoio de 2000. O Comandante DEFRAG NE aproveita os desfragmentadores incorporados de Windows 2000 e Windows 95/98/Me, e adiciona o seu próprio poderoso desfragmentr para Windows NT 4. Agora você pode gerir horários de desfragmentação em toda a sua empresa Windows a partir de um simples snapin MMC - sem sequer ter que instalar qualquer software cliente nos seus sistemas NT ou Windows 2000. Uma licença de 10 sistemas está disponível para compra on-line por apenas $169, e estão disponíveis descontos de quantidade agressiva. Visite http://www.winternals.com para mais informações.

Olá a todos,

Bem-vindos ao boletim dos Sysinternals. O boletim tem atualmente 31.500 subscritores.

Uma das primeiras coisas que nota quando instala uma versão beta de Windows XP é a interface de utilizador redesenhada, chamada Luna. O look-and-feel da Luna percorre todos os aspetos da interface, desde o comportamento do menu de arranque, até ao design dos menus de aplicações e caixas de diálogo. Esta conversão total é conseguida através da utilização de um motor de "temas". Os temas são descritos em ficheiros de estilo temático (ficheiros que terminam em .msstyles ) e o ficheiro temático luna.msstyle Luna, está localizado em \Windows\Resources\Themes\Luna . Sob o mesmo diretório encontrará uma subdiretório chamada Shell, na qual está localizado shellstyle.dll. Não é claro como o XP usa o DLL - o seu carregado pelo Explorer e tem uma folha de estilo HTML enterrada nele, mas sem exportações. Como comdlg.dll e kernel32.dll importam, e cada aplicação recebe uma cópia destes DLLs, cada processo também recebe uma cópia carregada da biblioteca de \Windows\System32\UxTheme.DLL clientes dos temas. Este DLL exporta funções IsThemeActiveIsAppThemed como, GetCurrentThemeName , e DrawThemeBackgroundGetThemeColor .

O Registo é onde o tema atual é especificado e a pervasividade temática configurada. Olhe em baixo HKEY_CURRENT_USER\Software\Microsoft\Plus!\Themes e encontre uma chave com o nome de onde vê Apply valores como "cores" e "ícones" que especificam onde o tema deve estar ativo. Sob a mesma chave, o Current sub-chave tem o caminho para o ficheiro .msstyles para o tema atual.

Dado que a "skinning" se tornou a raiva de aplicações como o WinAmp e o Windows Media Player, presumiria que a Microsoft publicaria uma ferramenta que permitiria a terceiros desenvolver os seus próprios temas, ou pelo menos documentar o formato do .msstyles ficheiro e shellstyle DLL para que terceiros pudessem desenvolver editores temáticos. No entanto, engana-se. Em "Microsoft Windows XP: What's in It for Developers?" (publicada online na http://msdn.microsoft.com/library/default.asp?URL=/library/techart/winxpintro.htm) Microsoft deixa claro que não tem intenção de permitir temas de terceiros:

"À primeira vista, o potencial para vários Windows estilos XP pode parecer a funcionalidade da pele em aplicações como o Window Media Player, mas existem diferenças. Os temas mudam o estilo visual do sistema operativo, mas ainda fornecem uma UI consistente com versões anteriores de Windows. Isto é importante, uma vez que os temas são aplicados em todo o sistema. As alterações aplicáveis à pele da aplicação, como a remoção de botões, não são adequadas ao nível do sistema operativo. Os formatos de ficheiros temáticos não são públicos; A Microsoft mantém o controlo de design para temas, para permitir uma interface de utilizador consistente e garantir a continuidade do design. Um kit de desenvolvedor temático não estará disponível com Windows XP".

O argumento que tenho a certeza que eles tomam para tal posição é que os temas de terceiros podem de alguma forma quebrar a UI, e os utilizadores chamariam o suporte da Microsoft para pedir ajuda. Por que não têm o mesmo medo Windows Media Player, não sei. No entanto, existem formas de aplicar uma aparência temática ao ambiente de trabalho e aplicações. Visite http://www.wincustomize.com/ para encontrar Windows peles de ambiente de trabalho, como o novo Aqua-Soft (uma pele WindowBlinds - ) que dá Windows o aspeto e a http://www.windowblinds.net sensação do ambiente de trabalho OS X da Apple. E dada a persistência da comunidade de esfolar em descobrir como esfolar tudo o que foi libertado, tenho a certeza que há pessoas neste momento a reverter o formato temático da Microsoft. É só uma questão de tempo até alguém lançar um editor temático, independentemente da política da Microsoft em controlar temas.

Então, o que a Microsoft vai fazer quando Windows editores temáticos XP e temas de terceiros começarem a aparecer? Vamos ter de esperar para ver, mas o comportamento da Apple pode estar a dar-nos uma prévia. Há alguns dias, a Apple emitiu uma empresa a desenvolver um editor temático para o Mac OS uma ordem de cessação e desista: http://www.macworld.co.uk/news/main_news.cfm?NewsID=2773. Desenvolvedor temático cuidado.

Por favor, passe a newsletter a amigos que acha que podem estar interessados no seu conteúdo.

Obrigado!

- Marca

O QUE HÁ DE NOVO NA SYSINTERNALS

PSSERVICE V1.01

O NT 4 e o Win2K Resource Kit's têm um utilitário de controlo de serviço de linha de comando, SC, desde que me lembro. O SC permite-lhe visualizar e alterar o estado e a configuração dos serviços Win32 nos sistemas locais ou remotos. O PsService é um clone de software gratuito da SC que tem algumas funcionalidades extra.

A primeira é que o PsService permite ligar-se a sistemas remotos utilizando credenciais alternativas do utilizador. Isto é útil nos casos em que a conta a partir da qual você gere não tem privilégios administrativos no sistema remoto, mas você tem acesso a uma conta que tem. A segunda é a capacidade de pesquisa do PsService. Se alguma vez se esqueceu de que sistema da sua rede está a executar o DNS, DHCP ou qualquer outro serviço, encontrará a instalação de pesquisa útil, pois permite especificar um nome de serviço e reportar os computadores que executam o serviço.

O PsService conta com a API do Gestor de Controlo de Serviços, para a qual pode encontrar documentação completa na Plataforma SDK, e o PsService não requer nenhuma instalação de software do cliente.

Baixar PsService v1.01 em http://www.sysinternals.com/ntw2k/freeware/psservice.shtml.

PSFILE V1.0

O PsFile é uma ferramenta que criei em resposta a pedidos de algo que supera as limitações do comando "ficheiro net" em Windows NT/2K. Pode utilizar o comando "net" incorporado na NT e win2K com a opção "ficheiro" para listar os ficheiros que outros computadores abriram em ações exportadas pelo sistema. No entanto, o comando da rede trunca nomes de longos caminhos e só funciona no sistema local.

O PsFile utiliza as mesmas APIs (adequadamente, a API "Net", que está documentada na Plataforma SDK) como o comando net, mas não trunca nomes de ficheiros e funciona tanto localmente como remotamente, sem necessidade de instalação de software do cliente.

Baixar PsFile v1.0 em http://www.sysinternals.com/pstools.htm.

PSEXEC V1.11

O PsExec é uma aplicação de linha de comando para Windows NT/2K que permite executar programas em sistemas remotos. O que o torna especialmente poderoso é que ativa remotamente os programas de consola para que possa executá-los interativamente. Por exemplo, se lançar o pedido de comando executável (cmd.exe) num sistema remoto utilizando o PsExec, tem efetivamente uma concha remota - e não precisa de instalar nenhum software cliente.

Além de servir como uma telnet leve, o PsExec permite-lhe ativar remotamente aplicações "apenas locais". IpConfig, a ferramenta incorporada que mostra a configuração de rede de um sistema, não é capaz de mostrar a configuração de sistemas remotos. Com o PsExec, no entanto, pode lançá-lo remotamente e ver a sua saída localmente.

Em alguns casos, a conta em que uma aplicação é executado é importante. A aplicação poderá ter de ser executada na sua conta para que as alterações que estão a ser introduzidas no Registo ou nos ficheiros ocorram no contexto de segurança correto. Noutros casos, pode ser desejável executar a aplicação numa outra em que gere o PsExec, e ainda assim, noutras ocasiões poderá querer que a aplicação remota seja executada na conta do Sistema. O PSExec apoia todas estas situações.

Por predefinição, o PsExec executa programas num contexto de segurança "personificado". Isto significa que, se executar o PsExec na conta do administrador, o processo remoto será executado na conta do administrador. Devido às restrições ao poder de personificação, o processo remoto não terá acesso aos recursos da rede no sistema remoto. Se especificar um nome de utilizador e palavra-passe na linha de comando do PsExec, o PsExec lança o processo remoto na conta alternativa e o processo remoto tem acesso a quaisquer recursos de rede acessíveis a partir dessa conta. Finalmente, uma opção de linha de comando permite-lhe direcionar o PsExec para executar o processo remoto na conta Do Sistema - a mesma conta em que os serviços do Win32 funcionam.

Baixar PsExec v1.11 em http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.

HANDLEEX V4.0

O HandleEx é uma ferramenta multifacetada que mostra a lista de processos ativos num computador, bem como as pegas dos recursos do sistema operativo que têm aberto e os DLLs que carregaram. A sua instalação de pesquisa e apresentação detalhada das propriedades processuais, manuseia e DLL fazem do HandleEx a ferramenta perfeita para rastrear problemas de versão DLL, lidar com fugas e o processo que está a aceder a um determinado ficheiro ou diretório.

Se tem acompanhado as atualizações da Sysinternals, então note que o HandleEx saltou dois grandes números de versão nos últimos meses. A primeira grande atualização, v3.0, introduziu uma série de funcionalidades, tais como ícones de aplicação na visão do processo, dicas de ferramentas para todos os itens listview, uma atualização muito mais eficiente e uma funcionalidade de pesquisa melhorada onde pode clicar em itens de resultado no diálogo de encontrar e fazer o HandleEx saltar para o punho apropriado ou entrada DLL.

Talvez as funcionalidades mais úteis para os desenvolvedores, no entanto, sejam "atualização de destaque" e realojamento de DLL. A atualização refere-se ao comportamento do HandleEx quando atualiza a vista. Novos itens, incluindo processos, pegas ou DLLs carregados, que não estavam presentes antes da atualização são destacados em verde, enquanto os itens que já não existem são destacados a vermelho. Além de o informar visualmente sobre as mudanças, isto permite-lhe ver vividamente as fugas de cabo em andamento, onde as pegas recém-abertas aparecem em verde após uma atualização.

O destaque do HandleEx relocalizado-DLL está relacionado com a deslocalização de DLL, um termo que descreve o comportamento do carregador de módulos em Windows onde não pode honrar os desenvolvedores de "endereço base" preferidos especificam quando constroem um DLL. O código que um linker (a ferramenta utilizada para a fase final do edifício DLL ou EXE) produz para um DLL tem referências de memória intra-DLL definidas com o pressuposto de que o carregador honrará o endereço base do DLL. A gama de memórias no processo de carregamento de um DLL que começa no endereço base e acomoda o tamanho da imagem DLL carregada deve ser livre para que o DLL carregue no seu endereço base preferido. Quando o endereço base é honrado por vários processos, a eficiência de utilização da memória é alcançada porque todos os processos partilham a mesma memória de código DLL.

Quando o carregador não pode honrar o endereço base de um DLL, por exemplo quando outro já está a utilizar a gama de endereços desejada, o carregador deve efetuar "deslocalização", o que implica a atualização de todas as referências de memória intra-DLL para refletir o endereço de carga real do DLL. Além de abrandar o tempo de carga do processo (geralmente impercetivelmente), a imagem DLL relocalizada não pode ser partilhada com outros processos que tenham o DLL carregado no endereço base preferido. Isto significa que obtém efetivamente uma segunda cópia da memória consumista do DLL.

Quando estiver no modo DLL, pode selecionar a opção "Realce DLLs relocalizados", resultando em Entradas handleEx para DLLs que não são carregadas no seu endereço de base preferido em amarelo. Os desenvolvedores podem redefinir os seus endereços de base DLL para evitar deslocalizações.

E o salto do HandleEx para a versão 4.0? Esta versão mais recente do HandleEx traz uma visualização completa do punho para a plataforma Win9x/Me. Agora pode selecionar um processo e ver as pegas que têm abertas, o mesmo que pode quando executar o HandleEx no WinNT/2K/XP. Não só isso, mas também como em WinNT/2K/XP, ver as propriedades de eventos, mutantes e semáforos revela informações sobre o seu estado (realizado, sinalizado).

Baixar HandleEx 4.0 em http://www.sysinternals.com/ntw2k/freeware/handleex.shtml.

DEBUGVIEW V4.11

O DebugView é um utilitário de desenvolvimento que permite capturar a saída de depurar a partir de aplicações ou controladores no sistema local ou num sistema remoto - mesmo a partir de vários sistemas simultaneamente. Esta última versão adiciona compatibilidade com Windows XP Beta 2, algumas funcionalidades de usabilidade e uma funcionalidade direcionada para os desenvolvedores de dispositivos em WinNT/2K/XP.

O diálogo de filtragem da DebugView permite-lhe definir incluir e excluir máscaras de filtro para estreitar a saída de depurar que está interessado em ver. Além disso, pode especificar até 5 filtros de realce diferentes, cada um com uma cor personalizável diferente. Anteriormente, se tivesse projetos que exigissem filtros diferentes, tinha de voltar a entrar nos filtros sempre que trocava de projeto. Com o DebugView 4.11 pode guardar filtros num ficheiro para uma recarga rápida. Como antes, o DebugView começa com os filtros que tinha ativo na época anterior.

Às vezes é necessário capturar um traço de saída de depurado para análise posterior, ou comparação com outros vestígios. Antes da nova versão do DebugView, a única forma de visualizar um ficheiro de registo era carregá-lo num editor de texto, o que significava que não poderia aplicar filtros de realce úteis. Agora pode carregar um ficheiro de registo DebugView de volta para o DebugView, tornando possível ver a saída da forma como a viu quando a capturou originalmente. A utilização de várias janelas DebugView permite comparar vestígios.

A nova funcionalidade final, login no tempo de arranque, complementa o suporte de despejo de crash da DebugView em NT/Win2K. Com o suporte de despejo de crash da DebugView, captura a saída de um controlador do dispositivo, e se o condutor falhar com o sistema e tiver lixeiras ativadas (completas ou kernel), utilize o DebugView para extrair a saída do depurg do condutor do despejo - permitindo-lhe ver a saída do condutor até ao ponto do acidente.

O início de sessão permite capturar a saída dos condutores que carregam durante o processo de arranque como controladores de arranque ou arranque do sistema. O controlador DebugView captura e tampão até 1 MB de saída de depurar durante a bota depois de ativar o início de arranque. Depois de o sistema estar em funcionamento, a execução da aplicação DebugView importa a saída tamponada para visualização. E se o seu condutor se despenhar durante a bagageira e tiver depósitos de colisão ativados, o suporte de despejo de crash da DebugView permite-lhe ver a saída gerada pelo condutor antes do acidente.

Baixar DebugView v4.11 em http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.

INSIDE WINDOWS 2000, 3ª EDIÇÃO

O livro oficial sobre os internos de Windows 2000 já está disponível! Esta edição, coautoria de David Solomon (www.solsem.com) e Mark Russinovich, é mais de 40% maior do que a anterior, com nova cobertura de networking, plug-and-play, gestão de energia, serviços, registo, WMI, arranque e encerramento, e armazenamento. Também inclui um CD com várias ferramentas poderosas, não disponíveis em nenhum outro lugar, para investigar Windows 2000 internos.

Se for à página Amazon.com do livro, http://www.amazon.com/exec/obidos/ASIN/0735610215/o/qid%3D957490318/sr%3D8-1/ref%3Daps%5Fsr%5Fb%5F1%5F1/103-5793119-3499040/systemsinternals/107-2386425-6078131 note que apenas duas críticas foram publicadas desde o lançamento do livro em setembro. Se tiver o livro, encorajamo-lo vivamente a partilhar as suas opiniões com outros potenciais leitores.

Consulte a tabela de conteúdos e encomendas do livro agora através http://www.sysinternals.com/insidew2k.htm.

REVISTA FEVEREIRO WINDOWS 2000

Confira a edição de fevereiro da revista Windows 2000 para o meu artigo sobre a análise do despejo de acidentes NT/Win2K. O artigo começa por levá-lo através dos fundamentos de configurar depósitos de colisão e explica como o sistema operativo cria um depósito de colisão (com pistas sobre o porquê de uma lixeira não gerar). Depois explico onde podes obter as mais recentes ferramentas de análise de despejo e passar pelo uso de um poderoso novo utilitário da Microsoft, Kanalyze. Finalmente, dou uma olhada rápida na utilização de um depuração de núcleo para examinar uma lixeira. Mesmo que apenas uma pequena fração de despejos revele a sua causa com análise, você deve achar a informação útil.

O artigo é publicado online através de um link http://www.sysinternals.com/publ.shtml em, onde você pode encontrar links para todas as nossas publicações.

SYSINTERNALS NA WWW.MICROSOFT.COM

A Sysinternals tem feito uma aparição em mais artigos da Microsoft Knowledge Base (KB) desde a última newsletter, elevando para 17 o total que encontrei referindo-se às ferramentas Sysinternals.

  • Q274038: PRB: ERRO ASP 8002801d "Biblioteca não registada"
    http://support.microsoft.com/support/kb/articles/Q274/0/38.ASP
    Este artigo direciona os utilizadores ao Regmon para que resolvam os erros das Páginas do Servidor Ativo.

  • Q232830: HOWTO: Determine a propriedade do cabo de ficheiro
    http://support.microsoft.com/support/kb/articles/Q232/8/30.ASP
    Quer saber que processo tem um ficheiro aberto? Este artigo do KB direciona-o para o HandleEx.

  • Q2163868: PRB: Violação de acesso durante a configuração da aplicação quando o ficheiro está a ser utilizado
    http://support.microsoft.com/support/kb/articles/Q216/3/68.ASP
    Visual Basic As aplicações de configuração podem falhar se um ficheiro que estão a tentar copiar estiver a ser utilizado. O HandleEx é a ferramenta ideal para rastrear o processo que está a interferir.

  • Q286198: HOWTO: Track "Permission Denied" Errors in DLL Files
    http://support.microsoft.com/support/kb/articles/Q286/1/98.ASP
    Utilizando o Filemon (o artigo também menciona Regmon) pode ver qual o processo de uma aplicação COM ou MTS que está a obter um erro de "acesso negado".

  • Q246199: BUG: Alteração da Definições local em procedimento armazenado alargado pode causar resultados incorretos
    http://support.microsoft.com/support/kb/articles/Q246/1/99.ASP
    Este artigo recomenda a utilização de ListDLLs para ver que versão da biblioteca de execução C SQL Server está a usar.

  • Q196453: Resolução de problemas NTVDM e WOW Erros de Arranque http://support.microsoft.com/support/kb/articles/Q196/4/53.ASP Os utilizadores que têm problemas quando iniciam aplicações de 16 bits são apontados a Filemon para ver que ficheiros o subsistema de ambiente de 16 bits (NTVDM) tem erros de acesso.

INFORMAÇÃO INTERNA

ATALHOS DE TECLADO FRESCOS

Muitos de vocês provavelmente vêem a chave Windows no teclado mais recente como uma chave simplesmente ocupando espaço. Eu estava assim até recentemente, quando tropecei num atalho de teclado de Windows chave para uma operação que frequentemente faço, e agora estou a usar o logótipo fora da chave com o meu uso frequente. Pensei em partilhar alguns atalhos de teclado que considero úteis, todos os quais funcionam em todas as versões de Windows.

Ação Atalho
Gestor de tarefas de lançamento ctrl+shift+fuga
Diálogo de Propriedades do Sistema de Exibição Windows+Pausa
Minimizar todas as janelas Windows+m
Maximizar todas as janelas Windows+M
Abra o meu computador Windows+e
Procurar um ficheiro Windows+f
Abra o diálogo de execução Windows+r

Depois de os ter determinado por tentativa e erro, David Solomon salientou que estão documentados em Windows ajuda de 2000 em "Atalhos de Teclado Natural".

MENSAGENS PNP DEBUG

Se estiver a desenvolver controladores plug-and-play para Windows 2000, poderá ficar surpreendido ao saber que pode persuadir até a construção a retalho de Windows 2000 para produzir mensagens de depuração de sistema plug-and-play extensivas durante o seu processo de enumeração e carregamento de condutores. Tenha o seu depurador de núcleo a partir-se no início da bota do sistema e coloque a variável do núcleo interno PnpEnumDebugLevel em 2 (a maioria das mensagens disparam com um nível de 1). Aqui está um exemplo da saída que você verá, que mostra o Gerente PnP carregando o motorista swenum (motorista de ônibus de enumeração de software):

.
IopCallDriverAddDevice: Processing devnode 0xfe503208
IopCallDriverAddDevice: DevNode flags going in = 0x000019
IopCallDriverAddDevice: Will load driver
IopCallDriverAddDevice: Opening registry key Root\SYSTEM\0000
IopCallDriverAddDevice:         Class GUID is {4D36E97D-E325-11CE-BFC1-08002BE10318}
IopCallDriverAddDevice: Unable to open GUID\Properties key {4D36E97D-E325-11CE-BFC1-08002BE10318} - 0xc0000034
IopCallDriverAddDevice:         Value Service [Type 1, Len 14] @ 0xe14ee82c
IopCallDriverAddDevice:                 Service Name swenum
IopCallDriverAddDevice:                 DriverName is \Driver\swenum
IopCallDriverAddDevice:                 Driver Reference 0xff3a8af0
IopCallDriverAddDevice: Adding Services (type 0)
IopCallDriverAddDevice: Adding Services (type 1)
IopCallDriverAddDevice: Adding Services (type 2)
IopCallDriverAddDevice: Adding driver 0xff3a8af0
IopCallDriverAddDevice:         Routine returned 00000000
.

DECISÃO DE ENGENHARIA INVERSA

Aqueles que seguiram os Sysinternals sabem que não tenho acesso a nenhum código fonte Windows (para além das fontes de motorista que enviam no DDK), e que eu aprendo os meandros da sua implementação através do uso laborioso do SoftICE e do meu próprio desmontador personalizado.

Deparei-me com um artigo, "Engenharia Inversa: Função Necessária ou Atividade Ilegal?" ( http://www.planetit.com/techcenters/docs/security/news/PIT20010123S0001) ... que descreve uma decisão de janeiro pelo 9º Tribunal de Apelação dos EUA num caso entre a Sony e a Connectix que interessará àqueles que fazem o mesmo. A Sony interpôs o caso contra o Connectix depois de o Connectix ter desenvolvido a sua "Virtual Game Station", um programa que permite executar jogos da Sony PlayStation num PC, e o tribunal decidiu que o Connectix estava dentro da lei quando inverteu a engenharia da PlayStation (através da desmontagem) de modo a permitir-lhes desenvolver o seu emulador.

Embora o âmbito da legalidade da engenharia inversa, especialmente considerando as licenças de encolhimento que a proíbem, ainda seja vago, este caso vem do lado da engenharia inversa.

ATUALIZAÇÕES DO WINDOWS XP KERNEL

Ao contrário do movimento entre NT 4 e Windows 2000, o núcleo Windows XP sofreu alterações mais subtis, muitas das quais visam melhorias de desempenho. As APIs de kernel disponíveis para desenvolvedores de condutores desenvolveram-se com mais de 200 novas funções de núcleo exportado, preenchendo alguns buracos anteriores. Por exemplo, Filemon e outras ferramentas Sysinternals obtêm o nome do processo que executa uma operação, chegando ao bloco de ambiente de processo indocumentado - em Windows XP eles poderão ligar PsGetProcessImageFileName . Existem quase 3 dúzias de novas chamadas ps-call para obter e definir atributos de processo, novas APIs de saída de depuração que permitem classificar o tipo de saída e nível de depuração, e uma nova chamada do sistema para salvar colmeias de registo. Há também um punhado de APIs como ZwQueryBootOptionsZwSetBootEntryOrder , e para ZwDeleteBootEntry editar o equivalente XP Windows de 64 bits de Boot.ini, que em vez de ser armazenado em um ficheiro, é armazenado em memória nãovolídule.

No entanto, há mudanças mais significativas em cima do núcleo, a maioria das quais dependem de controladores de dispositivos ou suporte de kernel. Por exemplo, existe um serviço de restauro do sistema que, com a ajuda de um controlador de filtro de sistema de ficheiros (sr.sys), mantém o registo de alterações nos ficheiros para que o sistema possa ser reensitado para um ponto anterior no tempo. Há um controlador de filtro de armazenamento chamado volsnap.sys que pode, com a cooperação de controladores de sistema de ficheiros, fazer uma cópia pontual de um volume. Existe um serviço de comutação rápida de utilizadores que utiliza o suporte de serviços terminais incorporado no núcleo para permitir que vários utilizadores sejam iniciados e alternados entre, e um melhor suporte de desfragmentação da API fornecido pelos controladores do sistema de ficheiros.

A Microsoft publicou um livro branco que descreve muitas das melhorias em http://www.microsoft.com/hwdev/Whistler/download/Whistler_kernel.zip. Existem diferentes graus de detalhe, deixando muitas perguntas sobre implementação e comportamento sem resposta, mas é uma revisão geral bastante boa. Claro que podes olhar para futuras newsletters e artigos da Sysinternals, e os meus Windows artigos de revistas de 2000, para responder a alguns deles.

REDE DESLIGADA

Grande parte dos meus centros de desenvolvimento em aplicações ativadas pela rede, mas em Windows 2000 não é possível testar tais aplicações quando inicia um computador desligado (como um portátil) na configuração padrão. Isto porque a pilha TCP/IP não é ativada a menos que o sistema detete uma ligação de rede. Isto significa, por exemplo, que dir \\laptop\c$ (onde "portátil" é o nome do seu computador) e ping 127.0.0.1 ambos falham em sistemas desligados. Se tiver um computador baseado em domínio, isto também pode levar a atrasos dolorosos durante o arranque.

Há duas soluções alternativas para isto. Uma delas é instalar o adaptador de loopback da Microsoft, que é um adaptador de rede virtual instalado utilizando o Hardware Wizard. A segunda é desativar o sentido dos meios de comunicação, o que impede o sistema de detetar que está desligado, definindo um valor de registo como descrito no artigo da Microsoft KB Q239924: http://support.microsoft.com/support/kb/articles/Q239/9/24.ASP. Com qualquer uma destas abordagens, a stack TCP/IP está ativa mesmo em sistemas desligados, permitindo-lhe aceder ao sistema local através de APIs de rede e caminhos unc \\laptop\c$ (como).

WINDEV

Windev, a conferência de desenvolvedores Windows, realiza-se este ano em Boston, de 11 a 15 de junho. Todos os nomes de topo da Programação Win32, systems e .NET estarão presentes, e esta é a única vez este ano que poderás assistir a uma sessão sobre Windows 2000 internamente apresentados tanto por David Solomon (www.solsem.com) como por mim. O Dave e eu estamos a entregar em conjunto o tutorial "Inside Windows 2000 Fundamentals" no primeiro dia. Também estou a ensinar uma sessão sobre a programação de mecanismos de comunicação interprocessa em Windows e uma sobre as novidades Windows XP.

Você pode ver os resumos das minhas conversas e encontrar um link para o web site windev em http://www.sysinternals.com/ntw2k/info/talk.shtml.

TECHED US

TechEd é a principal conferência da Microsoft, atraindo 10.000 pessoas e esgotado nos últimos anos. Este ano está a decorrer em Atlanta, Geórgia, de 17 a 21 de junho, e enquanto o foco está em .NET, a Microsoft convidou-me para apresentar "A Tour of Sysinternals Tools" e "Introdução à Windows NT/2000 Crash Dump Analysis". David Solomon também estará presente, apresentando Windows gestão de memória e processo e fios internos de 2000.

Para aqueles que estão na Europa, podem ver david e eu apresentar as mesmas sessões na TechEd Europe, que fica em Barcelona de 3 a 6 de julho.

Veja os meus resumos e siga um link para a página inicial do TechEd a partir de http://www.sysinternals.com/ntw2k/info/talk.shtml.

O QUE ESTÁ POR VIR

PRÉ-DEFETCHING DO WINDOWS XP

Uma das melhorias mais notáveis no Windows XP é o seu tempo de arranque rápido. A prefetching é a base da melhoria. O XP monitoriza o acesso ao disco durante uma bota, armazenando as informações para utilização no arranque subsequente, onde utiliza os dados para carregar as aplicações na memória antes de serem referenciadas. Da próxima vez vou entrar nos mecanismos de pré-reação para explicar como o XP os implementa.


Obrigado por ler o Boletim Sysinternals.

Publicado quarta-feira, 18 de abril de 2001 19:04 por ottoh

[Newsletters Archive ^][ Volume 2, Número 5][Volume 3, Número 2 ]

[Newsletters Archive ^][ Volume 2, Número 5][Volume 3, Número 2 ]

A Newsletter Sistemas Internas Volume 3, Número 1

http://www.sysinternals.com
Copyright (C) 2001 Mark Russinovich