public static unsafe void SetCacheSetting(FileHandle fileHandle, DiskCacheState state, bool isPowerProtected) { DiskCacheSetting diskCacheSetting; diskCacheSetting.Version = DiskCacheSetting.SizeOf; diskCacheSetting.State = state; diskCacheSetting.IsPowerProtected = isPowerProtected; fileHandle.IoControl( IoCtlSetCacheSetting, &diskCacheSetting, DiskCacheSetting.SizeOf, null, 0 ); }
public static void SetCacheSetting(FileHandle fileHandle, DiskCacheState state, bool isPowerProtected) { unsafe { DiskCacheSetting diskCacheSetting; diskCacheSetting.Version = Marshal.SizeOf(typeof(DiskCacheSetting)); diskCacheSetting.State = state; diskCacheSetting.IsPowerProtected = isPowerProtected; fileHandle.IoControl( IoCtlSetCacheSetting, &diskCacheSetting, Marshal.SizeOf(typeof(DiskCacheSetting)), null, 0 ); } }
public static void SetCacheSetting(string fileName, DiskCacheState state, bool isPowerProtected) { using (var fhandle = StorageDevice.OpenStorageDevice(fileName, FileAccess.GenericRead | FileAccess.GenericWrite)) SetCacheSetting(fhandle, state, isPowerProtected); }