コード例 #1
0
        public VariantMap ReadVariantMap()
        {
            ResInfoHandle rh = ResourceUnsafeNativeMethods.FindResourceEx(
                neutralModule, "VMAP", "VMAP", 0);

            if (rh.IsInvalid)
            {
                throw new InvalidOperationException("VMAP resource not found.");
            }

            var stream = neutralModule.LoadResourceStream(rh);

            using (var reader = new BinaryReader(stream)) {
                var vmap = new VariantMap();
                vmap.Name  = reader.ReadAlignedPascalZString(4);
                vmap.Size  = reader.ReadAlignedPascalZString(4);
                vmap.Color = reader.ReadAlignedPascalZString(4);

                if (reader.BaseStream.Position != reader.BaseStream.Length)
                {
                    throw new Exception("Trailing unread data in VMAP.");
                }

                return(vmap);
            }
        }
コード例 #2
0
 public Stream OpenStream()
 {
     return(module.LoadResourceStream(resource));
 }