<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx</link><description>Barry Dorrans made a comment on Monday&amp;rsquo;s blog post that reminded me of the old IBM PC technical reference manual. In my opinion, this document is the only reason that we&amp;rsquo;re all using wintel computers these days (as opposed to Apple MacIntoshs</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157333</link><pubDate>Wed, 16 Jun 2004 17:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157333</guid><dc:creator>Alexander O'Neill</dc:creator><description>Ironic that IBM is now pretty much out of the desktop PC business.  Next up for consumer-space commoditization will be the OS and middleware, one hopes.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157358</link><pubDate>Wed, 16 Jun 2004 18:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157358</guid><dc:creator>Larry Osterman</dc:creator><description>I purposely edited out a bunch of comments about the second generation and later IBM PC hardware (remember the MCA).  And that's all I'll say on the subject, except to say that I think that the MCA is the single reason that IBM is no longer the dominant force in the desktop platform.&lt;br&gt;&lt;br&gt;Open hardware standards (ok, it costs $3000 to be a member of the PCISIG and get access to the PCI specifications) and open software standards (document EVERYTHING about your platform, like Microsoft does) will win over closed solutions every time.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157394</link><pubDate>Wed, 16 Jun 2004 18:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157394</guid><dc:creator>Peter Ibbotson</dc:creator><description>Bit of a bummer that they screwed up the timing on SBHE on the AT if you wanted to decode anything smaller than 128K, made doing 16 bit cards that decoded into the C000-F000 space a bit hit and miss. (Scary thought I can remember all about this from over 15 years ago, I must be badly damaged)&lt;br&gt;I have my own thoughts on MCA but it reminded me of a '286 bus brought out pretty raw.&lt;br&gt;I always thought IBM copied the openess from the Apple][ where again the BIOS and schematics were available. Does anyone know for sure if that was an influence?</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157406</link><pubDate>Wed, 16 Jun 2004 18:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157406</guid><dc:creator>Barry Dorrans</dc:creator><description>Hey, I sparked something :)&lt;br&gt;&lt;br&gt;It does take me back. That was my first job, System/38 tape monkey and technical support person for a bunch of PCs. An original XT on my desk.&lt;br&gt;&lt;br&gt;And the day IBM came to visit with a PS/2, with a PC Support card so we could connect it up to the mainframe over Token Ring, and there it was, OS/2 with Micosoft manuals.&lt;br&gt;&lt;br&gt;But Larry, come on, Microsoft may document everything about your platform, but do we ever get to see it? :)</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157410</link><pubDate>Wed, 16 Jun 2004 19:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157410</guid><dc:creator>Larry Osterman</dc:creator><description>What's not documented about the Windows platform?  &lt;br&gt;&lt;br&gt;Be specific.  Show an example of something that Microsoft's applications can do that's not documented.  Or something that our Middleware applications can do (DirectX, media player, messenger) that's not documented.&lt;br&gt;&lt;br&gt;Jeremy Allison's issues with the domain controller replication algorithms notwithstanding (and his are protocol documentation issues), as far as I know, EVERYTHING is documented.&lt;br&gt;&lt;br&gt;There are internal interfaces that aren't documented for various reasons (I'm working on some of them for Audio Policy in Longhorn), but there's absolutely nothing that any Microsoft or Microsoft Middleware application can do on Windows that's not documented.&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157423</link><pubDate>Wed, 16 Jun 2004 19:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157423</guid><dc:creator>Barry Dorrans</dc:creator><description>Audio Policy? Secure Path stuff? Ok that's not documented for a reason. I was thinking more along the lines of the fabled full specifications of the Office file formats.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157425</link><pubDate>Wed, 16 Jun 2004 19:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157425</guid><dc:creator>Larry Osterman</dc:creator><description>Umm.  Office file formats aren't a part of the windows platform.  I can't speak to what they do.&lt;br&gt;&lt;br&gt;But Windows is documented.  Audio Policy actually will be documented, and I'll write about it once we get more stuff nailed down, but the direct low level interfaces involved won't be - audio policy's internals will only be documented indirectly - basically to the extent that a developer would need to be able to take advantage of the feature.&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157449</link><pubDate>Wed, 16 Jun 2004 19:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157449</guid><dc:creator>Victor</dc:creator><description>You are opening up a miserable Pandoras Box with this topic. IBM may have started out with the best intentions (being just about the only manufacturer), but they sure did loose their way and make a terrible mess out of it in the end thru utter stupidity and arrogance. Dare I mention the PowerPC, and even worse, WorkplaceOS? Or, on the software end, abominations like the Lotus &amp;quot;Dumb&amp;quot;Suite or even the current Notes?&lt;br&gt;&lt;br&gt;Or OS/2, which had such an absurdly terrible quality rep that it was basically unusable in any type of corporate environment (v3 of which had 27 service packs, each consisting of over 20 diskettes apeice, and most of them un-doing the others). Nobody would stand for that in today's environment.&lt;br&gt;&lt;br&gt;I lived that life every day - and just barely came out of it in one peice. I had a truly miserable time with all that junk. I believe that we are extremely fortunate nowadays to have Intel and AMD, with Microsoft operating systems and associated products. It may be easy to criticize them for their occasional misstep, but they are doing a heckuva fine job and I'm proud to use their products.&lt;br&gt;&lt;br&gt;And, before flaming, kindly remember that the point here is to build business applications and roll them out to our end-users to support our companys. The point is *not* to argue over who has the coolest APIs or who has the greatest instance of what I call &amp;quot;software radicalism&amp;quot;. It's all about the business.&lt;br&gt;&lt;br&gt;As for this documentation issue, I believe it's also BS. It's no coincidence that those whom scream the loudest (like &amp;quot;un&amp;quot;Real Player) also did the lousiest job writing their products. &amp;quot;Secret&amp;quot; APIs won't help them - bearing down and doing a quality job of software design &amp;amp; development &amp;amp; testing will.&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157453</link><pubDate>Wed, 16 Jun 2004 19:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157453</guid><dc:creator>Larry Osterman</dc:creator><description>Btw, I do want to be clear - there WERE undocumented pieces of the system that were used by (among others) DirectX that we did have to document (DirectX used a private Mixer message to determine the PnP device identifier associated with a given mixer device IIRC).&lt;br&gt;&lt;br&gt;But even that interface is documented these days.&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157548</link><pubDate>Wed, 16 Jun 2004 21:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157548</guid><dc:creator>Dmitriy Zaslavskiy</dc:creator><description>I actually think that success of .NET is at least in part due to blogs and sscli.&lt;br&gt;A lot more of info available than for other complex systems.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157560</link><pubDate>Wed, 16 Jun 2004 21:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157560</guid><dc:creator>Wine Developer</dc:creator><description>Ok, I'll give you a short list:&lt;br&gt;386 functions in SHLWAPI (arguably part of IE and not relevant to app developers)&lt;br&gt;18 functions in WinInet (arguably these functions are also only of use to IE)&lt;br&gt;All of the NT native API (yes you are probably insane to program in this, but there was an example recently about getting the name of the file that a file handle refers to that can only be done with the NT native API)&lt;br&gt;SystemFunction* in ADVAPI32 (even obfuscated the names there)&lt;br&gt;93 functions in ComCtl32 (ok, ~10 of these are for a precursor to unicows)&lt;br&gt;A ton of stuff in Shell32&lt;br&gt;Many remotely accessable RPC interfaces, such as winreg, svcctl and samr.&lt;br&gt;&lt;br&gt;I wonder what percentage of these could be justified as being undocumented because they are meant to be only used by OS components (not including the remote stuff) and could change at any time?&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157609</link><pubDate>Wed, 16 Jun 2004 22:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157609</guid><dc:creator>Larry Osterman</dc:creator><description>You can't get the name of a file from the NT native API.  At least not for many many files.  We had a discussion on this in an internal alias just the other day.&lt;br&gt;&lt;br&gt;Any APIs in SHLWAPI or WININET that are used by IE are documented, that's one of the things that the consent decree mandated.  And believe me, we're not going to mess that one up.&lt;br&gt;&lt;br&gt;Any of the other ones are used for internal communication between explorer.exe and shlwapi.&lt;br&gt;&lt;br&gt;Just because a DLL exposes an interface (or there's an RPC endpoint available) doesn't mean that it's an API.  And it doesn't mean it's a good idea to call it.&lt;br&gt;&lt;br&gt;The RPC interfaces on winreg/svcctl ARE documented, they're just the service APIs and the registry APIs - the RPC interfaces are how those APIs are remoted to other machines.   SamR's another story, but I believe that the SAM APIs ARE documented (I can't find it in a quick google but...)&lt;br&gt;&lt;br&gt;I'll give an example of this that is close to my heart:  One of the APIs we documented as a part of the consent decree was the API that's used by DirectX that I mentioned above that gets the PnP device identifier of a mixer device.  Well, in Longhorn, we're not using PnP to identify audio devices - we're introducing a paradigm shift that moves the audio engine away from PnP.  Well, this internal API that we just documented is likely to stop working, because the new paradigm doesn't map to PnP at all.&lt;br&gt;&lt;br&gt;If we had intended for the API in question to be documented, we'd have been precluded from changing our internal paradigm.  Right now I'm in discussion with lawyers to understand exactly how much support is required for this API.  We're currently trying to figure out if we need to come up with some form of compatibility shim to keep this API working or if we can let it die the graceful death it deserves.  This is NOT a pleasant process.&lt;br&gt;&lt;br&gt;There are also licensing reasons that things aren't documented.  For example, the code that lets the explorer access Zip files is licensed from another vendor and we're not allowed to disclose how that works.   For many years, we were constrained by US export laws from exposing the encryption functions that are contained inside some of the system DLLs.&lt;br&gt;&lt;br&gt;And there are still other things that aren't exposed because application authors can abuse them.  For example, see: &lt;a target="_new" href="http://weblogs.asp.net/oldnewthing/archive/2003/09/03/54760.aspx"&gt;http://weblogs.asp.net/oldnewthing/archive/2003/09/03/54760.aspx&lt;/a&gt;&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157631</link><pubDate>Wed, 16 Jun 2004 23:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157631</guid><dc:creator>Mike Dimmick</dc:creator><description>There are some things which are documented but the documentation is only available if you license the appropriate protocols. See &lt;a target="_new" href="http://members.microsoft.com/consent/Info/default.aspx"&gt;http://members.microsoft.com/consent/Info/default.aspx&lt;/a&gt;. Jeremy Allison's problem (if you're talking about the Samba guy) is that the license agreement for the protocols is incompatible with the GPL under which Samba is licensed. Basically, Microsoft want money for every released copy. You can argue the rights and wrongs of this, but fundamentally it's Microsoft's intellectual property.&lt;br&gt;&lt;br&gt;So Samba's only recourse is to follow the same course Microsoft did when writing file importers for their competitors applications: reverse-engineer the protocol.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157656</link><pubDate>Wed, 16 Jun 2004 23:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157656</guid><dc:creator>Larry Osterman</dc:creator><description>Mike, you are absolutely true.  But these are for protocols, not APIs.  99.99999% of the people out there don't need to know the protocols, but they DO need to know the APIs.  &lt;br&gt;&lt;br&gt;Real and other multimedia player application authors made a credible case that Microsoft was taking competitive advantage over them by not disclosing all these APIs which is why they're documented.&lt;br&gt;&lt;br&gt;I'm unhappy that it took an antitrust lawsuit to make this happen btw.  I truely believe that APIs were meant to be open.&lt;br&gt;&lt;br&gt;I also remember fondly the days when we used to work closely with Jeremy to make samba interoperate with our products - he's the guy who discovered the the Lanman authentication protocol didn't use DES, but instead used &amp;quot;DES-with-a-typo&amp;quot;.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157663</link><pubDate>Wed, 16 Jun 2004 23:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157663</guid><dc:creator>Wine Developer</dc:creator><description>Ok, I understand the sentiment that you don't want to document every function call out there because it will mean that you can't change it (and for legal reasons as you cited).&lt;br&gt;However, there are many interfaces that won't be changing soon (such as the RPC interfaces) because there is interoperability issues between other Windows versions. I'm sure InstallShield wouldn't be too happy to learn that MSI uses several NT native API calls, even though it is supposedly becoming an OS component.&lt;br&gt;I even have an exception to the rule that every API used by IE is documented. It uses a supposedly reserved field in GetUrlCacheEntryInfoEx to verify that an entry is of a specific type. IE also uses several undocumented toolbar messages. Having said that, these extra &amp;quot;features&amp;quot; used by IE are probably of little interest to Windows application developers so you are probably off the hook there ;)&lt;br&gt;You could quite easily document the RPC interfaces that have been around since the early NT days, as they cannot be changed without breaking compatibility with clients from past Windows versions (e.g. regedit). I agree that you can get a fair clue of the RPC interface from looking at the corresponding Win32 API functions, but the data on the wire isn't always exactly what is passed into a Win32 function. The nearest I can find to these being documented is from the Samba source :)</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157672</link><pubDate>Wed, 16 Jun 2004 23:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157672</guid><dc:creator>Larry Osterman</dc:creator><description>As far as I know (and I was directly involved in the development of the service APIs and indirectly in the registry APIs), the RPC wrappers are EXACTLY the same as the local APIs.&lt;br&gt;&lt;br&gt;Originally in NT 3.1, the registry APIs were all hosted in the screg.exe process (that's what it was for - it hosted the service controller and registry).  The Win32 registry APIs were a paper thin wrapper around these RPC interfaces.  Before we shipped NT 3.1, there was a huge performance problem associated with the registry APIs so we removed the RPC wrapper from the APIs and directly called the kernel interfaces.  The RPC interface was left in the product for remote registry access.&lt;br&gt;&lt;br&gt;Just for grins, I looked at the service controller IDL file.  There are absolutely no functions that are available through the RPC interfaces that aren't available through the service APIs.&lt;br&gt;&lt;br&gt;Now there IS a legitimate issue for Jeremy Allison and the Samba project - since they want to support cross-platform administration of windows machines, they need to understand those registry keys - that's why they are the 0.000001% of the people who need that information.&lt;br&gt;&lt;br&gt;But for windows developers writing windows APIs (as opposed to linux developers writing tools to administrate NT machines), every one of the interfaces that's available is totally documented.&lt;br&gt;&lt;br&gt;As far as I know, MSI has been a Windows component since Win2000.  &lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157684</link><pubDate>Thu, 17 Jun 2004 00:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157684</guid><dc:creator>Wine Developer</dc:creator><description>That's very interesting history. I had suspected that at some point in the past the registry wasn't implemented in the kernel.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157797</link><pubDate>Thu, 17 Jun 2004 03:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157797</guid><dc:creator>Larry Osterman</dc:creator><description>By the way, this topic's gone off track over time.  The thesis is that the documentation of Windows/DOS/whatever APIs is what allowed developers to write to the platform.&lt;br&gt;&lt;br&gt;It's not that everything in Windows is documented well enough for someone to either (a) interoperate with it from another platform (as the wine project is doing) or (b) permit someone from another platform to interoperate (as the Samba project is doing).&lt;br&gt;&lt;br&gt;I'm not saying that these aren't worthy endeavours (I'm agnostic on them).  Whether or not the platform is well enough documented for Wine or Samba to do their job isn't the issue IMHO.  It's if the platform is well enough documented for Windows developers to do their job.  &lt;br&gt;&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157890</link><pubDate>Thu, 17 Jun 2004 06:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157890</guid><dc:creator>Larry Osterman</dc:creator><description>Oh, and Wine Developer - the backing store for the registry has always been in the kernel (since device drivers need to be able to call into it).  In the original implementation, the user mode code simply used RPC to talk to the screg.exe service which implemented the Win32 abstraction of the NT registry (which is subtly different from the kernel NT registry API).  The DDK has decent documentation of the NT registry APIs.&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#157968</link><pubDate>Thu, 17 Jun 2004 09:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:157968</guid><dc:creator>Mike Dimmick</dc:creator><description>I'm not sure there's much competitive advantage in IsUserAnAdmin() - it saves about 20 lines of code (which are supplied in the documentation for CheckTokenMembership!).&lt;br&gt;&lt;br&gt;Arguably, it also solves the wrong problem - the program should be checking whether the user has the appropriate permissions or privileges to perform the requested task. NT has a great fine-grained access control and privilege mechanism; using IsUserAnAdmin (which component uses this previously undocumented function?) reverts to the bad old UNIX model of all-privileged admin, no-privilege user.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#158139</link><pubDate>Thu, 17 Jun 2004 13:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:158139</guid><dc:creator>Keith Moore [exmsft]</dc:creator><description>Larry, you wrote &amp;quot;You can't get the name of a file from the NT native API. At least not for many many files. We had a discussion on this in an internal alias just the other day.&amp;quot;&lt;br&gt;&lt;br&gt;NtQuerySystemInformation() with info level SystemHandleInformation returns information on all open handles in the system, including their names (if any).&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#158228</link><pubDate>Thu, 17 Jun 2004 15:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:158228</guid><dc:creator>Larry Osterman</dc:creator><description>Cool Keith :).  Does it work for Sockets?  My point was just that there are many classes of files that don't have filenames and that's why the API doesn't work :)  &lt;br&gt;&lt;br&gt;Btw, while SystemHandleInformation is undocumented, NtQuerySystemInformation is documented:&lt;br&gt;&lt;a target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/ntquerysysteminformation.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/ntquerysysteminformation.asp&lt;/a&gt;&lt;br&gt;&lt;br&gt;Btw2, what're you up to these days?&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#158301</link><pubDate>Thu, 17 Jun 2004 16:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:158301</guid><dc:creator>Larry Osterman</dc:creator><description>Mike, was this a wrong-blog thingy?  I didn't see anything about &amp;quot;IsUserAnAdmin()&amp;quot;.&lt;br&gt;</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#158691</link><pubDate>Thu, 17 Jun 2004 22:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:158691</guid><dc:creator>Keith Moore [exmsft]</dc:creator><description>For sockets, it returns \Device\Afd. This *is* the name of the file object, but it's not terribly useful. (Of course, you can just key of this name, then call sockets APIs to get the local/remote addresses, etc).&lt;br&gt;&lt;br&gt;Something that *IS* impossible to get (I think) is a list of open file *objects* for a process. It's quite possible to read/write a file after closing the handle:&lt;br&gt;&lt;br&gt;hf = CreateFile( ... );&lt;br&gt;hm = CreateFileMapping( hf, ... );&lt;br&gt;CloseHandle( hf );&lt;br&gt;pv = MapViewOfFile( hm, ... );&lt;br&gt;CloseHandle( hm );&lt;br&gt;&lt;br&gt;Now you can read and write the file through the  mapped view, even though you have neither the file handle nor the section handle open.&lt;br&gt;&lt;br&gt;Anyway, enough NT trivia.&lt;br&gt;&lt;br&gt;What am I up to? Not much -- just hanging out, writing silly message in people's blogs.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#158702</link><pubDate>Thu, 17 Jun 2004 22:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:158702</guid><dc:creator>Mike Dimmick</dc:creator><description>Sorry, I missed a step: it's one of the settlement program APIs.&lt;br&gt;&lt;br&gt;IMO, there was a reason they weren't documented - they largely weren't all that useful. I don't think a convincing case for revealing additional APIs (that then have to be supported, Raymond must be cursing ;) ) was actually made, but everyone believed the competitive-advantage argument, so the DOJ asked for it as part of the settlement.&lt;br&gt;&lt;br&gt;A list of the APIs can be found at &lt;a target="_new" href="http://msdn.microsoft.com/library/en-us/dnapiover/html/api-overview.asp"&gt;http://msdn.microsoft.com/library/en-us/dnapiover/html/api-overview.asp&lt;/a&gt;, although in some cases the function was documented but some parameters were omitted (based on a comparison between what's on the site now and the MSDN Library January 2001 I still use with VC6).</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#159043</link><pubDate>Fri, 18 Jun 2004 06:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:159043</guid><dc:creator>Dennis T Cheung</dc:creator><description>Even though I'm a blue badge, I'll have to disagree with your assertion. Like Warren Buffett notes, successful companies are ones with moats.&lt;br&gt;&lt;br&gt;You are correct: We all use Wintel (except I use Macs too... partially because I'm in MacBU).&lt;br&gt;&lt;br&gt;But notice we don't use WinIBM. Aside from IBM's many blunders, IBM had no sustainable business model for building PC's. They had no moat. By making everything open, they had no revenue stream. All it would take was a Compaq (the Dell of then) to build the same product, but cheaper. And consumers would buy that.&lt;br&gt;&lt;br&gt;Being in the &amp;quot;standards&amp;quot; business is like being in the commodities business. And life sucks as a commodity.&lt;br&gt;&lt;br&gt;Tivo's current business (PVR's) is destined to be doomed as well. They have no moat. Anyone can build a device that provides similar functionality, at a lower cost or with more (WinMCE).&lt;br&gt;&lt;br&gt;Microsoft's success is two pronged: by providing a great platform for developers developers developers developers, and through the amazing power of licensing.&lt;br&gt;&lt;br&gt;But you'd better be ready to be in the licesning business, or you are dead. Apple tried that mistake in the mid 90's by licesning their OS to clone companies - a fatal mistake for a fundamentally hardware company.</description></item><item><title>re: Why do we all use Wintel machines these days?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#159416</link><pubDate>Fri, 18 Jun 2004 17:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:159416</guid><dc:creator>Larry Osterman</dc:creator><description>An interesting point Dennis, and clearly we disagree.  I actually thing that Apple shouldn't be in the hardware business.&lt;br&gt;&lt;br&gt;The problem they had is that they tried to go it both ways - they tried to license their software AND keep on selling hardware, they really needed to pick one.&lt;br&gt;</description></item><item><title>Wikipedia entry?</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#201064</link><pubDate>Thu, 29 Jul 2004 20:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:201064</guid><dc:creator>Jon</dc:creator><description>Larry,&lt;br&gt;  Found this informative entry on Google, would you consider submitting a version to Wikipedia , which has no entry for the IBM PC Technical Reference Manual ?  (It's just referenced on the page defining 'BIOS' right now).&lt;br&gt;</description></item><item><title> Larry Osterman s WebLog Why do we all use Wintel machines these days | debt solutions</title><link>http://blogs.msdn.com/larryosterman/archive/2004/06/16/157312.aspx#9757086</link><pubDate>Tue, 16 Jun 2009 03:51:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9757086</guid><dc:creator> Larry Osterman s WebLog Why do we all use Wintel machines these days | debt solutions</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://debtsolutionsnow.info/story.php?id=7774"&gt;http://debtsolutionsnow.info/story.php?id=7774&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>