The Curious Engineer

All blogs / Windows internals

mgrier's WebLog

learn.microsoft.com/en-us/archive/blogs/mgrier

Windows internalsOS / kernelSoftware / engineering practiceMicrosoft blogsMSDN archive

’05’10’15’20’25
Posts
33 from 10 Feb 2004 to 2 Oct 2006
Posting
archived, read-only
Kind
personal blog
Feed
https://learn.microsoft.com/en-us/archive/blogs/mgrier/feed.xml

2006 1

  1. Canonical Function Structure

2005 28

  1. The NT DLL Loader: FreeLibrary()
  2. The NT DLL Loader: DLL_PROCESS_ATTACH reentrancy - wrap up
  3. The NT DLL Loader: DLL_PROCESS_ATTACH reentrancy - step 4 - ramifications of questionable quality
  4. The NT DLL Loader: DLL_PROCESS_ATTACH reentrancy - step 3 - quality requirements
  5. The NT DLL Loader: DLL_PROCESS_ATTACH reentrancy - step 2 - GetProcAddress()
  6. The NT DLL Loader: DLL_PROCESS_ATTACH reentrancy - step 1 - LoadLibrary()
  7. The NT DLL Loader: reentrancy - play along at home!
  8. The NT DLL Loader: DLL callouts (DllMain) - DLL_PROCESS_ATTACH deadlocks
  9. The NT DLL loader: dynamic unloads
  10. How the NT Loader works
  11. Enough about in-memory models and transactions for now
  12. Transactions and in-memory data (part 3 of n)
  13. Transactions and in-memory data (part 2 of n)
  14. Transactions and in-memory data (part 1 of n)
  15. No Chinese Dictionaries
  16. More than one way to skin a (transactional) cat
  17. Implementation patterns to support transactional functions
  18. Local vs. global analysis revisited
  19. Whole program vs. local analysis
  20. Working with inexact error contracts
  21. Even good design can't succeed in isolation
  22. Why is fclose()'s contract so confusing?
  23. What if close could fail?
  24. Function transactionality
  25. Side-effects: a more useful definition
  26. Errors and a simple invariant
  27. Always check your return codes?
  28. Future examples - standards, conventions

2004 4

  1. Versioning - source of all good or evil?
  2. catch considered harmful
  3. Gosh, programming is hard!
  4. Here Goes!