Vista

FltEnlistInTransaction behaviour

FltEnlistInTransaction is a filter manager function that file system mini-filters can use in Vista+ platforms to subscribe to relevant transaction notifications. It is declared in fltkernel.h as follows The idea is when a transaction is committed for example, mini-filter transaction callback is called


Deleting a file/directory

How do you delete a file or directory1 in Win32/64 ? You have primarily three options – DeleteFile, RemoveDirectory MoveFileEx (…, MOVEFILE_DELAY_UNTIL_REBOOT…) CreateFile (…, FILE_FLAG_DELETE_ON_CLOSE…)  followed by CloseHandle First of all DeleteFile cannot be used to delete a directory, you are supposed to use RemoveDirectory instead. If you pass a directory path to DeleteFile, the [...]


Solomon+Russinovich-Ionescu Interview

Channel 9 interviewed David Solomon and Mark Russinovich, co-authors (along with Alex Ionescu) of Windows Internals 5th Edition . Solomon describes how both of them started to collaborate on an earlier edition of the book way back when.  Here it is.


what is fileinfo.sys ?

I like knowing what does what on the system at a binary level. Windows is getting bigger and bigger with every release, so it is becoming increasingly difficult to keep track of all the things that Microsoft is building into Windows. I have learnt a lot over the years by asking a simple question like [...]


Multithreaded synchronous I/O must be asynchronous ?!

I recently came across a situation where it was taking too long to process multi-threaded I/O requests in a driver. While investigating this issue it became apparent that all but one of the pending requests was actually hitting the driver dispatch. All the other threads ended up blocking in nt!IopAcquireFileObjectLock (via a call to KeWaitForSingleObject). [...]


Vista/2008 Service Pack 2 is out

Microsoft has made Windows Vista and Windows Server 2008 Service Pack 2 (Build 6.0.6002.18005) available for public download. You can get x86 stand-alone installer (348.3 MB) from here and the x64 SP2 (577.4 MB) from here.