예제 #1
0
        // Token: 0x060001E5 RID: 485 RVA: 0x00008D14 File Offset: 0x00006F14
        private AmClusterRawData GetNodeControlData(AmClusterNodeControlCode code, uint initialDataSize = 1024U)
        {
            uint             num = initialDataSize;
            AmClusterRawData amClusterRawData = AmClusterRawData.Allocate(num);
            int num2 = ClusapiMethods.ClusterNodeControl(this.Handle, IntPtr.Zero, code, IntPtr.Zero, 0U, amClusterRawData.Buffer, num, out num);

            if (num2 == 234)
            {
                amClusterRawData.Dispose();
                amClusterRawData = AmClusterRawData.Allocate(num);
                num2             = ClusapiMethods.ClusterNodeControl(this.Handle, IntPtr.Zero, code, IntPtr.Zero, 0U, amClusterRawData.Buffer, num, out num);
            }
            if (num2 != 0)
            {
                amClusterRawData.Dispose();
                throw AmExceptionHelper.ConstructClusterApiException(num2, "ClusterNodeControl(controlcode={0})", new object[]
                {
                    code
                });
            }
            return(amClusterRawData);
        }
예제 #2
0
 internal static extern int ClusterNodeControl([In] AmClusterNodeHandle hNode, [In] IntPtr hHostNode, [In] AmClusterNodeControlCode controlCode, [In] IntPtr inBuffer, [In] uint inBufferSize, [Out] IntPtr outBuffer, [In] uint outBufferSize, out uint bytesReturned);