コード例 #1
0
        private AmClusterRawData GetGroupControlData(AmClusterGroupControlCode code)
        {
            uint             num = 1024U;
            AmClusterRawData amClusterRawData = AmClusterRawData.Allocate(num);
            int num2 = ClusapiMethods.ClusterGroupControl(this.m_handle, IntPtr.Zero, code, IntPtr.Zero, 0U, amClusterRawData.Buffer, num, out num);

            if (num2 == 234)
            {
                amClusterRawData.Dispose();
                amClusterRawData = AmClusterRawData.Allocate(num);
                num2             = ClusapiMethods.ClusterGroupControl(this.m_handle, IntPtr.Zero, code, IntPtr.Zero, 0U, amClusterRawData.Buffer, num, out num);
            }
            if (num2 != 0)
            {
                amClusterRawData.Dispose();
                throw AmExceptionHelper.ConstructClusterApiException(num2, "ClusterGroupControl(controlcode={0})", new object[]
                {
                    code
                });
            }
            return(amClusterRawData);
        }