Я хотел бы написать небольшую утилиту / библиотеку классов на C #, которая может перечислять основные разделы на диске, связанном с томом C в Windows 7. Я хотел бы изменить флаг active для любого из основных разделов на этом диске , Я хотел бы «потреблять» эту библиотеку из управляемого кода (C #). Насколько я понимаю, мне нужно будет использовать службу виртуального диска, описанную в http://msdn.microsoft.com/en-us/library/bb986750(v=VS.85).aspx.
Кажется, что-то вроде "основной сборки взаимодействия" для этого API для Windows 2008: Windows.Storage.Vds.dll (см. http://blogs.msdn.com/taylorb/archive/2008/09/19/using-the-virtual-disk-service-vds-from-powershell-to-mount-and-use-vhd-s.aspx). Я не могу найти это для Windows 7. Существует ли она «Если так, как я могу получить это? Я не могу найти это, поэтому я думаю, что это не публично доступно.
Следующим шагом будет генерация этого кода с использованием tlbimp, но VDS не экспортирует библиотеку типов. Это правда? Я не могу найти это.
Это оставляет выполнение COM-вещей «вручную» либо непосредственно в C ++, в соответствии с примерами выше. Эти примеры работают, но практически непостижимы. Аналогично, я мог бы создать клиентскую сборку вручную из мидл, используя методы, описанные в http://msdn.microsoft.com/en-us/library/aa645736(VS.71).aspx. Но мне не хватает COM / COM Interop / VDS, чтобы сделать это разумным способом.
Мне кажется, что API клиента VDS dcom виртуально непригоден для использования, и поэтому все заканчивают сценарием diskpart.exe. Конечно, я ошибаюсь по этому поводу.