anchor.diff:    var dlg_addr = ifd.lpVtbl.address;
     Pointer<IntPtr> ptr = Pointer.fromAddress(dlg_addr);
   
  -  // var hr = CoInitializeEx(
  -  //     nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
  -  // if (!SUCCEEDED(hr)) return;
  +  var hr = CoInitializeEx(
  +      nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
  +  if (!SUCCEEDED(hr)) return;
   
  -  // hr = CoCreateInstance(
  -  //     GUID.fromString(CLSID_FileOpenDialog).addressOf,
  -  //     nullptr,
  -  //     CLSCTX_ALL,
  -  //     GUID.fromString(IID_IFileDialog).addressOf,
  -  //     ifd.addressOf.cast());
  -  // if (!SUCCEEDED(hr)) return;
  +  hr = CoCreateInstance(
  +      GUID.fromString(CLSID_FileOpenDialog).addressOf,
  +      nullptr,
  +      CLSCTX_ALL,
  +      GUID.fromString(IID_IFileDialog).addressOf,
  +      ifd.addressOf.cast());
  +  if (!SUCCEEDED(hr)) return;
   
     ptr.elementAt(0).value = 0xFFFFFFFFFFFFFFFF;
     ptr.elementAt(1).value = 0x01;
  
positive.code:   printPointer('dlg', dlg);
    printPointer('dlg->lpVtbl', dlg.ref.lpVtbl);
  
    // This gives the correct value.
    printPointer(
        'dlg->lpVtbl->QueryInterface', dlg.ref.lpVtbl.ref.QueryInterface);
    printPointer('dlg->lpVtbl->AddRef', dlg.ref.lpVtbl.ref.AddRef);
  
negative.code: import 'package:win32/win32.dart';
  
  class IFileDialogVtbl extends Struct {
    Pointer<IntPtr> QueryInterface;
    Pointer<IntPtr> AddRef;
    Pointer<IntPtr> Release;
    Pointer<IntPtr> Show;
    Pointer<IntPtr> SetFileTypes;
    Pointer<IntPtr> SetFileTypeIndex;
    Pointer<IntPtr> GetFileTypeIndex;
    Pointer<IntPtr> Advise;
    Pointer<IntPtr> Unadvise;
    Pointer<IntPtr> SetOptions;
    Pointer<IntPtr> GetOptions;
    Pointer<IntPtr> SetDefaultFolder;
    Pointer<IntPtr> SetFolder;
    Pointer<IntPtr> GetFolder;
    Pointer<IntPtr> GetCurrentSelection;
    Pointer<IntPtr> SetFileName;
    Pointer<IntPtr> GetFileName;
    Pointer<IntPtr> SetTitle;
    Pointer<IntPtr> SetOkButtonLabel;
    Pointer<IntPtr> SetFileNameLabel;
    Pointer<IntPtr> GetResult;
    Pointer<IntPtr> AddPlace;
    Pointer<IntPtr> SetDefaultExtension;
    Pointer<IntPtr> Close;
    Pointer<IntPtr> SetClientGuid;
    Pointer<IntPtr> ClearClientData;
    Pointer<IntPtr> SetFilter;
  }
  
  class IFileDialog extends Struct {
  