tags:

views:

65

answers:

1

Hi, i want to create a wrapper class for specific WMI functions that affect Bitlocker functionality. The first step is to get all the Bitlocker volumes of a machine so I created a Console Application and did this:

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();

    }

When I run this on a non-Bitlocker machine the Volumes Collection gets initialized OK, only that it has a Count of 0 of course. Now I copied the code over to a WinForms App and when I click a button to run this code it steps through OK but when I try to expand the collection during debugging the App hangs and I get a "Function evaluation timed out". It's the same code just in another Application. What could be the reason for this?

A: 

Hm. I got a null reference exception if I didn't run it as administrator, but when I ran it as administrator (Win 7 x64, btw), I got four Volumes back.

Jesse C. Slicer
Strange thing is, the values are there and I can work with them I just cant see them in debug mode.
Malkier