private void RetryProcessSecureSharedFiles()
        {
            try
            {
                if (retryFiles.Count > 0)
                {
                    List <string> itemsToDelete = new List <string>();
                    foreach (KeyValuePair <string, int> entry in retryFiles)
                    {
                        if (entry.Value > 0 && entry.Value < maxRetry)
                        {
                            string lastError = string.Empty;
                            if (DigitalRightControl.ProcessSecureShareFile(entry.Key, out lastError) || entry.Value == maxRetry - 1)
                            {
                                EventManager.WriteMessage(176, "ProcessSecureShareFile", EventLevel.Verbose, "Process secure file " + entry.Key + " succeeded,maxRetry:" + entry.Value);
                                itemsToDelete.Add(entry.Key);
                            }
                            else
                            {
                                retryFiles[entry.Key] = entry.Value + 1;
                            }
                        }
                    }

                    foreach (string item in itemsToDelete)
                    {
                        retryFiles.Remove(item);
                    }
                }
            }
            catch (Exception ex)
            {
                EventManager.WriteMessage(176, "RetryProcessSecureSharedFiles", EventLevel.Verbose, "RetryProcessSecureSharedFiles failed with error: " + ex.Message);
            }
        }
        /// <summary>
        /// convert the secure share file's embedded DRM data to encrypted file's meta data with the attached tag.
        /// </summary>
        /// <param name="messageSend"></param>
        private void ProcessSecuredSharedFile(FilterAPI.MessageSendData messageSend)
        {
            string lastError = string.Empty;

            if (!DigitalRightControl.ProcessSecureShareFile(messageSend.FileName, out lastError))
            {
                if (!retryFiles.ContainsKey(messageSend.FileName))
                {
                    retryFiles.Add(messageSend.FileName, 0);
                }

                EventManager.WriteMessage(147, "ProcessSecureShareFile", EventLevel.Error, lastError);
            }
            else
            {
                EventManager.WriteMessage(159, "ProcessSecureShareFile", EventLevel.Verbose, "Process secure file " + messageSend.FileName + " succeeded.");
            }
        }