The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at C28023.

warning C28023: The function being assigned or passed should have a _Function_class_ annotation for at least one of the class(es) in: <classlist>

This warning is usually reported when only one function class is in use and a callback of the appropriate type is not declared.

This warning is issued when the function on the left side of the assignment (or of the implied assignment, if this is a function call) is annotated to indicate that it is a driver-specific function type that uses the _Function_class_ annotation or a typedef that contains such an annotation. The function on the right side of the assignment does not have a _Function_class_ annotation. The function on the right should be annotated to be of the same type as the function on the left. This is usually best done by adding the declaration <class1> <funcname1> before the current first declaration of <funcname2>.