Those are some of the older decoration macro's from Microsoft's SAL Annotations (the newer ones now follow different casing, starting with a capital). These have no real affect on compilation (under VS 2010 they aren't even expanded), they are there for inline API documentation.
__in
: this parameter is an input to the function (read-only, caller initialized).
__out
: this parameter contains output from the function when it returns (write-only, caller initialized).
__in_opt
: a compound annotation formed from _in
and _opt
, _opt
indications that the parameter is optional and can be set to a default value (generally NULL
).
You can get the full explanation here of the older decorations here.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…