/*! \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); }