IDriveFolderExt

IID_IDriveFolderExt {98467961-4F27-4A1F-9629-22B06D0B5CCB} Original
{3EC36F3E-5BA3-4C3D-BF39-10F76C3F7CC6} Revised

The original IDriveFolderExt methods are (as ordered in the virtual function table after the IUnknown methods):

Offset Method
0x0C DriveMatches
0x10 Bind
0x14 GetSpace

with prototypes:

HRESULT DriveMatches (INT);
HRESULT Bind (LPCITEMIDLIST, IBindCtx *, REFIID, PVOID *);
HRESULT GetSpace (ULONGLONG *, ULONGLONG *);

The revision splits the first method:

Offset Method
0x0C Initialize
0x10 DriveSupportsBurning
0x14 Bind
0x18 GetSpace

and the prototypes become:

HRESULT Initialize (INT);
HRESULT DriveSupportsBurning (INT);
HRESULT Bind (PCIDLIST_ABSOLUTE, IBindCtx *, REFIID, PVOID *);
HRESULT GetSpace (ULONGLONG *, ULONGLONG *);

Implementation

The only known implementation of the IDriveFolderExt interface is by SHELL32. Note that Microsoft feels free to change the IID and methods without changing the name.

Availability

The IDriveFolderExt interface is supported by SHELL32 version 6.00 and higher. The revision begins with the build for Windows Vista.

Though this interface dates from 2001, it was still not documented by Microsoft as late as the January 2007 edition of the Windows Vista Software Development Kit (SDK).