18 april 2001 – I det här problemet:

  1. REDAKTIONELLA

  2. VAD ÄR NYTT PÅ SYSINTERNALS

    • PsService v1.01
    • PsFile v1.0
    • PsExec v1.11
    • HandleEx v4.0
    • DebugView v4.11
    • Inuti Windows 2000, 3:e Ed.
    • Februari Windows 2000 Magazine
    • Sysinternals på Microsoft
  3. INFORMATION OM INTERNT

    • Coola kortkommandon
    • PnP-felsökningsmeddelanden
    • Omvänd teknisk inlärning
    • Nya Windows XP-systemsamtal
    • Frånkopplade nätverk
    • WinDev
    • TechEd US
  4. DET HÄR ÄR VAD SOM HÄNDER

    • I Windows XP-förinfetning

SPONSOR: UNDERTIDSPROGRAMVARA ~~~~

Nyhetsbrevet Sysinternals är sponsrat av Winternals Software, på webben på http://www.winternals.com. Undertidsprogramvaran är den ledande utvecklaren och leverantören av avancerade systemverktyg för Windows NT/2K. I software-produkterna finns FAT32 för Windows NT 4.0, NTFSDOS Professional Edition (en NTFS-drivrutin för läsning/skrivning för DOS) och Remote Recover.

Under de senaste 2000 har defragmenteraren Ne version 1.2, en lättanvänd lösning för företagsdefragmentering till låg kostnad som lägger till STÖD för NT 4 i det befintliga stödet för Windows 95/98/Me och Windows 2000. DefragMenteraren Ne utnyttjar de inbyggda defragmenteringarna för 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å nt- eller Windows 2000-system. En licens på 10 system är tillgänglig för onlineköp för endast 169 USD, och det finns aggressivt antalsrabatter. 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 lägger märke till när du installerar en betaversion av Windows XP är det omdesignade användargränssnittet Med namnet User Interface. Look-and-feel-stilen överger alla aspekter av gränssnittet, från startmenyns beteende till utformningen av programmenyer och dialogrutor. Den här totala konverteringen uppnås med hjälp av en "teman"-motor. Teman beskrivs i temaformatfiler (filer som slutar i .msstyles ) och Temafilen Förser Dig med luna.msstyle tema, , finns i \Windows\Resources\Themes\Luna . Under samma katalog hittar du en underkatalog med namnet Shell, där shellstyle.dll finns. Det är inte tydligt hur XP använder DLL-filen – den läses in av Explorer och har en HTML-formatmall dold, men inga exporter. Eftersom comdlg.dll och kernel32.dll importera den, och varje program får en kopia av dessa DLL:er, får varje process också en inläst kopia av \Windows\System32\UxTheme.DLL , temanklientbiblioteket. Den här DLL-filen IsThemeActive exporterar IsAppThemed funktioner som , , , och GetCurrentThemeNameDrawThemeBackgroundGetThemeColor .

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

Med tanke på att "hudning" har blivit till en stor del för program som WinAmp och Windows Media Player antar du att Microsoft publicerar ett verktyg som låter tredje part utveckla egna teman eller åtminstone dokumentera formatet på filen och shellstyle-DLL:en så att tredje part kan utveckla .msstyles temaredigerare. Men du skulle ha fel. I "Microsoft Windows XP: What's in It for Developers?" (Microsoft Windows XP: What's in It for Developers? (Publiceras online http://msdn.microsoft.com/library/default.asp?URL=/library/techart/winxpintro.htm) på , gör Microsoft det tydligt att de inte har för avsikt att tillåta teman från tredje part:

"Vid första anblicken kan risken för flera Windows XP-format se ut som hudfunktionen i program som Window Media Player, men det finns skillnader. Teman ändrar operativsystemets visuella format, 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 program, 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 möjliggöra ett konsekvent användargränssnitt och säkerställa designkontinuisten. En temautvecklares paket kommer inte att vara tillgängligt med Windows XP."

Argumentet jag är säker på att de gör för en sådan attityd är att tredjepartsteman på något sätt kan bryta användargränssnittet och att användarna skulle ringa Microsofts support för att få hjälp. Varför de inte har samma rädsla med Windows Media Player vet jag inte. Det finns dock sätt att använda ett temaliknande utseende på skrivbordet och programmen. Besök för att Windows skrivbordsutmaningar, till exempel den nya Aqua-Soft (en WindowBlinds-hud – ) som ger Windows utseendet och känslan i http://www.wincustomize.com/http://www.windowblinds.net Apples OS X-skrivbord. Och med tanke på skalnings-communityns beständighet i att räkna ut hur man ska hudutsläppa allt som släppts är jag säker på att det just nu finns personer som använder omvänd teknik i Microsofts temaformat. Det är bara en tidsfråga innan någon släpper en temaredigerare, oavsett Microsofts policy för att styra teman.

Så vad gör Microsoft när Windows XP-temaredigerare och teman från tredje part börjar visas? Vi måste vänta och se, men Apples beteende kan ge 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 avvisningsordning: http://www.macworld.co.uk/news/main_news.cfm?NewsID=2773. Program för temautvecklare.

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

Tack!

-Mark

VAD ÄR NYTT PÅ SYSINTERNALS

PSSERVICE V1.01

NT 4 och Win2K Resource Kit har haft ett kommandoradsverktyg för tjänstkontroll, SC, så länge jag kan komma ihåg. Med SC kan du visa och ändra status och konfiguration för Win32-tjänster på lokala system eller fjärrsystem. 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 alternativa användarautentiseringsuppgifter. Detta är användbart i fall där det konto som du kör det från inte har administratörsbehörighet på fjärrsystemet, men du har åtkomst till ett konto som gör det. Den andra är PsServices sökfunktion. Om du 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 de datorer som kör tjänsten.

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

Hämta PsService v1.01 på http://www.sysinternals.com/ntw2k/freeware/psservice.shtml.

PSFILE V1.0

PsFile är ett verktyg som jag har skapat som svar på begäranden om något som övervinner begränsningarna i kommandot "net file" i Windows NT/2K. Du kan använda det inbyggda kommandot "net" i NT och Win2K med alternativet "fil" för att lista 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 (tillräckligt bra, "Net"-API:et, som dokumenteras i Platform SDK) som net-kommando, men trunkerar inte filnamn och fungerar både lokalt och via fjärrinstallation, utan att klientprogramvaran behöver installeras.

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ärraktivera 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 i praktiken ett fjärrgränssnitt – och du behöver inte installera några klientprogram.

Förutom att psExec fungerar som ett enkelt telnet kan du fjärraktivera "endast lokala" program. IpConfig, det inbyggda verktyget som visar nätverkskonfigurationen för ett system, kan inte visa dig konfigurationen av fjärrsystem. Med PsExec kan du dock fjärrstarta den 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 filer 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 ytterligare andra gånger kanske du vill att fjärrprogrammet ska köras i systemkontot. PsExec stöder alla dessa situationer.

Som standard kör PsExec program i en "personifierad" säkerhetskontext. Det innebär att om du kör PsExec i administratörens konto körs fjärrprocessen i administratörens konto. På grund av begränsningar i personifieringens kraft 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änsterna körs i.

Hämta PsExec v1.11 på http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.

HANDLEEX V4.0

HandleEx är ett flerfacetterat verktyg som visar en lista över processer som är aktiva på en dator, samt referenser till operativsystemresurser som de har öppna och DE DLL:er som de har lästs 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-versioner, hantera läckor och processen som använder en viss fil eller katalog.

Om du har följt Sysinternals-uppdateringar kan du notera att HandleEx har hoppat över två huvudversionsnummer under de senaste månaderna. I den första större uppdateringen, v3.0, introducerades 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 dialogrutan Sök och få HandleEx att hoppa till lämplig referens 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 stänga av dig på ändringar kan du på ett tydligt sätt se hur hanterar läckor pågår, där nyligen öppnade referenser visas i grönt efter en uppdatering.

HandleEx-flyttad DLL-markering är relaterad till DLL-flytt, en term som beskriver beteendet för modulinläsaren i Windows där den inte kan respektera den föredragna "basadress"-utvecklare anger när de skapar en DLL. Koden som en länkare (verktyget som används för slutfasen i DLL- eller EXE-bygge) skapar för en DLL-fil har minnesreferenser inom DLL-filer som angetts med antagandet att inläsaren kommer att respektera DLL-filens basadress. Minnesintervallet under inläsningen av en DLL-fil som börjar vid basadressen och tar hänsyn till storleken på den inlästa DLL-avbildningen måste vara kostnadsfri för att DLL-filen ska kunna läsas in på den önskade basadressen. När basadressen används för flera processer uppnås minnesanvändningens effektivitet eftersom alla processer delar samma DLL-kodminne.

Om inläsaren inte kan respektera en DLL-basadress, till exempel när en annan redan använder det önskade adressintervallet, måste inläsaren utföra "flytt", vilket innebär att uppdatera alla minnesreferenser inom DLL-filer för att återspegla DLL-filens faktiska inläsningsadress. Förutom att göra processens inläsningstid långsammare (vanligtvis oförutsebart) kan den flyttad DLL-avbildningen inte delas med andra processer där DLL-filen läses in på den önskade basadressen. Det innebär att du i praktiken får en andra kopia av dll-filen som förbrukar minne.

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

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

Hämta HandleEx 4.0 på http://www.sysinternals.com/ntw2k/freeware/handleex.shtml.

DEBUGVIEW V4.11

DebugView är ett utvecklarverktyg som gör att du kan samla in felsökningsutdata från program eller drivrutiner på det lokala systemet eller en fjärrdator – ä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 enhetsdrivrutinsutvecklare på WinNT/2K/XP.

Med filtreringsdialogrutan i DebugView 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 fem olika markeringsfilter, var och en med olika anpassningsbar färg. Om du tidigare hade projekt som krävde olika filter var du tvungen att ange filtren på nytt varje gång du växlade 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 avslutar den.

Ibland är det nödvändigt att samla in en spårning av felsökningsutdata 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 i DebugView igen, vilket gör det möjligt att se utdata som du såg den när du ursprungligen avbildade den. Med hjälp av flera DebugView-fönster kan du jämföra spårningar.

Den sista nya funktionen, starttidsloggning, kompletterar DebugViews stöd för kraschdump i NT/Win2K. Med Stöd för kraschdump i DebugView kan du samla in utdata från en enhetsdrivrutin, och om drivrutinen kraschar i systemet och du har kraschdumpar aktiverade (fullständiga eller kernel), använder du DebugView för att extrahera drivrutinens felsökningsutdata från dumpen – så att du kan se drivrutinens utdata fram till 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 aktiverar starttidsloggning. När systemet är igång importerar DebugView-programmet buffrade utdata för visning. Och om drivrutinen kraschar under starten och du har kraschdumpar aktiverade kan du med stöd för DebugViews kraschdump se utdata som drivrutinen genererade före kraschen.

Hämta DebugView v4.11 på http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.

INUTI WINDOWS 2000, TREDJE UTGÅVAN

Den officiella boken om internt i Windows 2000 är nu tillgänglig! Den här utgåvan, som är medhord av David Edition (www.solsem.com) och Mark Russinovich, är över 40 % större än tidigare, med ny täckning av nätverk, plug-and-play, energispartjänster, tjänster, registret, WMI, start och avstängning samt lagring. Den innehåller också en CD med flera kraftfulla verktyg, som inte är tillgängliga någon annanstans, för att undersöka Windows 2000 internt.

Om du går Amazon.com sidan för boken, , ser du att bara två recensioner har publicerats sedan 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-6078131 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 beställ nu igenom http://www.sysinternals.com/insidew2k.htm.

WINDOWS 2000 MAGAZINE I FEBRUARI

Kolla in februariproblemet med Windows 2000 Magazine för min artikel om analys av kraschdump i NT/Win2K. Artikeln börjar med att gå igenom grunderna för att konfigurera kraschdumpar och förklarar hur operativsystemet skapar en kraschdump (med tips om varför en dump kan misslyckas med att generera). Sedan förklarar jag var du kan hämta de senaste analysverktygen för dumpar och går igenom användningen av ett kraftfullt nytt Microsoft-verktyg Kanalyze. Slutligen tar jag en snabb titt på hur man använder en kernelfelsökare för att undersöka en dump. Även om bara en liten del av dumparna avslöjar orsaken till dem med analys bör du ha nytta av informationen.

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

SYSINTERNALS AT WWW.MICROSOFT.COM

Sysinternals har visat sig i ännu fler Microsoft Knowledge Base-artiklar (KB) sedan det senaste nyhetsbrevet, vilket ger den summa som jag har hittat när jag 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 dirigerar användare till Regmon för att felsöka Active Server Pages-fel.

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

  • Q2163868: PRB: Åtkomstfel under programinstallationen när filen används
    http://support.microsoft.com/support/kb/articles/Q216/3/68.ASP
    Visual Basic program kan krascha om en fil som de försöker kopiera används. HandleEx är det perfekta verktyget för att spåra den process 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 felet "åtkomst nekad".

  • Q246199: BUGG: Ändrade 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 ListDLLs för att se vilken version av C-runtime-SQL Server använder.

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

INFORMATION OM INTERNT

COOLA KORTKOMMANDON

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

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

När jag fastställde dessa genom utvärderingsversion och fel visade DavidVersion att de dokumenteras i Windows 2000-hjälpen under "Naturliga kortkommandon".

PNP-FELSÖKNINGSMEDDELANDEN

Om du utvecklar drivrutiner för plug-and-play för Windows 2000 kanske du inte får reda på att du kan coaxa till och med detaljhandelsbygget av Windows 2000 för att skapa omfattande felsökningsmeddelanden för plugin-and-play-system under uppräknings- och drivrutinsläsningsprocessen. Ha kernelfelsökaren i början av systemstarten och ange den interna kernelvariabeln till 2 (de flesta meddelanden utlöses med PnpEnumDebugLevel nivån 1). Här är ett exempel på utdata som visas, som visar PnP Manager som läser in drivrutinen för aktivitetsnumer (bussdrivrutin för programvaruuppräkning):

.
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ÄND TEKNISK UPPSEERING

De av er som har följt Sysinternals vet att jag inte har åtkomst till någon Windows-källkod (förutom för de drivrutinskällor som levereras i DDK) och att jag får lära mig om intrikaten i dess implementering genom att använda SoftICE och min egen anpassade taparen.

Jag har fått fram en artikel om "Reverse Engineering: Necessary Function or Illegal Activity?" (Omvänd teknik: Nödvändig funktion eller ogiltig aktivitet) ( , som beskriver en januari som den 9:e U.S. Circuit Court of Appeals avskriver i ett ärende mellan Sony och Connectix som intresserar dig som gör http://www.planetit.com/techcenters/docs/security/news/PIT20010123S0001) samma sak. Johanna kom med ärendet mot Connectix efter att Connectix utvecklade sin "Virtual Game Station", ett program som gör att du kan köra PlayStation-spel på en dator, och rätten anser att Connectix var enligt lag när den bakåtkompilerade PlayStation (via demontering) så att de kunde utveckla sin emulator.

Även om omfattningen av den omvända teknikens laglighet, särskilt med tanke på krympande licenser som förbjuder det, fortfarande är ofarlighet, ligger det här fallet på sidan för omvänd teknik.

KERNEL-UPPDATERINGAR FÖR WINDOWS XP

Till skillnad från flytten mellan NT 4 och Windows 2000 har Windows XP-kerneln genomgått mer subtila ändringar, varav många syftar till prestandaförbättringar. Kernel-API:erna som är tillgängliga för drivrutinsutvecklare har fyllts i med över 200 nya exporterade kernelfunktioner som fyller i några tidigare hål. Filemon och andra Sysinternals-verktyg hämtar till exempel namnet på processen som utför en åtgärd genom att nå det odokumenterade processmiljöblocket – i Windows XP kan de 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 utdatatyp och felsökningsnivå och ett nytt systemanrop för att spara registreringsdatafiler. Det finns också en handfull API:er som , och för att redigera 64-bitars Windows XP-motsvarigheten till Boot.ini, som i stället för att lagras i en fil lagras på ZwQueryBootOptionsZwSetBootEntryOrderZwDeleteBootEntry icke-volatilt minne.

Det finns dock mer betydande ändringar ovanpå kerneln, varav de flesta förlitar sig på enhetsdrivrutiner eller kernelstöd. Det finns till exempel en tjänst för systemåterställning som med hjälp av en filterdrivrutin för filsystem (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 tillsammans med filsystemdrivrutiner kan göra en kopia av en volym till en tidpunkt. Det finns en tjänst för snabbt användarbyte som använder stöd för terminaltjänster som är inbyggt i kerneln så att flera användare kan loggas in och växlas mellan, och förbättrat stöd för defragmenterings-API som tillhandahålls av filsystemdrivrutinerna.

Microsoft har publicerat white paper som beskriver många av förbättringarna på http://www.microsoft.com/hwdev/Whistler/download/Whistler_kernel.zip. Det finns varierande detaljgrader, vilket gör att många frågor om implementering och beteende inte besvaras, men det är en ganska bra övergripande granskning. Naturligtvis kan du titta på framtida nyhetsbrev och artiklar om Sysinternals och mina artikelartiklar om Windows 2000 som svar på några av dem.

FRÅNKOPPLADE NÄTVERK

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

Det finns två lösningar på detta. Ett är att installera Microsoft Loopback-adaptern, som är ett virtuellt nätverkskort som kan installeras med hjälp av maskinvaruguiden. Det andra är att inaktivera medieförekänning, vilket förhindrar att systemet identifierar 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 på frånkopplade system, så att du kan komma åt det lokala systemet via nätverks-API:er och UNC-sökvägar (t.ex. \\laptop\c$ ).

WINDEV

Windev, Windows Developer's Conference, hålls i år i Boston 11–15 juni. Alla toppnamn i Win32, system och .NET-programmering kommer att finnas där, och det är den enda gången i år som du kan delta i en session på Windows 2000 internt som presenteras av både David Sessions (www.solsem.com) och mig. Dave och jag levererar tillsammans den dagliga självstudien "Inside Windows 2000 Fundamentals" den första dagen. Jag lär också ut en session om programmering av mekanismer för kommunikation mellan processer i Windows och en om vad som är nytt i Windows XP.

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

TECHED US

TechEd är Microsofts premier conference, där 10 000 personer har ritats ut och sålts ut under de senaste åren. Det här året hålls det i Atlanta, Vid 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" (En rundtur i Sysinternals Tools) och "Introduction to Windows NT/2000 Crash Dump Analysis" (Introduktion till Windows NT/2000 Crash Dump Analysis). David Dave kommer också att vara där och presentera Windows 2000 minneshantering och process- och tråd internt.

För dig i Europa kan du se David och jag presentera samma sessioner på TechEd Europe, som är i November 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.

DET HÄR ÄR VAD SOM HÄNDER

I 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 efterföljande start där data används för att läsa in program i minnet innan de refereras till. Nästa gång ska jag gå in i förfetchingsmekanismerna 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 pm

[Newsletters Archive ^][ Volume 2, Number 5][Volume 3, Number 2 ]

[Newsletters Archive ^][ Volume 2, Number 5][Volume 3, Number 2 ]

Systems Internals Newsletter Volym 3, nummer 1

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