The OnQueryFileName callback has the following signature:
HResult OnQueryFileName(string relativePath)
Since, unlike its native counterpart, it lacks a commandId parameter, we cannot treat this callback asynchronously and therefore return HResult.Pending to complete the request later.
Is there a reason why the managed version of this method works so differently from its native equivalent?