warning C28127: The function being used as a routine does not exactly match the type expected.
It is likely that the difference is that the actual function returns a value, and the expected function type is void
The driver is passing or assigning a function (pointer) of an unexpected type (that is, function signature). This often occurs in C when the expected return type of a function is VOID and a function with an (implied) int return value is actually supplied. It can also happen when the parameters are compatible but not identical. In general, callback functions should match the expected type exactly, which is most easily accomplished using a function typedef.
This type mismatch message is designed primarily to verify that the Code Analysis tool can recognize callbacks.