MS IDL tiene syntax for specifying a defaultvalue
para los parámetros. Me trataron de especificar un valor predeterminado para una función que acepta un VARIANT_BOOL
:¿Cómo se especifica un valor predeterminado para VARIANT_BOOL?
[id(42)] HRESULT Foo([in, defaultvalue(VARIANT_TRUE)] VARIANT_BOOL bar);
y obtuvo el siguiente mensaje de error:
error MIDL2035: expresión constante espera
¿Cuál es la sintaxis correcta para especificar que el valor predeterminado de bar
debería ser VARIANT_TRUE
?
¿Sabías que usar 'TRUE' también funciona para' VARIANT_BOOL'? Tengo curiosidad sobre cuál es la manera _official_ de hacer esto. – Motti
TRUE tiene el valor incorrecto. Dado que mshtml.idl es un archivo principal de Microsoft, supongo que -1 es la forma * oficial *. –
'TRUE' tiene el valor incorrecto en C++, en IDL parece que tiene el valor correcto (ver mi respuesta). Con respecto a MSHTML.idl, donde lo encontraste, tengo el .tlh y el .tli generados a partir de la DLL pero no un .idl original – Motti