I have this issue with a method in C#. I made a method that calls a function from a dll its called Phone.GetLampMode();
Now Phone.GetLampMode doesn
It looks like the existing model is close to the Event-based Asynchronous Pattern (EAP). You might want to look at the article Interop with Other Asynchronous Patterns and Types which describes how to convert such a pattern to the newer Task-based Async Pattern (TAP).
Once you have a Task (or Task, you can just Wait for it.