>"If a pointer is a dummy-argument of an interoperable procedure, it
>usually has to be declared using the VALUE attribute. void* matches
>TYPE(C_PTR), VALUE, while TYPE(C_PTR) alone matches void**."
>What does "usually" mean in this context? Under what conditions do we
>have to do this?
Just as it says. Use VALUE to match 'void *' and not to match 'void **';
the former is more common in C interfaces.