anchor.diff:    });
   
     test('IIDFromString', () {
  -    final guid = GUID.allocate();
  -    final hr = IIDFromString(TEXT(IID_IShellItem2), guid.addressOf);
  +    final guid = zeroAllocate<GUID>();
  +    final hr = IIDFromString(TEXT(IID_IShellItem2), guid);
       expect(hr, equals(S_OK));
   
  -    expect(guid.toString(), equalsIgnoringCase(IID_IShellItem2));
  +    expect(guid.ref.toString(), equalsIgnoringCase(IID_IShellItem2));
   
  -    free(guid.addressOf);
  +    free(guid);
     });
   
     test('Create COM object without calling CoInitialize should fail', () {
  
positive.code:         nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
      expect(hr, equals(S_OK));
  
      final ptrFactory = COMObject.allocate().addressOf;
      final ptrSaveDialog = COMObject.allocate().addressOf;
  
      hr = CoGetClassObject(
          GUID.fromString(CLSID_FileSaveDialog).addressOf,
  
negative.code:         nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
      expect(hr, equals(S_OK));
  
      final ptr = zeroAllocate<COMObject>();
  
      hr = CoCreateInstance(
          GUID.fromString(CLSID_FileSaveDialog).addressOf,
  