private void AsyncProvideHRESULTWithNotificationMask(IntPtr namespaceVirtualizationContext, int commandId, HRESULT final, PRJ_NOTIFY_TYPES notifyTypes)
        {
            var args = new PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS
            {
                CommandType = PRJ_COMPLETE_COMMAND_TYPE.PRJ_COMPLETE_COMMAND_TYPE_ENUMERATION
            };

            args._Union.NotificationMask = notifyTypes;
            _inFlight.TryRemove(commandId, out _);
            using (var buffer = new NativeBuffer <PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS>(args))
            {
                _outboundFunctions.PrjCompleteCommand(namespaceVirtualizationContext, commandId, final, buffer.Buffer);
            }
        }
        public void AsyncProvideHRESULTWithDirEntry(IntPtr namespaceVirtualizationContext, int commandId, HRESULT final, IntPtr dirEntryBufferHandle)
        {
            var args = new PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS
            {
                CommandType = PRJ_COMPLETE_COMMAND_TYPE.PRJ_COMPLETE_COMMAND_TYPE_ENUMERATION
            };

            args._Union.DirEntryBufferHandle = dirEntryBufferHandle;
            _inFlight.TryRemove(commandId, out _);
            using (var buffer = new NativeBuffer <PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS>(args))
            {
                _outboundFunctions.PrjCompleteCommand(namespaceVirtualizationContext, commandId, final, buffer.Buffer);
            }
        }