public unsafe static List <char> GetProtectedVolumeList() { EWF_Volume_Name_Entry *volumeNames = EwfMgrGetProtectedVolumeList(); List <char> protectedVolumes = new List <char>(); while (!EwfMgrVolumeNameListIsEmpty(volumeNames)) { IntPtr hDevice = EwfMgrOpenProtected(volumeNames->Name.ToString()); if (hDevice.ToInt32() != -1) { protectedVolumes.Add(volumeNames->Name); EwfMgrClose(hDevice); } hDevice = IntPtr.Zero; EwfMgrVolumeNameEntryPop(&volumeNames); } EwfMgrVolumeNameListDelete(volumeNames); return(protectedVolumes); }
public static void EwfMgrVolumeNameListDelete(EWF_Volume_Name_Entry *pVolumeNameList);
public static extern bool EwfMgrVolumeNameListIsEmpty(EWF_Volume_Name_Entry *pVolumeNameList);