Skip to content

Commit 360ea0c

Browse files
committed
inc: winapi: Re-add REFIID & co
These types are documented on MSDN so they shouldn't be dropped. In the MS and in the MinGW-w64 headers they are #defines (not typedefs) and have 2 CONSTs, so I have translated them that way for FB too. But this doesn't match the typedefs shown in the MSDN documentation, so I'm not 100% sure what the best solution is. (cherry picked from commit b5ce750)
1 parent 7f01852 commit 360ea0c

File tree

7 files changed

+17
-0
lines changed

7 files changed

+17
-0
lines changed

changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Version 1.02.1
88
[fixed]
99
- 1.02.0 regression: win/winuser.bi: Renamed INPUT typedef to INPUT_ to avoid conflicts with the quirk keyword (due to bug #730)
1010
- 1.02.0 regression: OpenGL binding: glGetString() and some others use ZString Ptr instead of GLubyte Ptr again
11+
- 1.02.0 regression: Windows API binding: REFIID and some other REF* types were missing
1112

1213

1314
Version 1.02.0

inc/win/guiddef.bi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ type FMTID as GUID
3131
type LPFMTID as FMTID ptr
3232
#define FMTID_NULL GUID_NULL
3333
#define IsEqualFMTID(rfmtid1, rfmtid2) IsEqualGUID(rfmtid1, rfmtid2)
34+
#define _REFGUID_DEFINED
35+
type REFGUID as const GUID const ptr
36+
#define _REFIID_DEFINED
37+
type REFIID as const IID const ptr
38+
#define _REFCLSID_DEFINED
39+
type REFCLSID as const IID const ptr
40+
#define _REFFMTID_DEFINED
41+
type REFFMTID as const IID const ptr
3442
#define _SYS_GUID_OPERATORS_
3543
#define InlineIsEqualGUID(rguid1, rguid2) (((((@(rguid1)->Data1)[0] = (@(rguid2)->Data1)[0]) andalso ((@(rguid1)->Data1)[1] = (@(rguid2)->Data1)[1])) andalso ((@(rguid1)->Data1)[2] = (@(rguid2)->Data1)[2])) andalso ((@(rguid1)->Data1)[3] = (@(rguid2)->Data1)[3]))
3644
#define IsEqualGUID(rguid1, rguid2) (memcmp(rguid1, rguid2, sizeof(GUID)) = 0)

inc/win/oaidl.bi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ type LPVARIANT as VARIANT ptr
243243
type VARIANTARG as VARIANT
244244
type LPVARIANTARG as VARIANT ptr
245245
#define _REFVARIANT_DEFINED
246+
type REFVARIANT as const VARIANT const ptr
246247

247248
type _wireBRECORD
248249
fFlags as ULONG

inc/win/propidl.bi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ end type
282282

283283
type LPPROPVARIANT as tagPROPVARIANT ptr
284284
#define _REFPROPVARIANT_DEFINED
285+
type REFPROPVARIANT as const PROPVARIANT const ptr
285286
const PID_DICTIONARY = &h0
286287
const PID_CODEPAGE = &h1
287288
const PID_FIRST_USABLE = &h2

inc/win/propkeydef.bi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22

33
#pragma once
44

5+
type REFPROPERTYKEY as const PROPERTYKEY const ptr
56
#define IsEqualPropertyKey(a, b) (((a).pid = (b).pid) andalso IsEqualIID(@(a).fmtid, @(b).fmtid))
67
#define _PROPERTYKEY_EQUALITY_OPERATORS_

inc/win/shobjidl.bi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7179,6 +7179,7 @@ type IContextMenuCB as IContextMenuCB_
71797179
declare sub IBandHost_DestroyBand_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
71807180
#define SID_SBandHost IID_IBandHost
71817181
type EXPLORERPANE as GUID
7182+
type REFEXPLORERPANE as const EXPLORERPANE const ptr
71827183
#define __IExplorerPaneVisibility_INTERFACE_DEFINED__
71837184

71847185
type _EXPLORERPANESTATE as long

inc/win/shtypes.bi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,14 @@ end type
118118

119119
type COMDLG_FILTERSPEC as _COMDLG_FILTERSPEC
120120
type KNOWNFOLDERID as GUID
121+
type REFKNOWNFOLDERID as const KNOWNFOLDERID const ptr
121122
type KF_REDIRECT_FLAGS as DWORD
122123
type FOLDERTYPEID as GUID
124+
type REFFOLDERTYPEID as const FOLDERTYPEID const ptr
123125
type TASKOWNERID as GUID
126+
type REFTASKOWNERID as const TASKOWNERID const ptr
124127
type ELEMENTID as GUID
128+
type REFELEMENTID as const ELEMENTID const ptr
125129

126130
type tagSHCOLSTATE as long
127131
enum

0 commit comments

Comments
 (0)