Is MIDL facility broken?
Hello all,
I tried MIDL on ShObjIdl.idl file recently and it does not go well at all
Which is very frustrating.
Please see partial output below.
Do we have workaround for this? I want to implement interface which is listed in ShObjIdl.idl
Midl.exe report following:
Microsoft (R) 32b/64b MIDL Compiler Version 8.00.0595
Copyright (c) Microsoft Corporation. All rights reserved.
PS
I specifically interested in IContextMenu, IShellExtInit (which it parses at least) and couple other interfaces but I could not get them all neither with MIDL nor with DEFSYSTEMs :MIDL-TYPE-LIBRARY-FILE options
CL-USER> (com:midl "C:\\Program Files (x86)\\Windows Kits\\8.0\\include\\um\\ShObjIdl.idl" :output-file t)
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\um\ShObjIdl.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\um\objidl.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\um\unknwn.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\shared\wtypes.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\shared\wtypesbase.idl
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:114]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";" "ULONG" "AddRef" "(" ")" ";" "ULONG" "Release" "(" ")" ";" "}" "cpp_quote" "(" "#endif" ")" "cpp_quote" "(" "#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */" ")" "cpp_quote" "(" "#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)" ")"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:137]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";" "HRESULT" "Begin_AddRef" "(" ")" ";" "ULONG" "Finish_AddRef" "(" ")" ";" "HRESULT" "Begin_Release" "(" ")" ";" "ULONG" "Finish_Release" "(" ")" ";" "}" "cpp_quote" "(" "#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */" ")" "cpp_quote" "(" "#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)" ")"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:165]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:170]: Unexpected symbol "HRESULT"
Skipping rest of statement.
Discarding symbols: ";"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:175]: Unexpected symbol "HRESULT"
Skipping rest of statement.
Discarding symbols: ";"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:179]: Unexpected symbol "HRESULT"
Skipping rest of statement.
Discarding symbols: ";" "}"
Error: [c:\program files (x86)\windows kits\8.0\include\um\objidlbase.idl:115]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";" "HRESULT" "GetMarshalSizeMax" "("
Error: [c:\program files (x86)\windows kits\8.0\include\um\objidlbase.idl:125]: Unexpected symbol "annotation"
I tried MIDL on ShObjIdl.idl file recently and it does not go well at all
Which is very frustrating.
Please see partial output below.
Do we have workaround for this? I want to implement interface which is listed in ShObjIdl.idl
Midl.exe report following:
Microsoft (R) 32b/64b MIDL Compiler Version 8.00.0595
Copyright (c) Microsoft Corporation. All rights reserved.
PS
I specifically interested in IContextMenu, IShellExtInit (which it parses at least) and couple other interfaces but I could not get them all neither with MIDL nor with DEFSYSTEMs :MIDL-TYPE-LIBRARY-FILE options
CL-USER> (com:midl "C:\\Program Files (x86)\\Windows Kits\\8.0\\include\\um\\ShObjIdl.idl" :output-file t)
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\um\ShObjIdl.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\um\objidl.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\um\unknwn.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\shared\wtypes.idl
;;; Processing C:\Program Files (x86)\Windows Kits\8.0\include\shared\wtypesbase.idl
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:114]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";" "ULONG" "AddRef" "(" ")" ";" "ULONG" "Release" "(" ")" ";" "}" "cpp_quote" "(" "#endif" ")" "cpp_quote" "(" "#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */" ")" "cpp_quote" "(" "#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)" ")"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:137]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";" "HRESULT" "Begin_AddRef" "(" ")" ";" "ULONG" "Finish_AddRef" "(" ")" ";" "HRESULT" "Begin_Release" "(" ")" ";" "ULONG" "Finish_Release" "(" ")" ";" "}" "cpp_quote" "(" "#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */" ")" "cpp_quote" "(" "#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)" ")"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:165]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:170]: Unexpected symbol "HRESULT"
Skipping rest of statement.
Discarding symbols: ";"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:175]: Unexpected symbol "HRESULT"
Skipping rest of statement.
Discarding symbols: ";"
Error: [c:\program files (x86)\windows kits\8.0\include\um\unknwnbase.idl:179]: Unexpected symbol "HRESULT"
Skipping rest of statement.
Discarding symbols: ";" "}"
Error: [c:\program files (x86)\windows kits\8.0\include\um\objidlbase.idl:115]: Unexpected symbol "annotation"
Skipping rest of statement.
Discarding symbols: ";" "HRESULT" "GetMarshalSizeMax" "("
Error: [c:\program files (x86)\windows kits\8.0\include\um\objidlbase.idl:125]: Unexpected symbol "annotation"
Sent from Windows Mail