public void DefineUnmanagedResource(string resourceFileName) { if (resourceFileName == null) { throw new ArgumentNullException("resourceFileName"); } if (resourceFileName == String.Empty) { throw new ArgumentException("resourceFileName"); } if (!File.Exists(resourceFileName) || Directory.Exists(resourceFileName)) { throw new FileNotFoundException("File '" + resourceFileName + "' does not exists or is a directory."); } using (FileStream fs = new FileStream(resourceFileName, FileMode.Open)) { Win32ResFileReader reader = new Win32ResFileReader(fs); foreach (Win32EncodedResource res in reader.ReadResources()) { if (res.Name.IsName || res.Type.IsName) { throw new InvalidOperationException("resource files with named resources or non-default resource types are not supported."); } AddUnmanagedResource(res); } } }
public void DefineUnmanagedResource(string resourceFileName) { if (resourceFileName == null) { throw new ArgumentNullException("resourceFileName"); } if (resourceFileName.Length == 0) { throw new ArgumentException("resourceFileName"); } if (!File.Exists(resourceFileName) || Directory.Exists(resourceFileName)) { throw new FileNotFoundException("File '" + resourceFileName + "' does not exist or is a directory."); } if (native_resource != NativeResourceType.None) { throw new ArgumentException("Native resource has already been defined."); } // avoid definition of more than one unmanaged resource native_resource = NativeResourceType.Unmanaged; using (FileStream fs = new FileStream(resourceFileName, FileMode.Open, FileAccess.Read)) { Win32ResFileReader reader = new Win32ResFileReader(fs); foreach (Win32EncodedResource res in reader.ReadResources()) { if (res.Name.IsName || res.Type.IsName) { throw new InvalidOperationException("resource files with named resources or non-default resource types are not supported."); } AddUnmanagedResource(res); } } }