[PATCH 4/5] d2d1: Add the ID2D1Bitmap interface.
Nikolay Sivov
bunglehead at gmail.com
Wed May 14 03:19:08 CDT 2014
On 5/14/2014 12:05, Henri Verbeet wrote:
> On 14 May 2014 08:26, Nikolay Sivov <bunglehead at gmail.com> wrote:
>> I don't think it makes sense to match msdn here regarding [optional]
>> attribute, and that's why:
>>
>> - 'optional' without 'defaultvalue' has no effect on headers, as far as I
>> can see;
>> - you can't mix 'optional' with required arguments like that, midl will
>> refuse to process such idl,
>> optional arguments should be at the end of arguments list only;
> I didn't try processing this with midl myself, but are you quite sure
> about that?
Yes, I tested that some time ago, and double-checked just now. Method
like this:
---
HRESULT method([in, optional] float arg, [in] float arg2);
---
produces midl error 2090:
.\test_tlb.idl(44) : error MIDL2090 : optional parameters must come
after required parameters : [ Procedure 'method' ( Interface 'Iiface' ) ]
> The d2d1.h in the PSDK has these annotated with
> "_In_opt_", and presumably it's generated with midl.
These are manually added I believe, it's a part of so called annotation
language or SAL (http://msdn.microsoft.com/en-us/library/ms182032.aspx).
It's kind of markers for static analysers, this page says it's available
starting VS 2005.
More information about the wine-devel
mailing list