std::function<__callback void (void)>
std::function<void (void)>
Please tell me about the difference between these two.__callback
appears to be the keyword provided by WDK.
I think it's different from the function calling protocol I knew.
Do you also use it to use functions in normal user-level applications?
Is it a kind of user-friendly keyword that separately defines asynchronous functions?
What is the difference between 1 and 2 above, and when should I use number 1?
It's merely an annotation from Microsoft's SAL (source-code annotation language).
From Advanced Annotations: "__callback
- The function can be used as a function pointer". It is defined as:
#define __callback __allowed(on_function)
It doesn't do anything to the function signature, but is an allowed annotation on functions, so unless you are SAL-annotating your own code already, don't use __callback
either.