Beispiel #1
0
        public static ResourceBuffer LoadResource(
            this SafeModuleHandle module, ResInfoHandle resource)
        {
            if (resource.IsInvalid)
            {
                throw new ArgumentException("Invalid resource info handle.");
            }

            ResDataHandle data = ResourceUnsafeNativeMethods.LoadResource(module, resource);

            if (data.IsInvalid)
            {
                throw new Win32Exception();
            }

            uint size = ResourceUnsafeNativeMethods.SizeofResource(module, resource);

            if (size == 0)
            {
                throw new Win32Exception();
            }

            ResourceBuffer ptr = ResourceUnsafeNativeMethods.LockResource(data);

            ptr.Initialize(size);

            return(ptr);
        }
Beispiel #2
0
 public static extern ResourceBuffer LockResource(ResDataHandle hResData);