// Token: 0x060001CB RID: 459 RVA: 0x000086DD File Offset: 0x000068DD internal AmClusterNode(AmServerName nodeName, IAmCluster owningCluster, AmClusterNodeHandle nodeHandle) { this.m_disposeTracker = this.GetDisposeTracker(); this.Name = nodeName; this.OwningCluster = owningCluster; this.Handle = nodeHandle; }
// Token: 0x060001E4 RID: 484 RVA: 0x00008CF0 File Offset: 0x00006EF0 private static IEnumerable <string> EnumerateObjects(AmClusterNodeHandle handle, AmClusterNodeEnum objectType) { new List <string>(16); using (AmClusNodeEnumHandle enumHandle = ClusapiMethods.ClusterNodeOpenEnum(handle, objectType)) { if (enumHandle.IsInvalid) { int lastWin32Error = Marshal.GetLastWin32Error(); throw AmExceptionHelper.ConstructClusterApiException(lastWin32Error, "ClusterOpenNodeEnum(objecttype={0})", new object[] { objectType }); } int entryIndex = 0; int objectNameLen = 256; StringBuilder objectNameBuffer = new StringBuilder(objectNameLen); int errorCode; for (;;) { objectNameLen = objectNameBuffer.Capacity; AmClusterNodeEnum objectTypeRetrived; errorCode = ClusapiMethods.ClusterNodeEnum(enumHandle, entryIndex, out objectTypeRetrived, objectNameBuffer, ref objectNameLen); if (errorCode == 259) { goto IL_171; } if (errorCode == 234) { objectNameBuffer.EnsureCapacity(objectNameLen); } else { if (errorCode != 0) { break; } if (objectTypeRetrived == objectType) { yield return(objectNameBuffer.ToString()); } entryIndex++; } } throw AmExceptionHelper.ConstructClusterApiException(errorCode, "ClusterNodeEnum()", new object[0]); IL_171 :; } yield break; }
internal static extern AmClusNodeEnumHandle ClusterNodeOpenEnum([In] AmClusterNodeHandle hCluster, [In] AmClusterNodeEnum dwType);
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);
internal static extern uint EvictClusterNodeEx([In] AmClusterNodeHandle hNode, [In] uint dwTimeOut, out int phrCleanupStatus);
internal static extern AmNodeState GetClusterNodeState([In] AmClusterNodeHandle hNode);
internal static extern uint MoveClusterGroup(AmClusterGroupHandle hGroup, AmClusterNodeHandle hDestinationNode);
internal static extern uint RemoveClusterResourceNode([In] AmClusterResourceHandle hResource, [In] AmClusterNodeHandle hNode);