Причиной, по которой я сначала задал этот вопрос, была моя обеспокоенность тем, что RAPI будет слишком вовлечен для моего маленького приложения (после просмотра документации по API). Тем не менее я начал писать библиотеку-обертку в неуправляемом коде, только чтобы понять, что мне придется нести всю среду выполнения C ++. Итак, в итоге я собрал несколько методов для обработки файлов RAPI и операций с файловой системой, которые вызывают RAPI непосредственно из C #, используя P / Invoke. Я нашел несколько таких методов в разных местах, добавил еще несколько своих и поместил их все в класс C #. Я снабдил их последовательной обработкой ошибок, и оказалось, что она делает именно то, что мне нужно, всего лишь после нескольких часов усилий.