Inside the Windows Vista Kernel
Reader trparky recommends an article on Technet (which, be warned, is rather chaotically formatted). Mark Russinovich, whose company Winternals Software was recently bought by Microsoft, has published the first of a series of articles on what's new in the Vista kernel. Russinovich writes: "In this issue, I'll look at changes in the areas of processes and threads, and in I/O. Future installments will cover memory management, startup and shutdown, reliability and recovery, and security. The scope of this article comprises changes to the Windows Vista kernel only, specifically Ntoskrnl.exe and its closely associated components. Please remember that there are many other significant changes in Windows Vista that fall outside the kernel proper and therefore won't be covered."
From the article: "...the symbolic file link (or as it's called in UNIX, the soft link) finally arrives in Windows Vista." - anybody heard "soft link"? Me (after 10 years of using Linux) never...
Yet another (promised?) feature they could not deliver.
??? This is in Vista
thought for a second that they required admin access to activate MMCSS; but upon a second reading, it looks like they've merely reimplemented nice with some kind of setuid root service.
"nice" as you call it has been in NT since its conception.
He's talking about multimedia specific scheduling related to I/O operations here, you might want to read this whole document a 3rd time, he's not talking about "regular" kernel scheduling of threads/processes, he's talking about scheduling based on I/O needs which is a whole different beast.
No, its a shell you twit.
Everytime I read anything about Vista's new features, I hear myself saying "fucking finally" like half a dozen times. Symlinks? Cancelling I/O? These are things other, better operating systems have had for over a decade. Anyone wanna start a pool for when they'll roll out a patent for symlinks?
Isnt this like entering the belly of the beast? I will save you some time in reading the article.
:-)
Proper care for your Vista "Beast"
1) Feed it plenty of CPU cycles. Preferrably multiple cores.
2) Give it obsene amounts of memory. 2.5G preferable.
3) This one seems to really enjoy Video Ram as wll, probably it tastes better. 256M advised.
4) Keep feeding it a constant supply of disk space. Interestingly enough, this version seems to consume HD space simply with doing nothing.
Thats the basics folks. Give your Vista beast what it needs and you should have a kind of good experience. At least for at least 6 months or so... Then you must slay the beast and re-install..
They actually have a screenshot of what it looks like inside the Vista kernel.
"Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
Classic: multimedia apps take precedence over anti-virus.
Yes, as it should. If the AV activity is a scheduled full system scan, then it can indeed wait those few tenths of seconds extra, as if you're already infected, they won't make any difference. If it's a real time scan on a file you're accessing, then it can definitely wait, as the file won't be opened/executed until the scan has completed anyway.
So what exactly is the problem with giving a multimedia app a higher priority on the processor than your AV software? We're not talking about killing the AV soft, just lowering the priority; it's still running.
they've merely reimplemented nice
You've been able to set process priority through the Task Manager since at least NT4 (the earliest I remember it being available; it may have been in earlier versions too, I just don't remember seeing it personally).
It's official. Most of you are morons.
so all some needs is virus that tells the system that it is a multimedia app while it uploads all of your data.
I think we've finally seen the very first actually interesting Slashdot story about Vista. About fucking time.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Much of this new stuff sounds like features of QNX. QNX has a "sporadic scheduler", for when you need things like 10ms of CPU every 100ms. QNX has had I/O cancellation for years. In QNX, you can set a timeout on any system call that blocks. If you set a 35ms timeout on a write, after 36 milliseconds, you'll have control back. Very useful in real-time systems where you're doing something less important, like logging, that should never take very long but, in some trouble condition, might. QNX has had prioritized I/O for years, too.
It all works, too. I've done compiles on QNX while running a real time program on the same machine, without the real time program missing a deadline.
Of course, in Vista, it's all more complicated.
Black box OS kernels like Windows can really never be disclosed. All you can really do is make some guesses or have an insider reveal some limited details.
For this reason, OS classes in school will be based on Linux,BSD,Minux,or even ReactOS. With all of these, if want to really know how it works, there is the code.
The secret-software-business is quite different that the shared discoveries of the scientific method that works well in education and science.
Historically, the open ones will be the only ones that survive. In 50 years: You want to know how DOS worked in the 1980s? Well, no source is available. But freedos provides a good example of how it worked. You want to know how some random UNIX worked. Well the source to that specific one is not available, but BSD and Linux are a good examples of how it worked. You want to know how Windows-2000 worked? Well, no source code is available, but ReactOS provides a close approximation of how it worked.
The subject line made me think instantly of the old Adventure game,
"you are in a maze of twisty passages all alike"
sent a shiver up the spine.
That's complete nonsense.
There are basically two options here:
1. Antivirus hooks into the OS, and scans every program BEFORE it gets executed. In that case, the scanner's priority doesn't matter, it gets run before the program starts anyway.
2. You run the antivirus scanning every file on disk, as a normal process. This would be what the priority adjustments affect, but doing things this way you can't really detect a new virus in real time. You can just find it during the scan, and the priority only determines how fast it will proceed when something else wants CPU time.
For details on what looks to be the inspiration of Windows Vista scheduling, cycle counters, priority boosts, class scheduling, threads and processes and I/O, and class and port drivers, do see the VMS Internals and Data Structures Manual. Circa 1992. Well, threading dates to 1996.
You sir, are a moron.
U don't fucking get it, d'ya? Its for fucking backward compatibility, in case if somebody uses a fucking old, pirated DOS based prgm.
FU2, bye
Or just conservative engineering. It's not broken. Anyone who cares about the Vista kernel could care less about its filename, so why fix it?
vmlinuz?
Sweet, VMS functionality isn't being lost.
Try this "man ionice" works for me
"think of it as evolution in action"
> but to the disk and
ionice
> and outbound network queues.
QoS/Differentiated Services + marking with iptables --pid-owner <pid>
As (almost) always under linux, the tools are already there, but simple accessible GUIs are lacking.
"Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
Six years, tens of billions of dollars and this is all they have to show over the Linux kernel? That's fucking hilarious!
A DOS program knows about the NT kernel name? Amazing!
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
hey dumass, its because windows nt used to be distributed on fat16 (not vfat) floppy disks and you could use dos to copy their contents over to a hard drive for installation. it had to be 8.3 then, and there's no need to change it now. you can rename ntoskrnl.exe to anything you want and boot off it with the /kernel= boot.ini option.
I just looked at the root directory of the machine I am typing this comment on.
/netbsd
The kernel appears to be in a file named
NOT EVEN WITH A FILENAME EXTENSION. Now that is even more primative than the windoze 8.3 naming convention.
Unfortunately many programmers seem to misunderstand this. Usually you can give user-interface processes very high priority, even if they are far less important than some of the background processes. Very often user-interface processes consume only limited amounts of processor cycles. When this happens, no matter how high their priority, they will leave plenty of cycles for the other processes.
It doesn't matter if a virus-scanning process gets delayed a few additional seconds, because there's no person waiting for it and getting impatient. It does matter if a web browser or text editor gets delayed, because there is a human waiting for them.
Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
You are a fucking idiot. File extensions are obsolete, and the fact that the kernel lacks one is a sign of its... well, not being made by someone completely brain-dead.
Yeah, because an OS that depends on a filename extension to determine file type is even more primitive.
Stop drinking the Microsoft Kool-Aid, okay?
This is a sig. Deal with it.
Hahaha. I like how having a file extension makes it "modern". I lol'd.
Perhaps you need to learn how AV software works. I said "If it's a real time scan on a file you're accessing, then it can definitely wait, as the file won't be opened/executed until the scan has completed anyway" because any anti-virus software worth using scans every single file you attempt to access before that access takes place. As such, it doesn't matter what the virus claims to be, the AV software will have scanned it before it tells the OS.
The general sequence of events is:
1 user double-clicks a file
2 the AV soft's real-time scanner is invoked to scan it
3a the file is clean, access is granted
3b the file is dirty, access is denied
It doesn't matter how long step 2 takes, or what other apps get to use cycles while it's suspended - it will complete before either of steps 3a or 3b.
It's official. Most of you are morons.
8.3 filename? In two-thousand-fucking-seven?
Well that is 6.3 more than other OS's - cp, df, rm etc. anyone?
The article doesn't mention that process startup is now quite different from the other versions of Windows NT.
.exe file mapped into memory. No stack is allocated, and no threads are created. In normal process creation, the parent process actually uses the debugger API calls to allocate memory for the stack into the new process's address space, copies the command line and environment into the new memory, and creates the initial thread pointing at kernel32!BaseProcessStartupThunk. It resumes the thread and off it goes. (NT has no concept of environment or command line at the kernel level.)
In previous versions of NT, process creation was quite different from systems such as UNIX. The system call NtCreateProcess creates a "blank" process with nothing in it but ntdll.dll and the new
This changed in Vista for one reason: DRM. Microsoft made it so that certain processes, namely wmplayer.exe and halo2.exe, cannot be a target of the debugger API calls for obvious reasons. It ignores privilege level in blocking the API. If the old method of starting processes were used, then the parent process could start wmplayer.exe with patches to steal the DRM keys or dump decrypted data to disk. Vista's kernel now does the entire initialization for these processes to close this hole.
By the way, Microsoft needs to change that web page so that it doesn't select Spanish over English if you have Spanish listed as an acceptable language in your browser, even if English is higher in the list. This happens for both IE7 and FF2.
Melissa
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
Having symlinks in the Vista kernel is nice and all, but Vista doesn't seem to offer a way to create these in Explorer. Who wants to break open a command line just to create a symlink?
Correct me if I'm wrong, but don't people criticize Linux all the time of a lack of GUI utilities in comparison to Windows? Yet when I drag a file somewhere in KDE, I can just click on "Link Here" and poof, I've got a symlink. Why have I not heard a single complaint about the lack of a user-friendly way to do this in Vista?
Furthermore, you need to have Administrator access (or use Administrator to give yourself the priviledge) to create a symlink, "because not all applications may handle symbolic links correctly". Doesn't this seem broken to anyone? Or at the very least, worrysome?
"8.3 filename? In two-thousand-fucking-seven? No wonder Vista sucks"
...
woo
Remind me of an ex-college whose project has been delayed because, during the demo meeting, one of its manager was not happy with the name of the shortcut that launched the demo. ( It was an abbreviation instead of the full corporate name ).
Let's make some more 'professional' comments :
1. They still call their kernel, kernel. Fucking not original.
2. They still call their product Windows. The same name they have been using for 20 years ? How do they hope to look modern.
For those reasons, Vista sucks...
99.9% of Windows users will not know what a symbolic link is, and even less will know how actually enable the feature for non-administrators. This means that no end-user application can ever use them. A lot of work for nothing - good job Microsoft.
They should have added an API call to tell kernel32, "hey, I know how to use symbolic links, so let me use them".
Melissa
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
"While Windows has always supported prioritization of CPU usage, it hasn't included the concept of I/O priority. Without I/O priority, background activities like search indexing, virus scanning, and disk defragmenting can severely impact the responsiveness of foreground operations."
I've been flamed in the past for saying that 2000/XP didn't support I/O prioritization. A couple idle priority processes could bring a system to its knees with file I/O.
Now I can go back and win an argument I had with another Linux user in 2005, who believed that NT has always supported I/O prioritization.
A lot of Microsoft programs still use 8.3 names. Do you really need longer names? Is there something that "Microsoft Word for Windows.exe" can do that "WINWORD.EXE" can't?
There are quite a few little dos utilties and such that if you ran them to delete a directory they don't start with that directory... they start by deleting every single file in the top most directories, then delete those directories, then delete all the files in next level of directories, etc etc etc.
That way if you make a symbolic link to a file system, then use the wrong utility in a attempt to remove said symbolic link, you end up wiping out the entire file system it's linked to...
(I mean seriously folks.. who puts up with this sort of stuff?)
Not only that, but a lot of useful things he wrote like documentation on native APIs (which Microsoft seem to hide) just mysteriously disappeared soon after.
Change is certain; progress is not obligatory.
Aye indeed. I seem to remember working on some OS way back that did have disk scheduling, which seems essential in most ordinary business aps (otherwise a low priority app can bring a high priority one to a standstill by disk hogging). Might have been MVS or AS/400, or maybe Stratus VOS... anyway I remember being surprised that Unix was being considered as a replacement platform when it couldn't do this.
Looking briefly at the Vista description, it sounds like there might be some milage in trying to implement a more generic scheduler for Linux rather than separate ones for regular CPU, CPU/GPU and I/O - that seems a bit clunky. A general scheduler would support an integrated priority "profile" including real-time constraints and be extensible to cover other resources such as a database or similar service. I'm sure someone's had a go at something like this...
Learn irony.
comma
Well, sometimes I wish OSX did that.
.ai (adobe illustrator format), while the OSX ones tags them as something different (system related or something like that) and it just doesn't even let me select them on freehand (or any other program)'s open or import dialogs.
:)
Where I work (video editing) we have a file of logos of clients (and no clients too in case they're needed) in vector format. I don't know who created them, since they were handed to us by someone else, but there are several that have no extension. We have both windows and OSX computers, and in the windows computers, freehand opens them just fine just by renaming the extension to
There's probably a solution somewhere, though... I've just been too lazy to look for it since anytime I've needed one of those I just import them in windows freehand and export as ai (for maya) or TGA (for photoshop)..
"Better to remain silent and thought a fool, than speak out and remove all doubt."
- Abraham Lincoln
And TFA says, basically:
1. Windows gets a bunch of features that make it more like a Real OS.
2. More information in the next installment.
The features are really good, but the article kind of sucks.
Please correct me if I got my facts wrong.
HAHAHAHAAAaaaaa!1!! you RTFA. Loser.
I want to delete my account but Slashdot doesn't allow it.
Whoa, check it out! All of the old catalogue of Sysinternals/Winternals software, plus some new stuff, has all been released as freeware! There's some useful stuff in there!
That's because people need to type "cp" five thousand times a day. Having to type "pleasecopythefilesiwillspecifymrcomputer" every times you need to copy files would be a pain in the arse. But you pretty much never need to type "ntoskrnl.exe", so "ntoskernel.exe" would be quite okay to have to type.
"Stop failing the Turing test!" -- Dilbert
For once and for all, if this Vista is as full of DRM as it sounds, I will not use it. For anything, ever.
Not only am I hostile to the very concept of DRM, but I will actively work to circumvent it where I find it and work against it at every level. Trying to prevent piracy is one thing. Turning your own computer into an agent which works against your own interests is something else.
I made a nice packet off the MS stock years ago. I'm ever grateful for the cash, but I had no problem turning my back on Sony, and now I will do the same to Vista unless I find a suitably cracked version. I'll buy a copy if there's a way to disable all the DRM crap, but I won't buy my enemy a weapon to use against me.
You are welcome on my lawn.
It's the fact that the backwards compatibility is still there. C:\PROGRA~1 etc is fucking ugly and confusing for the new user. They stole long file names from other OSs but implemented it poorly. They need to take the same route as OSX. Start from scratch (sort of) and forget backwards compatibility for once. Allow good implementation of a virtual machine for that sort of crap. You can't get rid of the burdens from your old OS if you allow backwards compatibilty. 8.3 filenames are just one of the burdens.
Unlike "nice", both ionice and iptables require root-level access, even to run a process with reduced priority. I hope one day it's as simple as "nice myproc" (as a normal user). I think it's more reasonable to assume a low-priority process should have low priority to everything, than to manage every resource separately.
Yeah, because system calls like creat() are just sooooo 21st century.
That's because the ISO file system used on CDs limits you to 8.3 file names if you want to read them on all BIOSes.
Coming soon - pyrogyra
Yid?
Err... Not quite. Not all of the SysInternals tools were migrated, and NONE of the source code was. Microsoft's hiding behind some pretty lame excuses (e.g. "They're using undocumented APIs!" or "Hackers are using it to make spyware!") for not distributing the source code.
The Winternals Administrator's Pak is also ">being discontinued, and have its functionality available only to those with Software Assurance agreements.
“Aphorisms are the refuge of the uncreative.” —Aphorist
It doesn't seem all that balanced to me. If you want to cripple a Vista system for TWO HOURS then install Visual Studio 2005 SP1. CPU usage on my Turion64 X2 CPU was pegged at 100%, memory usage (2GB!) at 100%, disk thrashing away etc. Vista was completely unresponsive for approximately 40 minutes of the two hour install, and extremely sluggish for the rest.
* I appreciate that this post has nothing to do with Vista's IO scheduling, but it should not be possible for any application to suck up 100% of the system resources without my permission. On any OS.
PocketGamer.org - For the gamer on the go!
Install an OpenSolaris derivative and play w/ ZFS. it gives you io priorities and friends.
Is it true that every line in the source contains comments like this?
; Hah! Take that user!
; Oh nice try but we thought of that!
; Clearly they are trying to steal this.
; Thief! Thief!
; MP3s have no DRM. Refuse to play.
; Block association away from Windows Media Player
; SONY rootkit plugs in here
; Powered up. Now lets get today's authorization.
for example?
Have you ever heard of tab-completion? It's this really nifty feature. You type a few characters, hit tab, maybe type some more, hit tab again and you have the whole filename with fewer keystrokes. Unix has had it for at least ten years.
You know something? Ever since I got my new Mac, I just don't care what is new in the next version of Windows anymore....
Strange, that...
I think you are talking about writing Windows Driver, not trying to understand OS internals, (so you could write an OS).
/usr/include.
Or are you implying that you could figure out the internals of Linux by looking in
Seems to me I remember studying disk scheduling sometime in the previous millennium. Only the scheduling didn't focus on which process had priority, but rather which order it should read the blocks from disk. The big time constraint with disks is the amount of time it takes to move the drive head into position. Once it's in the right place, actually reading data is very quick by comparison.
I dont think anyone can really know exactly what is in the Windows Kernel when it is closed source.
"Please remember that there are many other significant changes in Windows Vista that fail outside the kernel proper and therefore won't be covered."
I think he's talking about "Inside the Native API".
The closest thing currently at the MS version of sysinternals seems to be "Inside Native Applications". (In all fairness, this second link seems to contain information I don't ever remember seeing at the old SysInternals. But I am very disappointed that the aforementioned link disappeared.)
It certainly sounds broken to _me_. Why wouldn't all apps handle symlinks correctly?
In Mac OS 9, and in 8, and 7... when did they add aliases (the Mac OS equivalent to symlinks) anyway, I think it was 7... all the standard file routines, including the "open file" and "save file" dialogs, automatically resolved aliases.
A Mac application doesn't need to know anything about aliases to handle them "correctly." It is only a Mac application that needs to open an alias file directly as a file that needs to do something special.
Proper engineering means the "proper" default behavior is built into the API and requires no application modifications. It's half-assed engineering to add something new that requires all applications to be rewritten, by someone who understands the new feature, to work properly with the new feature. You shouldn't have to do anything special to open a file just because it happens to be a symlink, or on removable media, or across the network... and it doesn't, on most operating systems.
"How to Do Nothing," kids activities, back in print!
There are sufficiently different open OS's to cover all modern and past OS architectures.
UNIX - BSD, Linux, Minix
DOS - FreeDOS.
Windows NT/200 - ReactOS.
VMS - FreeVMS
Mach,XNU,OSX - Darwin
Microkernel - Hurd
Multics - SIMTICS
Plan9 - Plan9
BeOS - Haiku
OS/2 - NuDawn ?
Solaris - OpenSolaris
RT-OS - eCos
On MacOS = 9, you would fix that by editing the resource fork. I ended up in a couple of situations like you describe and it was one of the things that I really loathed about MacOS. It's one thing to use that method of ID'ing files, but not giving users an easy way to bypass it is stupid.
Apple might have introduced a better way in X. I haven't worked with it much.
"...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
Um, what?
I can read the article fine, and I'm using FF on Linux.
man 2 ioprio_set
Process ownership
"An unprivileged process may only set the I/O priority of a process whose real UID matches the real or effective UID of the calling process. A process which has the CAP_SYS_NICE capability can change the priority of any process."
Sound like you can set priority for your own processes.
"think of it as evolution in action"
Ary you cursed or why do you still get modded down when you hit them the truth straight in the eyes?
Must me someone hating you. But why?
Maybe it's that thing that poeple can't accept that the're wrong because this would crash their whole world view and self-acceptance.
Poor primitives...
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Ok, I'm not trying to troll, but the latest CPU scheduling algorithm is just yet another example of how when it comes to Windows, the design is done more by the marketing department than by the engineers. At least we hope the engineers would have raised objections!
I understand their CPU cycle counting is intended to improve fairness between applications, but the proposed scheme will have just the opposite effect. Consider, for example, that interrupts aren't counted against a process' cpu usage. All well and good in theory, but the practical result is that a process which is I/O intensive - that is, one which causes interrupts to occur - will actually run much longer than it would otherwise. So, the problem of one I/O intensive process locking out all of the other applications will only get worse in Vista.
And the interesting thing is that this will actually give a subtle priority boost to multimedia applications, without them having to raise their priority level. IOTW, your multimedia app gets realtime priority whether you asked for it or not.
Well intentioned, yes. But also naive.
The society for a thought-free internet welcomes you.
OS X uses the extension for file type information. No extension, no type. (Actually, if there is a resource fork, that can give type as well, but this won't be the case for your AI files.) Simply rename the files with the .ai extension and all will be forgiven.
It is as though the files in the installer are stored in a highly compressed (CPU-bound decompression) file that does not support random access. Thus for each extract each file, the entire blob is decompressed.
After all, what else could take 3 hours to copy a few GB from a CD to the PC. I've seen faster torrents.
Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
Click here. He talks about a lot of things, including these "protected processes", and even says that the purpose is for DRM.
Melissa
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
I know that badvista.org has a campaign to mark products with DRM and defectivebydesign, but nothing in this story has anything to do with DRM; having these tags on the article is less then useful. Maybe the tags need the same type of moderation system that the comments get.
You may get dandruff for less...
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
Don't try to weasel away from the fact that Vista is all about DRM. Either MS makes their OS for the people or they make it for the media companies. There's no middle road here.
echo "cfq" > /sys/block/hda/queue/scheduler
nice -n 19 ionice -c3 emerge -uav world
Both CPU and I/O running at idle priorities
(requires 2.6.13+, and schedutils for ionice)
So, if a media company installs linux on a server somewhere, does that mean linux is no longer made for the people?
Please reflect on this article and realize it's not a "fair and balanced" presentation.
Mentioning a few features with no analysis of the possible downsides is not very useful writing.
Some downsides:
Linux does this implicitly. Windows does it by assigning numbers to each type of output and raising your process priority accordingly. So if you make a virus scanner that uses the GFX card, plays a sound, pretends to use your joystick & cdrom drive and reads & writes a file to your harddisk, it'll be given top notch priority. Your backup process however...
3. Use a security model that doesn't allow viruses to spread in the first place.
I suspect the EU would find this... interesting.
So the prof hands out the license agreement for all the students to sign...
To use the source code of the NT kernel and have your students agree to some license agreement, you should have a purpose.
What is that purpose?:
1. To write a better OS? No. bad idea. Any ideas you get may be viewed as stolen. Why not use Linux,BSD,ReactOS,Hurd or XNU/Darwin instead? The ideas you get from these are free.
2. To learn about basic design principles of OS components. Why not use Linux,BSD,ReactOS,Hurd,OpenSolaris or Darwin instead? What exactly would NTOS have that open OS's not have?
3. To write better Microsoft Drivers...ok sure...
The point here is that learning about NT internals can only really help you write better Microsoft code, not to learn what OS's are made of.
I'm not sure but I think it means media company installed linux on a server somewhere.
That's not necessarily so. There's file extension, followed by Uniform Type ID HFS+ metadata, followed by HFS FourCC Type/Creator metadata (if the first is not present, the second decides, etc). The resource fork doesn't actually contain filetype data, it was only that ResEdit gave you an easy way of editing the file's HFS FourCC type and Creator.
If you're really stuck trying to figure out a filetype, you could run file(1) on it, it might be able to guess certain vector files correctly. And once you know it, you can set the extension.
Don't blame me, I voted for Baltar.
You'll never find a greater hive of scum and villany...
Want to find other gamers to play board and role playing game
To be honest, the original site wasn't all *that* informative either. Also, theoretically the non-Windows depts of MS shouldn't really be using that API either. It was one of the things that came up in the US antitrust trial, and apparently the Windows team was not happy that the Office team was using the Native APIs. Leaving them undocumented gives them a lot more leeway if they want to change the interface later, because theoretically only a couple utilities (like autochk) and the various subsystems should be calling them.
For both you and Tacvek, take a look at the configuration for your anti-virus.
.chm (and the newer format extension ... can't remember what it is right now, and its not on this machine). These are basically highly compressed zip files, and they can often cause an anti-virus software to just horribly bring a machine to its knees.
Visual Studio contains a ton of large, and sometimes multiply-nested
Try turning off A/V for the duration of the install, and see if it makes a difference. VS does take a while to install, but its nowhere near as bad for me as either of you describe, so its possible that A/V may be part of the problem.
Worth a look, in any case.
Isn't Vista distributed on DVD? Are machines capable of running Vista ever going to be incapable of booting from Joliet or UDF discs?
And why don't we suffer the 8.3 UPPERCASE restriction with linux?