Я хочу создать класс-оболочку для определенных функций WMI, которые влияют на функциональность Bitlocker. Первый шаг - получить все тома Bitlocker машины, поэтому я создал консольное приложение и сделал следующее:
private static ManagementClass management;
private static ManagementObjectCollection Volumes = null;
static void Main(string[] args)
{
ManagementPath path = new ManagementPath();
path.Server = "";
path.NamespacePath = "\\ROOT\\CIMV2\\Security\\MicrosoftVolumeEncryption";
path.ClassName = "Win32_EncryptableVolume";
ConnectionOptions options = new ConnectionOptions();
options.Authentication = AuthenticationLevel.PacketPrivacy;
options.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope scope = new ManagementScope(path, options);
ObjectGetOptions getOptions = new ObjectGetOptions();
management = new ManagementClass(scope, path, getOptions);
management.Get();
Volumes = management.GetInstances();
}
Когда я запускаю это на компьютере без Bitlocker, коллекция томов инициализируется нормально, конечно, только с числом 0. Теперь я скопировал код в приложение WinForms, и когда я нажимаю кнопку для запуска этого кода, он проходит через ОК, но когда я пытаюсь расширить коллекцию во время отладки, приложение зависает, и я получаю «Тайм-аут оценки функции». Это тот же код просто в другом приложении. Что может быть причиной этого?