José,
This may be something I'm doing wrong or maybe should not be doing at all.
I've got a program that runs thru all the INC files ( either your v3 or PB's latest ) and
captures various bits of information. 1 of the bits is all the Equates/Enum Singulars. I use them to
figure out which parts of #IF...#ENDIF blocks should be looked at. But have ran into several
that change values ( which should not happen and doesn't seem to in real programs ).
One of the simplest that I've found so far is below. In the file MSCORLIB.inc they get 1 value
but in SCRRUN.inc they get different values.
Can you explain to me why they are different? Or am I doing something VERY wrong?
Thanks for your help. No big hurry as I'm just going to modify my program to ignore any
new equate value after it first gets set.
MSCORLIB.inc
' ========================================================================================
' DriveType enum
' IID: {72E8197D-904B-3371-AE0E-B70D9D53771C}
' ========================================================================================
%DriveType_Unknown = &H0 ' 0
%DriveType_NoRootDirectory = &H1 ' 1
%DriveType_Removable = &H2 ' 2
%DriveType_Fixed = &H3 ' 3
%DriveType_Network = &H4 ' 4
%DriveType_CDRom = &H5 ' 5
%DriveType_Ram = &H6 ' 6
SCRRUN.inc
' ========================================================================================
' DriveTypeConst enum
' ========================================================================================
%DriveType_UnknownType = 0
%DriveType_Removable = 1
%DriveType_Fixed = 2
%DriveType_Remote = 3
%DriveType_CDRom = 4
%DriveType_RamDisk = 5
Coincidence. Change the ones in scrrun.inc to:
%DriveTypeConst_UnknownType = 0
%DriveTypeConst_Removable = 1
%DriveTypeConst_Fixed = 2
%DriveTypeConst_Remote = 3
%DriveTypeConst_CDRom = 4
%DriveTypeConst_RamDisk = 5
Thanks.
I'll keep checking on the others. The list is currently a little over 900 differences.
I feel some might be due to PB defining Win32_WinNT as &H0601 all the time ( unless
%Chicago is also defined ). I noticed that you worked around it for %WM_MouseLast.
José,
I'm doing this just to see where my program needs correcting.
In real programs, there is a great possiblity that the combination of INC files that creates these
mismaches would not be used together.
I've got another bunch of mismatches. I'm not going to worry about the string equates.
Several can be eliminated by not using DX7VB.inc or DX8VB.inc and just using D3D9CAPS.inc.
Doing this cuts the number of differences in half.
I'm going to take a break for a while. As I said, no hurry. It is the weekend.
%eALL
MMDeviceAPI.inc
' EDataFlow enum
%eRender = 0
%eCapture = %eRender + 1
%eAll = %eCapture + 1
%EDataFlow_enum_count = %eAll + 1
MSCoree.inc
' enum EApiCategories
%eNoChecks = 0
%eSynchronization = &H1
%eSharedState = &H2
%eExternalProcessMgmt = &H4
%eSelfAffectingProcessMgmt = &H8
%eExternalThreading = &H10
%eSelfAffectingThreading = &H20
%eSecurityInfrastructure = &H40
%eUI = &H80
%eMayLeakOnAbort = &H100
%eAll = &H1ff
==================================
%LVN_GetDispInfoW
PB defined as -176
CommCtrl.inc
'//====== WM_NOTIFY codes (NMHDR.code values) ==================================
'%NM_FIRST = 0 ' generic to all controls
'%NM_LAST = -99&
%LVN_FIRST = 0-100 ' listview
%LVN_LAST = 0-199
' // LVN_GETDISPINFOA and LVN_GETDISPINFOW are predefined in the compiler, but
' // LVN_GETDISPINFOA is called LVN_GETDISPINFO, so we need to redefine it.
%LVN_GETDISPINFOA = %LVN_FIRST - 50
%LVN_GETDISPINFOW = %LVN_FIRST - 77
#IF %DEF(%UNICODE)
%LVN_GETDISPINFO = %LVN_GETDISPINFOW
#ELSE
%LVN_GETDISPINFO = %LVN_GETDISPINFOA
#ENDIF
==================================
cdoInvalidTimeZone * differences already noted
Cdoex.inc
%cdoTaipei = 75
%cdoSydney2000 = 76
%cdoInvalidTimeZone = 77
' Note: cdoInvalidTimeZone is defined as 82 in the Windows Server 2008 SDK version of cdosys.h
Cdosys.inc
%cdoTaipei = 75
%cdoSydney2000 = 76
%cdoChihuahua = 77
%cdoCanberraCommonwealthGames2006 = 78
%cdoAdelaideCommonwealthGames2006 = 79
%cdoHobartCommonwealthGames2006 = 80
%cdoTijuana = 81
%cdoInvalidTimeZone = 82
' Note: cdoInvalidTimeZone was defined as 78 in SDKs prior to Windows Server 2008 in
' cdosys.h and as 77 in cdoex.h
==================================
d3ddevcaps_hwtransformandlight * different versions of DX? need different values
only include D3D9Caps.inc unless older version support needed
D3D9Caps.inc
'//
'// DevCaps
'//
%D3DDEVCAPS_EXECUTESYSTEMMEMORY = &H00000010??? ' /* Device can use execute buffers from system memory */
%D3DDEVCAPS_EXECUTEVIDEOMEMORY = &H00000020??? ' /* Device can use execute buffers from video memory */
%D3DDEVCAPS_TLVERTEXSYSTEMMEMORY = &H00000040??? ' /* Device can use TL buffers from system memory */
%D3DDEVCAPS_TLVERTEXVIDEOMEMORY = &H00000080??? ' /* Device can use TL buffers from video memory */
%D3DDEVCAPS_TEXTURESYSTEMMEMORY = &H00000100??? ' /* Device can texture from system memory */
%D3DDEVCAPS_TEXTUREVIDEOMEMORY = &H00000200??? ' /* Device can texture from device memory */
%D3DDEVCAPS_DRAWPRIMTLVERTEX = &H00000400??? ' /* Device can draw TLVERTEX primitives */
%D3DDEVCAPS_CANRENDERAFTERFLIP = &H00000800??? ' /* Device can render without waiting for flip to complete */
%D3DDEVCAPS_TEXTURENONLOCALVIDMEM = &H00001000??? ' /* Device can texture from nonlocal video memory */
%D3DDEVCAPS_DRAWPRIMITIVES2 = &H00002000??? ' /* Device can support DrawPrimitives2 */
%D3DDEVCAPS_SEPARATETEXTUREMEMORIES = &H00004000??? ' /* Device is texturing from separate memory pools */
%D3DDEVCAPS_DRAWPRIMITIVES2EX = &H00008000??? ' /* Device can support Extended DrawPrimitives2 i.e. DX7 compliant driver*/
%D3DDEVCAPS_HWTRANSFORMANDLIGHT = &H00010000??? ' /* Device can support transformation and lighting in hardware and DRAWPRIMITIVES2EX must be also */
%D3DDEVCAPS_CANBLTSYSTONONLOCAL = &H00020000??? ' /* Device supports a Tex Blt from system memory to non-local vidmem */
%D3DDEVCAPS_HWRASTERIZATION = &H00080000??? ' /* Device has HW acceleration for rasterization */
%D3DDEVCAPS_PUREDEVICE = &H00100000??? ' /* Device supports D3DCREATE_PUREDEVICE */
%D3DDEVCAPS_QUINTICRTPATCHES = &H00200000??? ' /* Device supports quintic Beziers and BSplines */
%D3DDEVCAPS_RTPATCHES = &H00400000??? ' /* Device supports Rect and Tri patches */
%D3DDEVCAPS_RTPATCHHANDLEZERO = &H00800000??? ' /* Indicates that RT Patches may be drawn efficiently using handle 0 */
%D3DDEVCAPS_NPATCHES = &H01000000??? ' /* Device supports N-Patches */
DX7VB.inc
' ========================================================================================
' CONST_D3DDEVICEDESCCAPS enum
' ========================================================================================
%D3DDEVCAPS_FLOATTLVERTEX = 1 ' &H1
%D3DDEVCAPS_SORTINCREASINGZ = 2 ' &H2
%D3DDEVCAPS_SORTDECREASINGZ = 4 ' &H4
%D3DDEVCAPS_SORTEXACT = 8 ' &H8
%D3DDEVCAPS_TLVERTEXSYSTEMMEMORY = 64 ' &H40
%D3DDEVCAPS_TLVERTEXVIDEOMEMORY = 128 ' &H80
%D3DDEVCAPS_TEXTURESYSTEMMEMORY = 256 ' &H100
%D3DDEVCAPS_TEXTUREVIDEOMEMORY = 512 ' &H200
%D3DDEVCAPS_DRAWPRIMTLVERTEX = 1024 ' &H400
%D3DDEVCAPS_CANRENDERAFTERFLIP = 2048 ' &H800
%D3DDEVCAPS_TEXTURENONLOCALVIDMEM = 4096 ' &H1000
%D3DDEVCAPS_SEPARATETEXTUREMEMORIES = 16384 ' &H4000
%D3DDEVCAPS_HWTRANSFORMANDLIGHT = 32768 ' &H8000
%D3DDEVCAPS_CANBLTSYSTONONLOCAL = 131072 ' &H20000
%D3DDEVCAPS_HWRASTERIZATION = 524288 ' &H80000
DX8VB.inc
' ========================================================================================
' CONST_D3DDEVCAPSFLAGS enum
' ========================================================================================
%D3DDEVCAPS_EXECUTESYSTEMMEMORY = 16 ' &H10
%D3DDEVCAPS_EXECUTEVIDEOMEMORY = 32 ' &H20
%D3DDEVCAPS_TLVERTEXSYSTEMMEMORY = 64 ' &H40
%D3DDEVCAPS_TLVERTEXVIDEOMEMORY = 128 ' &H80
%D3DDEVCAPS_TEXTURESYSTEMMEMORY = 256 ' &H100
%D3DDEVCAPS_TEXTUREVIDEOMEMORY = 512 ' &H200
%D3DDEVCAPS_DRAWPRIMTLVERTEX = 1024 ' &H400
%D3DDEVCAPS_CANRENDERAFTERFLIP = 2048 ' &H800
%D3DDEVCAPS_TEXTURENONLOCALVIDMEM = 4096 ' &H1000
%D3DDEVCAPS_DRAWPRIMITIVES2 = 8192 ' &H2000
%D3DDEVCAPS_SEPARATETEXTUREMEMORIES = 16384 ' &H4000
%D3DDEVCAPS_DRAWPRIMITIVES2EX = 32768 ' &H8000
%D3DDEVCAPS_HWTRANSFORMANDLIGHT = 65536 ' &H10000
%D3DDEVCAPS_CANBLTSYSTONONLOCAL = 131072 ' &H20000
%D3DDEVCAPS_HWRASTERIZATION = 524288 ' &H80000
%D3DDEVCAPS_PUREDEVICE = 1048576 ' &H100000
%D3DDEVCAPS_QUINTICRTPATCHES = 2097152 ' &H200000
%D3DDEVCAPS_RTPATCHES = 4194304 ' &H400000
%D3DDEVCAPS_RTPATCHHANDLEZERO = 8388608 ' &H800000
%D3DDEVCAPS_NPATCHES = 16777216 ' &H1000000
==================================
%dispid_text
%dispid_enabled
%dispid_maxlength
%dispid_multiline
%dispid_scrollbars
%dispid_refresh
OAIDL.inc -- source of %DISPID_VALUE
' ########################################################################################
' IDispatch interface
' IID = 00020400-0000-0000-C000-000000000046
' Inherited interface = IUnknown
' NOTE: Renamed because of conflicts with the built-in PB definition.
' ########################################################################################
#IF NOT %DEF(%IDispatch_INTERFACE_DEFINED)
%IDispatch_INTERFACE_DEFINED = 1
$IID_IDispatch = GUID$("{00020400-0000-0000-C000-000000000046}")
'/* DISPID reserved to indicate an "unknown" name */
'/* only reserved for data members (properties); reused as a method dispid below */
%DISPID_UNKNOWN = -1
'/* DISPID reserved for the "value" property */
%DISPID_VALUE = 0
INKED.inc
' ========================================================================================
' DISPID_InkEdit enum
' ========================================================================================
%DISPID_Text = %DISPID_VALUE
%DISPID_TextRTF = %DISPID_Text + 1
%DISPID_Hwnd = %DISPID_TextRTF + 1
%DISPID_DisableNoScroll = %DISPID_Hwnd + 1
%DISPID_Locked = %DISPID_DisableNoScroll + 1
%DISPID_Enabled = %DISPID_Locked + 1
%DISPID_MaxLength = %DISPID_Enabled + 1
%DISPID_MultiLine = %DISPID_MaxLength + 1
%DISPID_ScrollBars = %DISPID_MultiLine + 1
%DISPID_RTSelStart = %DISPID_ScrollBars + 1
%DISPID_RTSelLength = %DISPID_RTSelStart + 1
%DISPID_RTSelText = %DISPID_RTSelLength + 1
%DISPID_SelAlignment = %DISPID_RTSelText + 1
%DISPID_SelBold = %DISPID_SelAlignment + 1
%DISPID_SelCharOffset = %DISPID_SelBold + 1
%DISPID_SelColor = %DISPID_SelCharOffset + 1
%DISPID_SelFontName = %DISPID_SelColor + 1
%DISPID_SelFontSize = %DISPID_SelFontName + 1
%DISPID_SelItalic = %DISPID_SelFontSize + 1
%DISPID_SelRTF = %DISPID_SelItalic + 1
%DISPID_SelUnderline = %DISPID_SelRTF + 1
%DISPID_DragIcon = %DISPID_SelUnderline + 1
%DISPID_Status = %DISPID_DragIcon + 1
%DISPID_UseMouseForInput = %DISPID_Status + 1
%DISPID_InkMode = %DISPID_UseMouseForInput + 1
%DISPID_InkInsertMode = %DISPID_InkMode + 1
%DISPID_RecoTimeout = %DISPID_InkInsertMode + 1
%DISPID_DrawAttr = %DISPID_RecoTimeout + 1
%DISPID_Recognizer = %DISPID_DrawAttr + 1
%DISPID_Factoid = %DISPID_Recognizer + 1
%DISPID_SelInk = %DISPID_Factoid + 1
%DISPID_SelInksDisplayMode = %DISPID_SelInk + 1
%DISPID_Recognize = %DISPID_SelInksDisplayMode + 1
%DISPID_GetGestStatus = %DISPID_Recognize + 1
%DISPID_SetGestStatus = %DISPID_GetGestStatus + 1
%DISPID_Refresh = %DISPID_SetGestStatus + 1
OLECTL.inc
'/////////////////////////////////////////////////////////////////////////////
'// Standard dispatch ID constants
%DISPID_AUTOSIZE = -500
%DISPID_BACKCOLOR = -501
%DISPID_BACKSTYLE = -502
%DISPID_BORDERCOLOR = -503
%DISPID_BORDERSTYLE = -504
%DISPID_BORDERWIDTH = -505
%DISPID_DRAWMODE = -507
%DISPID_DRAWSTYLE = -508
%DISPID_DRAWWIDTH = -509
%DISPID_FILLCOLOR = -510
%DISPID_FILLSTYLE = -511
%DISPID_FONT = -512
%DISPID_FORECOLOR = -513
%DISPID_ENABLED = -514
%DISPID_HWND = -515
%DISPID_TABSTOP = -516
%DISPID_TEXT = -517
%DISPID_CAPTION = -518
%DISPID_BORDERVISIBLE = -519
%DISPID_APPEARANCE = -520
%DISPID_MOUSEPOINTER = -521
%DISPID_MOUSEICON = -522
%DISPID_PICTURE = -523
%DISPID_VALID = -524
%DISPID_READYSTATE = -525
%DISPID_LISTINDEX = -526
%DISPID_SELECTED = -527
%DISPID_LIST = -528
%DISPID_COLUMN = -529
%DISPID_LISTCOUNT = -531
%DISPID_MULTISELECT = -532
%DISPID_MAXLENGTH = -533
%DISPID_PASSWORDCHAR = -534
%DISPID_SCROLLBARS = -535
%DISPID_WORDWRAP = -536
%DISPID_MULTILINE = -537
%DISPID_NUMBEROFROWS = -538
%DISPID_NUMBEROFCOLUMNS = -539
%DISPID_DISPLAYSTYLE = -540
%DISPID_GROUPNAME = -541
%DISPID_IMEMODE = -542
%DISPID_ACCELERATOR = -543
%DISPID_ENTERKEYBEHAVIOR = -544
%DISPID_TABKEYBEHAVIOR = -545
%DISPID_SELTEXT = -546
%DISPID_SELSTART = -547
%DISPID_SELLENGTH = -548
%DISPID_REFRESH = -550
%DISPID_DOCLICK = -551
%DISPID_ABOUTBOX = -552
%DISPID_ADDITEM = -553
%DISPID_CLEAR = -554
%DISPID_REMOVEITEM = -555
==================================
%msmsg_class_nack_bad_dst_q
thru
%mqmsg_class_nack_receive_timeout_at_sender
MQ.inc -- ?? is forcing to word value ( unsigned )
'//-----------------------------------------------
'//
'// Negative arrival acknowledgments
'//
'//
'// Destination queue cannot be reached, the queue may have been deleted
'//
'#define MQMSG_CLASS_NACK_BAD_DST_Q MQCLASS_CODE(1, 0, 0x00)
%MQMSG_CLASS_NACK_BAD_DST_Q = &H8000??
'//
'// The message was purged before reaching its destination queue
'//
'#define MQMSG_CLASS_NACK_PURGED MQCLASS_CODE(1, 0, 0x01)
%MQMSG_CLASS_NACK_PURGED = &H8001??
'//
'// Time to reach queue has expired
'//
'#define MQMSG_CLASS_NACK_REACH_QUEUE_TIMEOUT MQCLASS_CODE(1, 0, 0x02)
%MQMSG_CLASS_NACK_REACH_QUEUE_TIMEOUT = &H8002??
'//
'// The message has exceeded the queue quota
'//
'#define MQMSG_CLASS_NACK_Q_EXCEED_QUOTA MQCLASS_CODE(1, 0, 0x03)
%MQMSG_CLASS_NACK_Q_EXCEED_QUOTA = &H8003??
'//
'// The sender does not have send access rights to the queue.
'//
'#define MQMSG_CLASS_NACK_ACCESS_DENIED MQCLASS_CODE(1, 0, 0x04)
%MQMSG_CLASS_NACK_ACCESS_DENIED = &H8004??
'//
'// The message hop count was exceeded
'//
'#define MQMSG_CLASS_NACK_HOP_COUNT_EXCEEDED MQCLASS_CODE(1, 0, 0x05)
%MQMSG_CLASS_NACK_HOP_COUNT_EXCEEDED = &H8005??
'//
'// The message signature is bad. The message could not be authenticated.
'//
'#define MQMSG_CLASS_NACK_BAD_SIGNATURE MQCLASS_CODE(1, 0, 0x06)
%MQMSG_CLASS_NACK_BAD_SIGNATURE = &H8006??
'//
'// The message could not be decrypted.
'//
'#define MQMSG_CLASS_NACK_BAD_ENCRYPTION MQCLASS_CODE(1, 0, 0x07)
%MQMSG_CLASS_NACK_BAD_ENCRYPTION = &H8007??
'//
'// The message could not be encrypted for the destination.
'//
'#define MQMSG_CLASS_NACK_COULD_NOT_ENCRYPT MQCLASS_CODE(1, 0, 0x08)
%MQMSG_CLASS_NACK_COULD_NOT_ENCRYPT = &H8008??
'//
'// The message was sent to a non-transactional queue within a transaction.
'//
'#define MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_Q MQCLASS_CODE(1, 0, 0x09)
%MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_Q = &H8009??
'//
'// The message was sent to a transactional queue not within a transaction.
'//
'#define MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_MSG MQCLASS_CODE(1, 0, 0x0A)
%MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_MSG = &H800A??
'//
'// The requested crypto provider for encryption is not supported by the destination.
'//
'#define MQMSG_CLASS_NACK_UNSUPPORTED_CRYPTO_PROVIDER MQCLASS_CODE(1, 0, 0x0B)
%MQMSG_CLASS_NACK_UNSUPPORTED_CRYPTO_PROVIDER = &H800B??
'//
'// The QM GUID has changed and therefore the messages was thrown away.
'//
'#define MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED MQCLASS_CODE(1, 0, 0x0C)
%MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED = &H800C??
'//
'// The message was sent by downlevel machines (earlier than msmq4) and the message size
'// with the subqueue and IPV6 headers exceeded the max message size
'//
'#define MQMSG_CLASS_NACK_MESSAGE_TOO_LARGE MQCLASS_CODE(1, 0, 0x0D)
%MQMSG_CLASS_NACK_MESSAGE_TOO_LARGE = &H800D??
'//-----------------------------------------------
'//
'// Negative receive acknowledgments
'//
'//
'// The queue was deleted, after the message arrived
'//
'#define MQMSG_CLASS_NACK_Q_DELETED MQCLASS_CODE(1, 1, 0x00)
%MQMSG_CLASS_NACK_Q_DELETED = &HC000??
'//
'// The message was purged at the destination queue
'//
'#define MQMSG_CLASS_NACK_Q_PURGED MQCLASS_CODE(1, 1, 0x01)
%MQMSG_CLASS_NACK_Q_PURGED = &HC001??
'//
'// Time to receive has expired while the message was still in its destination queue
'// (generated by destination)
'//
'#define MQMSG_CLASS_NACK_RECEIVE_TIMEOUT MQCLASS_CODE(1, 1, 0x02)
%MQMSG_CLASS_NACK_RECEIVE_TIMEOUT = &HC002??
'//
'// Time to receive has expired while the message was still in its local outgoing queue
'// (generated locally by sender)
'//
'#define MQMSG_CLASS_NACK_RECEIVE_TIMEOUT_AT_SENDER MQCLASS_CODE(1, 1, 0x03)
%MQMSG_CLASS_NACK_RECEIVE_TIMEOUT_AT_SENDER = &HC003??
MQOAI.inc - no type identifier so becomes signed Long
' ========================================================================================
' MQMSGCLASS enum
' ========================================================================================
%MQMSG_CLASS_NORMAL = 0 + 0 + 0
%MQMSG_CLASS_REPORT = 0 + 0 + &H1
%MQMSG_CLASS_ACK_REACH_QUEUE = 0 + 0 + &H2
%MQMSG_CLASS_ACK_RECEIVE = 0 + &H4000 + 0
%MQMSG_CLASS_NACK_BAD_DST_Q = &H8000 + 0 + 0
%MQMSG_CLASS_NACK_PURGED = &H8000 + 0 + &H1
%MQMSG_CLASS_NACK_REACH_QUEUE_TIMEOUT = &H8000 + 0 + &H2
%MQMSG_CLASS_NACK_Q_EXCEED_QUOTA = &H8000 + 0 + &H3
%MQMSG_CLASS_NACK_ACCESS_DENIED = &H8000 + 0 + &H4
%MQMSG_CLASS_NACK_HOP_COUNT_EXCEEDED = &H8000 + 0 + &H5
%MQMSG_CLASS_NACK_BAD_SIGNATURE = &H8000 + 0 + &H6
%MQMSG_CLASS_NACK_BAD_ENCRYPTION = &H8000 + 0 + &H7
%MQMSG_CLASS_NACK_COULD_NOT_ENCRYPT = &H8000 + 0 + &H8
%MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_Q = &H8000 + 0 + &H9
%MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_MSG = &H8000 + 0 + &Ha
%MQMSG_CLASS_NACK_UNSUPPORTED_CRYPTO_PROVIDER = &H8000 + 0 + &Hb
%MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED = &H8000 + 0 + &Hc
%MQMSG_CLASS_NACK_Q_DELETED = &H8000 + &H4000 + 0
%MQMSG_CLASS_NACK_Q_PURGED = &H8000 + &H4000 + &H1
%MQMSG_CLASS_NACK_RECEIVE_TIMEOUT = &H8000 + &H4000 + &H2
%MQMSG_CLASS_NACK_RECEIVE_TIMEOUT_AT_SENDER = &H8000 + &H4000 + &H3
==================================
%mq_max_msg_label_len
MQ.inc
'//
'// LONG_LIVED is the default for PROPID_M_TIME_TO_REACH_QUEUE. If calls
'// to MQSendMessage() specify this value, or not specify this property at
'// all, then the actual timeout is obtained from Active Directory.
'//
%LONG_LIVED = &Hfffffffe???
%MQ_MAX_Q_NAME_LEN = 124 '// Maximal WCHAR length of a queue name.
%MQ_MAX_Q_LABEL_LEN = 124
%MQ_MAX_MSG_LABEL_LEN = 250
MQOAI.inc
' ========================================================================================
' MQMSGMAX enum
' ========================================================================================
%MQ_MAX_MSG_LABEL_LEN = 249
Thanks very much. DX7VB.inc or DX8VB.inc are of no use today. They were includes for two OCXs made by Microsoft to allow VBers to use DirectX 7 and DirectX 8.
Quote
%LVN_GetDispInfoW
PB defined as -176
The correct value is -177. I have notified it to Mr. Zale to change it.
Quote
cdoInvalidTimeZone * differences already noted
Cdoex.inc
%cdoTaipei = 75
%cdoSydney2000 = 76
%cdoInvalidTimeZone = 77
' Note: cdoInvalidTimeZone is defined as 82 in the Windows Server 2008 SDK version of cdosys.h
Cdosys.inc
%cdoTaipei = 75
%cdoSydney2000 = 76
%cdoChihuahua = 77
%cdoCanberraCommonwealthGames2006 = 78
%cdoAdelaideCommonwealthGames2006 = 79
%cdoHobartCommonwealthGames2006 = 80
%cdoTijuana = 81
%cdoInvalidTimeZone = 82
' Note: cdoInvalidTimeZone was defined as 78 in SDKs prior to Windows Server 2008 in
' cdosys.h and as 77 in cdoex.h
I have made them mutually exclusive:
' Use %CDO_INC as constant to exclude other CDO includes such cdoex.inc
#IF NOT %DEF(%CDO_INC)
%CDO_INC = 1
....
....
#ENDIF ' #IF NOT %DEF(%CDO_INC)
I already did it in the first version of the includes, but when #INCLUDE THIS ONCE was implemented I removed it inadvertently.
- MMDeviceAPI.inc and MSCOREE.inc
Added prefixes.
- OAIDL.inc and INKED.inc
Added prefixes to INKED.inc
Quote
MQ.inc -- ?? is forcing to word value ( unsigned )
Yes. The C++ header uses this macro
#define MQCLASS_CODE(s, r, code) ((USHORT)(((s) << 15) | ((r) << 14) | (code)))
that casts the result to USHORT.
Quote
MQOAI.inc - no type identifier so becomes signed Long
%mq_max_msg_label_len
I have added a note to MQOAI.INC saying that can't be used together with MQ.INC.
MQOAI is a wrapper OCX for VB6 and uses integer values because VB6 has no WORDs.
%mq_max_msg_label_len is defined as 250 in MQ.INC because being an header for C++, it has to make room for the terminating null.
José,
Just a last few for you ( and a bunch I need to figure out why they are different ).
I've got a few for PB but I'll send them to PB Support next week.
Thanks for your help.
%dispid_xobj_min
%dispid_xobj_max
MSHTMDID.inc
%DISPID_XOBJ_MIN = &H80010000&
%DISPID_XOBJ_MAX = &H8001FFFF&
MSXML2DID.inc
%DISPID_XOBJ_MIN = &H00010000
%DISPID_XOBJ_MAX = &H0001FFFF
==================================
%dispid_documentcomplete
DHTMLDID.inc
'// events
%DISPID_DOCUMENTCOMPLETE = 1
EXDISPID
%DISPID_ONFULLSCREEN = 258 ' // sent when kiosk mode should be on/off
%DISPID_DOCUMENTCOMPLETE = 259 ' // new document goes ReadyState_Complete
%DISPID_ONTHEATERMODE = 260 ' // sent when theater mode should be on/off
==================================
thse might be another time I should not have both INC files.
%DISPID_DOM_DOCUMENT orig 65 new 37
%DISPID_DOM_NODELIST orig 385 new 100
%DISPID_DOM_NAMEDNODEMAP orig 417 new 393
%DISPID_DOM_W3CWRAPPERS orig 33 new 430
%DISPID_DOM_DOCUMENTFRAGMENT orig 33 new 34
%DISPID_DOM_ELEMENT orig 97 new 35
%DISPID_DOM_DATA orig 129 new 109
%DISPID_DOM_DATA_LENGTH orig 130 new 131
%DISPID_DOM_DATA_SUBSTRING orig 131 new 132
%DISPID_DOM_DATA_APPEND orig 132 new 133
%DISPID_DOM_DATA_INSERT orig 133 new 134
%DISPID_DOM_DATA_DELETE orig 134 new 135
%DISPID_DOM_DATA_REPLACE orig 135 new 136
%DISPID_DOM_ATTRIBUTE orig 161 new 138
%DISPID_DOM_TEXT orig 193 new 166
%DISPID_DOM_PI orig 225 new 197
%DISPID_DOM_DOCUMENTTYPE orig 257 new 229
%DISPID_DOM_NOTATION orig 289 new 262
%DISPID_DOM_ENTITY orig 321 new 293
%DISPID_DOM_W3CWRAPPERS_TOP orig 353 new 325
%DISPID_DOM_IMPLEMENTATION orig 449 new 354
DOMDID.inc
MSXML2DID.inc
==================================
pb_exe -- shouldn't this be #IF %DEF(PB_EXE)
OLECON.INC
szClassName = $OC_CLASSNAME
wcex.cbSize = SIZEOF(wcex)
#IF %PB_EXE = 1
wcex.style = 0
#ELSE
wcex.style = %CS_GLOBALCLASS ' // For use with DLLs
#ENDIF
==================================
%ED_DEVCAP_CAN_RECORD -- seems to be my problem 4097 vs 4106
got a whole bunch of these
EDEVDEFS.INC
%ED_BASE = &H1000???
%ED_DEVCAP_CAN_RECORD = %ED_BASE+1???
XPRTDEFS.INC
%ED_BASE = &H1000&
%ED_DEVCAP_CAN_RECORD = %ED_BASE+1&
Quote
pb_exe -- shouldn't this be #IF %DEF(PB_EXE)
No; because it is always defined.
From the help file:
Quote
%PB_EXE
Pre-defined as TRUE (non-zero) if compiling to EXE or as FALSE (zero) if compiling to DLL (PB/Win only) or SLL format.
The equate %PB_EXE is always defined in PowerBASIC, so %DEF(%PB_EXE) will always be evaluated as TRUE. The difference being the value assigned to the equate by the compiler
EDEVDEFS.INC and XPRTDEFS.INCChanged the ??? in EDEVDEFS.INC to &.
Quote
%dispid_xobj_min
%dispid_xobj_max
MSHTMDID.inc
%DISPID_XOBJ_MIN = &H80010000&
%DISPID_XOBJ_MAX = &H8001FFFF&
MSXML2DID.inc
%DISPID_XOBJ_MIN = &H00010000
%DISPID_XOBJ_MAX = &H0001FFFF
This is how they are defined in the C++ headers. Anyway, MSXML2DID.inc is not included by any other file. Looks like an internal file for developing Internet Explorer.
DISPID_DOCUMENTCOMPLETE
Same as above. Anyway, you aren't likely to use them together, The EXDISPID.inc is the most important, since they are the dispatch idenifiers for IExplorer Dispatch Events. DHTMLDID.inc if for DHTMLEd.OCX, an active control no loger supported since Vista.
José,
Got bad news about %PB_Exe. In PB Win v10.03 it comes out as
%PB_EXE = 65535 0000FFFF
produced by following code
Print #1, "%PB_EXE = "; Format$(%PB_Exe); " "; Hex$(%PB_Exe, 8)
This is in response to your Reply #11.
I have changed it to:
#IF %PB_EXE = 0
wcex.style = %CS_GLOBALCLASS ' // For use with DLLs
#ELSE
wcex.style = 0
#ENDIF