[Nyhetsbrev arkiv ^][< Volym 2, nummer 5][Volym 3, nummer 2 >]

System Internals Nyhetsbrev Volym 3, Nummer 1

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


18 april 2001 – I det här problemet:

  1. REDAKTIONELLA

  2. NYHETER PÅ SYSINTERNALS

    • PsService v1.01
    • PsFile v1.0
    • PsExec v1.11
    • HandleEx v4.0
    • FelsökView v4.11
    • Inuti Windows 2000, 3rd Ed.
    • Februari Windows 2000 Magazine
    • Sysinternals på Microsoft
  3. INTERN INFORMATION

    • Kortkommandon med lågfrekventa kortkommandon
    • PnP-felsökningsmeddelanden
    • Omvänd ingenjörsdom
    • Nya Windows XP-systemanrop
    • Frånkopplat nätverk
    • WinDev
    • TechEd USA
  4. VAD KOMMER UPP

    • Inifrån Windows XP-prefetching

SPONSOR: WINTERNALS SOFTWARE ~~~~

Sysinternals Nyhetsbrev sponsras av Winternals Software, på webben på http://www.winternals.com. Winternals Software är den ledande utvecklaren och leverantören av avancerade systemverktyg för Windows NT/2K. Winternals Software-produkter inkluderar FAT32 för Windows NT 4.0, NTFSDOS Professional Edition (en läs-/skriv-NTFS-drivrutin för DOS) och Remote Recover.

Winternals är stolta över att kunna meddela Defrag Commander NE version 1.2, en billig lösning för enkel företagsdefragmentering som lägger till NT 4-stöd till sitt befintliga stöd för Windows 95/98/Me och Windows 2000. Defrag Commander NE utnyttjar de inbyggda defragmenteringarna i Windows 2000 och Windows 95/98/Me och lägger till en egen kraftfull defragmenterare för Windows NT 4. Nu kan du hantera defragmenteringsscheman i hela Windows-företaget från en enkel MMC-snapin - utan att ens behöva installera någon klientprogramvara på dina NT- eller Windows 2000-system. En 10-systemlicens är tillgänglig för onlineköp för endast $ 169, och aggressiva kvantitetsrabatter är tillgängliga. Besök http://www.winternals.com för mer information.

Hej!

Välkommen till Sysinternals nyhetsbrev. Nyhetsbrevet har för närvarande 31 500 prenumeranter.

En av de första sakerna du märker när du installerar en betaversion av Windows XP är det omdesignade användargränssnittet med namnet Luna. Lunas utseende och känsla genomsyrar alla aspekter av gränssnittet, från startmenyns beteende till utformningen av programmenyer och dialogrutor. Den här totala konverteringen sker med hjälp av en "teman"-motor. Teman beskrivs i temaformatfiler (filer som slutar i .msstyles) och Luna-temafilen, luna.msstyle, finns i \Windows\Resources\Themes\Luna. Under samma katalog hittar du en underkatalog med namnet Shell, där shellstyle.dll finns. Det är oklart hur XP använder DLL: n – den läses in av Explorer och har ett HTML-formatmall begravt i den, men inga exporter. Eftersom comdlg.dll och kernel32.dll importera den, och varje program får en kopia av dessa DLL:er, hämtar varje process även en inläst kopia av \Windows\System32\UxTheme.DLL, klientbiblioteket för teman. Den här DLL-filen exporterar funktioner som IsThemeActive, IsAppThemed, GetCurrentThemeName, DrawThemeBackgroundoch GetThemeColor.

I registret anges det aktuella temat och temats genomslagskraft konfigureras. Titta under HKEY_CURRENT_USER\Software\Microsoft\Plus!\Themes och du hittar en nyckel med namnet Apply där du ser värden som "färger" och "ikoner" som anger var temat ska vara aktivt. Under samma nyckel Current har undernyckeln sökvägen till .msstyles-filen för det aktuella temat.

Med tanke på att "skinning" har blivit raseri för program som WinAmp och Windows mediespelare, antar du att Microsoft skulle publicera ett verktyg som låter tredje part utveckla sina egna teman, eller åtminstone dokumentera formatet .msstyles på filen och shellstyle DLL så att tredje part kan utveckla temaredigerare. Men du skulle ha fel. In "Microsoft Windows XP: What's in It for Developers?" (publiceras online på http://msdn.microsoft.com/library/default.asp?URL=/library/techart/winxpintro.htm), Microsoft gör det klart att de inte har för avsikt att tillåta tredjepartsteman:

"Vid första anblicken kan potentialen för flera Windows XP-format se ut som hudfunktionerna i sådana program som Windows Mediespelare, men det finns skillnader. Teman ändrar det visuella formatet för operativsystemet, men ger fortfarande ett konsekvent användargränssnitt med tidigare versioner av Windows. Detta är viktigt eftersom teman tillämpas i hela systemet. De ändringar som gäller för ett programskinn, till exempel borttagning av knappar, är inte lämpliga på operativsystemnivå. Temafilformaten är inte offentliga. Microsoft behåller designkontrollen för teman för att tillåta ett konsekvent användargränssnitt och säkerställa designkontinuitet. Ett temautvecklarpaket kommer inte att vara tillgängligt med Windows XP."

Argumentet jag är säker på att de gör för en sådan hållning är att teman från tredje part på något sätt kan bryta användargränssnittet, och användarna skulle ringa Microsofts support för hjälp. Varför de inte har samma rädsla med Windows mediespelare, jag vet inte. Det finns dock sätt att tillämpa ett temaliknande utseende på skrivbordet och programmen. Besök http://www.wincustomize.com/ för att hitta Windows skrivbordsskinn, som den nya Aqua-Soft (en WindowBlinds hud - http://www.windowblinds.net) som ger Windows utseendet och känslan av Apples OS X desktop. Och med tanke på flå communityns envishet att räkna ut hur man ska flå allt som släppts, är jag säker på att det finns människor just nu bakåtkompilera Microsofts temaformat. Det är bara en tidsfråga innan någon släpper en temaredigerare, oavsett Microsofts policy för att kontrollera teman.

Så vad kommer Microsoft att göra när Windows XP-temaredigerare och teman från tredje part börjar visas? Vi får vänta och se, men Apples beteende kanske ger oss en förhandsversion. För några dagar sedan utfärdade Apple ett företag som utvecklar en temaredigerare för Mac OS en upphörande- och desistordning: http://www.macworld.co.uk/news/main_news.cfm?NewsID=2773. Akta dig för temautvecklare.

Skicka nyhetsbrevet till vänner som du tror kan vara intresserade av dess innehåll.

Tack!

-Markera

NYHETER PÅ SYSINTERNALS

PSSERVICE V1.01

NT 4 och Win2K Resource Kit har haft ett kommandoradstjänstkontrollverktyg, SC, så länge jag kan komma ihåg. Med SC kan du visa och ändra tillstånd och konfiguration av Win32-tjänster på lokala eller fjärranslutna system. PsService är en freeware-klon av SC som har några extra funktioner.

Den första är att PsService låter dig ansluta till fjärrsystem med hjälp av alternativa användarautentiseringsuppgifter. Detta är användbart i de fall då kontot som du kör det från inte har administratörsbehörighet i fjärrsystemet, men du har åtkomst till ett konto som gör det. Den andra är PsServices sökfunktion. Om du någonsin har glömt vilket system i nätverket som kör DNS, DHCP eller någon annan tjänst är sökfunktionen användbar eftersom du kan ange ett tjänstnamn och rapporterar datorerna som kör tjänsten.

PsService förlitar sig på Service Control Manager-API:et, för vilket du kan hitta fullständig dokumentation i Platform SDK, och PsService kräver ingen installation av klientprogramvaran.

Ladda ned PsService v1.01 på http://www.sysinternals.com/ntw2k/freeware/psservice.shtml.

PSFILE V1.0

PsFile är ett verktyg som jag skapade som svar på förfrågningar om något som övervinner begränsningarna i kommandot "net file" i Windows NT/2K. Du kan använda det inbyggda "net"-kommandot på NT och Win2K med alternativet "fil" för att visa de filer som andra datorer har öppnat på resurser som exporteras av systemet. Net-kommandot trunkerar dock långa sökvägsnamn och fungerar bara i det lokala systemet.

PsFile använder samma API:er (lämpligt nog, "Net"-API:et, som dokumenteras i Platform SDK) som net-kommando, men det trunkerar inte filnamnen och fungerar både lokalt och fjärranslutet, utan behov av installation av klientprogramvara.

Ladda ned PsFile v1.0 på http://www.sysinternals.com/pstools.htm.

PSEXEC V1.11

PsExec är ett kommandoradsprogram för Windows NT/2K som gör att du kan köra program på fjärrsystem. Det som gör det särskilt kraftfullt är att det fjärraktiveras konsolprogram så att du kan köra dem interaktivt. Om du till exempel startar den körbara kommandotolken (cmd.exe) på ett fjärrsystem med PsExec har du ett fjärrgränssnitt – och du behöver inte installera någon klientprogramvara.

Förutom att fungera som ett enkelt telnet kan du med PsExec fjärraktivera "endast lokala" program. IpConfig, det inbyggda verktyget som visar nätverkskonfigurationen för ett system, kan inte visa konfigurationen av fjärrsystem. Med PsExec kan du dock starta det via fjärranslutning och visa dess utdata lokalt.

I vissa fall är kontot där ett program körs viktigt. Programmet kan behöva köras i ditt konto så att ändringar i registret eller filerna sker i rätt säkerhetskontext. I andra fall kan det vara önskvärt att köra programmet i ett annat än det där du kör PsExec, och andra gånger kanske du vill att fjärrprogrammet ska köras i systemkontot. PsExec stöder alla dessa situationer.

PsExec kör som standard program i en "personifierad" säkerhetskontext. Det innebär att om du kör PsExec på administratörens konto körs fjärrprocessen i administratörens konto. På grund av begränsningar för personifieringskraften har fjärrprocessen inte åtkomst till nätverksresurser i fjärrsystemet. Om du anger ett användarnamn och lösenord på PsExecs kommandorad startar PsExec fjärrprocessen i det alternativa kontot och fjärrprocessen har åtkomst till alla nätverksresurser som är tillgängliga från det kontot. Slutligen kan du med ett kommandoradsalternativ dirigera PsExec att köra fjärrprocessen i systemkontot – samma konto som Win32-tjänster körs i.

Ladda ned PsExec v1.11 på http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.

HANDLEEX V4.0

HandleEx är ett mångfacetterat verktyg som visar en lista över processer som är aktiva på en dator, samt handtagen till operativsystemresurser som de har öppna och de DLL:er som de har läst in. Dess sökfunktion och detaljerade presentation av process-, hanterings- och DLL-egenskaper gör HandleEx till det perfekta verktyget för att spåra problem med DLL-version, hantera läckor och processen som använder en viss fil eller katalog.

Om du har följt Sysinternals-uppdateringar kommer du att märka att HandleEx har hoppat över två större versionsnummer under de senaste månaderna. Den första större uppdateringen, v3.0, introducerade ett antal funktioner, till exempel programikoner i processvyn, knappbeskrivningar för alla listvyobjekt, en mycket effektivare uppdatering och en förbättrad sökfunktion där du kan klicka på resultatobjekt i sökdialogrutan och låta HandleEx hoppa till rätt handtag eller DLL-post.

De kanske mest användbara funktionerna för utvecklare är dock "uppdateringsmarkering" och flyttad DLL-markering. Uppdateringsmarkering refererar till HandleEx beteende när du uppdaterar vyn. Nya objekt, inklusive processer, referenser eller inlästa DLL:er, som inte fanns innan uppdateringen markeras i grönt, medan objekt som inte längre finns är markerade i rött. Förutom att visuellt tipsa dig om ändringar kan du på ett tydligt sätt se hur man hanterar pågående läckor, där nyöppnade handtag visas i grönt efter en uppdatering.

HandleEx-flyttad DLL-markering är relaterad till DLL-flytt, termen som beskriver beteendet för modulinläsaren i Windows där den inte kan uppfylla den önskade "basadressen" som utvecklare anger när de skapar en DLL. Koden som en länkare (verktyget som används för den sista fasen av DLL- eller EXE-byggnaden) skapar för en DLL har minnesreferenser inom DLL angivna med antagandet att inläsaren kommer att respektera DLL:ens basadress. Mängden minne i processen som läser in en DLL som börjar vid basadressen och som rymmer storleken på den inlästa DLL-avbildningen måste vara kostnadsfri för att DLL-filen ska kunna läsas in på önskad basadress. När basadressen respekteras för flera processer uppnås minnesanvändningseffektiviteten eftersom alla processer delar samma DLL-kodminne.

När inläsaren inte kan uppfylla en DLL:s basadress, till exempel när en annan redan använder det önskade adressintervallet, måste inläsaren utföra "omlokalisering", vilket innebär att alla referenser för intra-DLL-minne uppdateras för att återspegla DLL:ens faktiska belastningsadress. Förutom att fördröja processens inläsningstid (vanligtvis omärkligt) kan den flyttade DLL-avbildningen inte delas med andra processer som har DLL-filen inläst på önskad basadress. Det innebär att du effektivt får en andra kopia av det DLL-förbrukande minnet.

När du är i DLL-läge kan du välja alternativet "Markera flyttade DLL:er", vilket resulterar i att HandleEx visar poster för DLL:er som inte läses in på önskad basadress i gult. Utvecklare kan återställa sina DLL-basadresser för att undvika omlokaliseringar.

Hur är det med HandleEx hopp till version 4.0? Den senaste versionen av HandleEx ger fullständig handtagsvisning till Win9x/Me-plattformen. Nu kan du välja en process och se de referenser som de har öppna, på samma sätt som du kan när du kör HandleEx på WinNT/2K/XP. Inte bara det, utan också som på WinNT/2K/XP, visar visning av egenskaperna för händelser, mutexes och semaphores information om deras tillstånd (hålls, signaleras).

Ladda ned HandleEx 4.0 på http://www.sysinternals.com/ntw2k/freeware/handleex.shtml.

FELSÖKA V4.11

DebugView är ett utvecklarverktyg som gör att du kan samla in felsökningsutdata från program eller drivrutiner i det lokala systemet eller en fjärransluten – även från flera system samtidigt. Den senaste versionen lägger till kompatibilitet med Windows XP Beta 2, vissa användbarhetsfunktioner och en funktion som riktar sig till utvecklare av enhetsdrivrutiner på WinNT/2K/XP.

Med felsökningsvyns filtreringsdialogruta kan du definiera inkludera och exkludera filtermasker för att begränsa de felsökningsutdata som du är intresserad av att se. Dessutom kan du ange upp till 5 olika markeringsfilter, var och en med en annan anpassningsbar färg. Om du tidigare hade projekt som krävde olika filter var du tvungen att skicka filtren igen varje gång du bytte projekt. Med DebugView 4.11 kan du spara filter i en fil för snabb inläsning. Precis som tidigare börjar DebugView med de filter som du hade aktiva tidigare när du avslutade den.

Ibland är det nödvändigt att samla in en felsökningsutdataspårning för senare analys eller jämförelse med andra spårningar. Innan den nya versionen av DebugView var det enda sättet att visa en loggfil att läsa in den i en textredigerare, vilket innebar att du inte kunde använda användbara markeringsfilter. Nu kan du läsa in en DebugView-loggfil tillbaka till DebugView, vilket gör det möjligt att se utdata som du såg den när du ursprungligen hämtade den. Med flera DebugView-fönster kan du jämföra spårningar.

Den sista nya funktionen, starttidsloggning, kompletterar DebugViews stöd för kraschdumpar i NT/Win2K. Med debugViews kraschdumpstöd kan du samla in utdata från en enhetsdrivrutin, och om drivrutinen kraschar systemet och du har aktiverat kraschdumpar (fullständig eller kernel), använder du DebugView för att extrahera drivrutins felsökningsutdata från dumpen så att du kan se drivrutinsutdata ända fram till tidpunkten för kraschen.

Med starttidsloggning kan du samla in utdata från drivrutiner som läses in under startprocessen som start- eller systemstartdrivrutiner. DebugView-drivrutinen samlar in och buffrar upp till 1 MB felsökningsutdata under starten när du har aktiverat loggning av starttid. När systemet är igång importerar de buffrade utdata som ska visas när programmet DebugView körs. Och om drivrutinen kraschar under starten och du har aktiverat kraschdumpar kan du med stöd för Felsökningsvyns kraschdump se utdata som drivrutinen genererade före kraschen.

Ladda ned DebugView v4.11 på http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.

INUTI WINDOWS 2000, 3RD EDITION

Den officiella boken om det interna i Windows 2000 är nu tillgänglig! Denna utgåva, som är medförfattare av David Solomon (www.solsem.com) och Mark Russinovich, är över 40% större än den tidigare, med ny täckning av nätverk, plug-and-play, energisparfunktioner, tjänster, registret, WMI, start och avstängning och lagring. Den innehåller även en CD med flera kraftfulla verktyg, som inte är tillgängliga någon annanstans, för att undersöka interna Windows 2000-enheter.

Om du går till Amazon.com sidan för boken, 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-6078131kommer du att notera att bara två recensioner har publicerats sedan boken släpptes i september. Om du har boken rekommenderar vi starkt att du delar dina åsikter med andra potentiella läsare.

Se bokens innehållsförteckning och ordning nu via http://www.sysinternals.com/insidew2k.htm.

FEBRUARI WINDOWS 2000 MAGAZINE

Kolla in februarinumret av Windows 2000 Magazine för min artikel om NT/Win2K kraschdumpanalys. Artikeln börjar med att ta dig igenom grunderna för att konfigurera kraschdumpar och förklarar hur operativsystemet skapar en kraschdump (med tips om varför en dump inte kan genereras). Sedan förklarar jag var du kan få de senaste dumpanalysverktygen och gå igenom användningen av ett kraftfullt nytt Microsoft-verktyg, Kanalyze. Slutligen tar jag en snabb titt på hur du använder ett kernelfelsökare för att undersöka en dump. Även om bara en liten del av dumparna visar sin orsak med analys bör du finna informationen användbar.

Artikeln publiceras online via en länk på http://www.sysinternals.com/publ.shtml, där du kan hitta länkar till alla våra publikationer.

SYSINTERNALS AT WWW.MICROSOFT.COM

Sysinternals har gjort ett framträdande i ännu fler Microsoft Knowledge Base -artiklar (KB) sedan det senaste nyhetsbrevet, vilket ger det totala antalet som jag har hittat som refererar till Sysinternals-verktyg till 17.

  • Q274038: PRB: ASP-fel 8002801d "Biblioteket är inte registrerat"
    http://support.microsoft.com/support/kb/articles/Q274/0/38.ASP
    Den här artikeln instruerar användare till Regmon att felsöka active server pages-fel.

  • Q232830: HOWTO: Fastställa ägarskap för filhandtag
    http://support.microsoft.com/support/kb/articles/Q232/8/30.ASP
    Vill du veta vilken process som har en fil öppen? Den här KB-artikeln dirigerar dig till HandleEx.

  • Q2163868: PRB: Åtkomstfel under programkonfigurationen när filen används
    http://support.microsoft.com/support/kb/articles/Q216/3/68.ASP
    Installationsprogram för Visual Basic kan krascha om en fil som de försöker kopiera används. HandleEx är det perfekta verktyget för att spåra processen som stör.

  • Q286198: HOWTO: Spåra "Behörighet nekad" fel på DLL-filer
    http://support.microsoft.com/support/kb/articles/Q286/1/98.ASP
    Med Filemon (artikeln nämner även Regmon) kan du se vilken process i ett COM- eller MTS-program som får ett "åtkomst nekad"-fel.

  • Q246199: FEL: Ändrade nationella inställningar Inställningar i utökad lagrad procedur kan orsaka felaktiga resultat
    http://support.microsoft.com/support/kb/articles/Q246/1/99.ASP
    Den här artikeln rekommenderar att du använder list-DLL:er för att se vilken version av C-runtime-biblioteket SQL Server använder.

  • Q196453: Felsöka NTVDM- och WOW-startfel http://support.microsoft.com/support/kb/articles/Q196/4/53.ASP Användare som har problem när de startar 16-bitarsprogram pekas på Filemon för att se vilka filer som 16-bitars miljöundersystemet (NTVDM) har fel vid åtkomst till.

INTERN INFORMATION

KORTKOMMANDON MED LÅGFREKVENTA KORTKOMMANDON

Många av er ser förmodligen Windows-tangenten på nyare tangentbord som en nyckel som helt enkelt tar upp utrymme. Jag var på det sättet tills nyligen, när jag snubblade på en Windows-nyckel kortkommando för en åtgärd som jag ofta utför, och nu jag bär logotypen av nyckeln med min frekventa användning. Jag trodde att jag skulle dela några kortkommandon som jag tycker är användbara, som alla fungerar på alla versioner av Windows.

Åtgärd Genväg
Starta Aktivitetshanteraren ctrl+skift+escape
Dialogrutan Visa systemegenskaper Windows+Break
Minimera alla fönster Windows+m
Maximera alla fönster Windows+M
Öppna min dator Windows+e
Sök efter en fil Windows+f
Öppna körningsdialogrutan Windows+r

Efter att jag fastställt dessa genom rättegång och fel, David Solomon påpekade att de är dokumenterade i Windows 2000 hjälp under "Naturliga kortkommandon".

PNP-FELSÖKNINGSMEDDELANDEN

Om du utvecklar plug-and-play-drivrutiner för Windows 2000 kan du bli förvånad över att du kan lura till och med detaljhandelsversionen av Windows 2000 för att producera omfattande plug-and-play-systemfelsökningsmeddelanden under uppräknings- och drivrutinsinläsningsprocessen. Låt kernelfelsökaren brytas i början av systemstarten och ange den interna kernelvariabeln PnpEnumDebugLevel till 2 (de flesta meddelanden utlöses med en nivå på 1). Här är ett exempel på de utdata du ser, som visar PnP Manager som läser in swenum-drivrutinen (drivrutin för programvaruuppräkningsbuss):

.
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
.

OMVÄNT INGENJÖRSUTSLAG

De av er som har följt Sysinternals vet att jag inte har tillgång till någon Windows-källkod (förutom för drivrutinskällorna som skickar i DDK), och att jag lär mig invecklingarna i dess implementering genom mödosam användning av SoftICE och min egen anpassade disassembler.

Jag har stött på en artikel, "Reverse Engineering: Necessary Function or Illegal Activity?" (http://www.planetit.com/techcenters/docs/security/news/PIT20010123S0001), som beskriver ett beslut i januari av 9th U.S. Circuit Court of Appeals i ett mål mellan Sony och Anslut ix som kommer att intressera er som gör detsamma. Sony väckte talan mot Anslut ix efter att Anslut ix utvecklat sin "Virtual Game Station", ett program som låter dig köra Sony PlayStation-spel på en dator, och domstolen beslutade att Anslut ix var inom lagen när det bakåtkompilerade PlayStation (genom demontering) så att de kunde utveckla sin emulator.

Även om omfattningen av lagligheten i omvänd teknik, särskilt med tanke på krympningslicenser som förbjuder det, fortfarande är vag, kommer detta fall ner på sidan av omvänd teknik.

WINDOWS XP KERNEL-UPPDATERINGAR

Till skillnad från flytten mellan NT 4 och Windows 2000 har Windows XP-kerneln genomgått mer subtila förändringar, varav många syftar till prestandaförbättringar. Kernel-API:erna som är tillgängliga för drivrutinsutvecklare har fyllts ut med över 200 nya exporterade kernelfunktioner, vilket fyller i några tidigare hål. Till exempel hämtar Filemon och andra Sysinternals-verktyg namnet på den process som utför en åtgärd genom att nå in i det odokumenterade processmiljöblocket – i Windows XP kommer de att kunna anropa PsGetProcessImageFileName. Det finns nästan 3 dussin nya Ps-anrop för att hämta och ange processattribut, nya API:er för felsökningsutdata som gör att du kan klassificera utdatatypen och felsökningsnivån samt ett nytt systemanrop för att spara registerdatafiler. Det finns också en handfull API:er som ZwQueryBootOptions, ZwSetBootEntryOrderoch ZwDeleteBootEntry för redigering av 64-bitars Windows XP-motsvarigheten till Boot.ini, som i stället för att lagras i en fil lagras på icke-volatilt minne.

Det finns dock mer betydande ändringar ovanpå kerneln, varav de flesta är beroende av enhetsdrivrutiner eller kernelstöd. Det finns till exempel en tjänst för systemåterställning som med hjälp av en filsystemfilterdrivrutin (sr.sys) håller reda på ändringar i filer så att systemet kan återställas till en tidigare tidpunkt. Det finns en lagringsfilterdrivrutin med namnet volsnap.sys som med hjälp av filsystemdrivrutiner kan göra en tidpunktskopia av en volym. Det finns en snabb användarväxeltjänst som använder stöd för terminaltjänster som är inbyggt i kerneln för att tillåta att flera användare loggas in och växlas mellan och förbättrat stöd för defragmenterings-API:et som tillhandahålls av filsystemdrivrutinerna.

Microsoft har publicerat en vitbok som beskriver många av förbättringarna på http://www.microsoft.com/hwdev/Whistler/download/Whistler_kernel.zip. Det finns varierande detaljnivå, vilket lämnar många frågor om implementering och beteende obesvarade, men det är en ganska bra övergripande granskning. Naturligtvis kan du titta på framtida Sysinternals nyhetsbrev och artiklar, och min Windows 2000 tidningsartiklar, för att besvara några av dem.

FRÅNKOPPLAT NÄTVERK

Mycket av mina utvecklingscenter för nätverksaktiverade program, men i Windows 2000 kan du inte testa sådana program när du startar en frånkopplad dator (som en bärbar dator) i standardkonfigurationen. Det beror på att TCP/IP-stacken inte är aktiverad om inte systemet identifierar en nätverksanslutning. Det innebär till exempel att dir \\laptop\c$ (där "laptop" är namnet på datorn) och ping 127.0.0.1 båda misslyckas på frånkopplade system. Om du har en domänbaserad dator kan detta också leda till smärtsamma fördröjningar under uppstarten.

Det finns två lösningar på detta. En är att installera Microsoft-loopback-adaptern, som är ett virtuellt nätverkskort som kan installeras med hjälp av maskinvaruguiden. Den andra är att inaktivera media sense, vilket hindrar systemet från att identifiera att det är frånkopplat, genom att ange ett registervärde enligt beskrivningen i Microsoft KB-artikeln Q239924: http://support.microsoft.com/support/kb/articles/Q239/9/24.ASP. Med någon av dessa metoder är TCP/IP-stacken aktiv även i frånkopplade system, så att du kan komma åt det lokala systemet via nätverks-API:er och UNC-sökvägar (till exempel \\laptop\c$).

WINDEV

Windev, Windows-utvecklarkonferensen, hålls i år i Boston 11-15 juni. Alla toppnamn i Win32, system och .NET-programmering kommer att finnas där, och det här är den enda gången i år som du kan delta i en session på Windows 2000 internals som presenteras av både David Solomon (www.solsem.com) och mig. Dave och jag levererar gemensamt den dagslånga självstudiekursen "Inside Windows 2000 Fundamentals" den första dagen. Jag undervisar också en session om programmering av interprocesskommunikationsmekanismer i Windows och en om vad som är nytt i Windows XP.

Du kan se sammanfattningarna till mina samtal och hitta en länk till Windev-webbplatsen på http://www.sysinternals.com/ntw2k/info/talk.shtml.

TECHED US

TechEd är Microsofts främsta konferens, som har dragit 10 000 personer och sålt slut under de senaste åren. I år hålls i Atlanta, Georgia från 17-21 juni, och medan fokus ligger på .NET har Microsoft bjudit in mig att presentera "A Tour of Sysinternals Tools" och "Introduction to Windows NT/2000 Crash Dump Analysis". David Solomon kommer också att vara där och presentera på Windows 2000 minneshantering och process och tråd internt.

För er i Europa kan ni se David och mig presentera samma sessioner på TechEd Europe, som är i Barcelona 3-6 juli.

Visa mina sammanfattningar och följ en länk till TechEd-startsidan från http://www.sysinternals.com/ntw2k/info/talk.shtml.

VAD KOMMER UPP

INIFRÅN WINDOWS XP PREFETCHING

En av de mest märkbara förbättringarna i Windows XP är dess snabba starttider. Prefetching är grunden för förbättringen. XP övervakar diskåtkomst under en start och lagrar informationen för användning i den efterföljande starten där den använder data för att läsa in program i minnet innan de refereras. Nästa gång jag ska gå in i prefetching mekanismer för att förklara hur XP implementerar dem.


Tack för att du läser Sysinternals nyhetsbrev.

Publicerad onsdag 18 april 2001 19:04 av ottoh

[Nyhetsbrev arkiv ^][< Volym 2, nummer 5][Volym 3, nummer 2 >]