private static int GetParametersImpl(IntPtr thisPtr, out AsyncCallbackFlags flags, out WorkQueueId workQueueId)
 {
     flags = AsyncCallbackFlags.None;
     workQueueId = WorkQueueId.Standard;
     try
     {
         var shadow = ToShadow<AsyncCallbackShadow>(thisPtr);
         var callback = (IAsyncCallback)shadow.Callback;
         workQueueId = callback.WorkQueueId;
         flags = callback.Flags;
     }
     catch (Exception exception)
     {
         return (int)SharpDX.Result.GetResultFromException(exception);
     }
     return Result.Ok.Code;
 }
 private static int GetParametersImpl(IntPtr thisPtr, out AsyncCallbackFlags flags, out WorkQueueId workQueueId)
 {
     flags       = AsyncCallbackFlags.None;
     workQueueId = WorkQueueId.Standard;
     try
     {
         var shadow   = ToShadow <AsyncCallbackShadow>(thisPtr);
         var callback = (IAsyncCallback)shadow.Callback;
         workQueueId = callback.WorkQueueId;
         flags       = callback.Flags;
     }
     catch (Exception exception)
     {
         return((int)Result.GetResultFromException(exception));
     }
     return(Result.Ok.Code);
 }