Пример #1
0
        /*! \brief Return information on a dynamic area.
         * \param [in] number The number used to identify the dynamic area.
         * \param [out] baseAddress Pointer to the base of the dynamic area.
         * \param [out] flags The flags that were used to create the dynamic area.
         * \param [out] sizeLimit The maximum size that the dynamic area can be extended to.
         * \param [out] name The name that the dynamic area was created with.
         * \return The current size of the dynamic area in bytes.  */
        public static int DynamicAreaRead(int number,
                                          out IntPtr baseAddress,
                                          out DynamicAreaFlags flags,
                                          out int sizeLimit,
                                          out string name)
        {
            IntPtr handler;
            IntPtr workspace;
            IntPtr name_ptr;
            int    size;

            OS.ThrowOnError(NativeMethods.OS_DynamicAreaRead(number,
                                                             out size,
                                                             out baseAddress,
                                                             out flags,
                                                             out sizeLimit,
                                                             out handler,
                                                             out workspace,
                                                             out name_ptr));
            name = Marshal.PtrToStringAnsi(name_ptr);

            return(size);
        }