internal static extern AmClusNetworkEnumHandle ClusterNetworkOpenEnum([In] AmClusterNetworkHandle hCluster, [In] AmClusterNetworkEnum dwType);
internal static extern int ClusterNetworkEnum([In] AmClusNetworkEnumHandle hEnum, [In] int dwIndex, out AmClusterNetworkEnum lpdwType, [Out] StringBuilder pName, [In][Out] ref int count);
// Token: 0x060001BC RID: 444 RVA: 0x00008370 File Offset: 0x00006570 private static IEnumerable <string> EnumerateObjects(AmClusterNetworkHandle handle, AmClusterNetworkEnum objectType) { new List <string>(16); using (AmClusNetworkEnumHandle enumHandle = ClusapiMethods.ClusterNetworkOpenEnum(handle, objectType)) { if (enumHandle.IsInvalid) { int lastWin32Error = Marshal.GetLastWin32Error(); throw AmExceptionHelper.ConstructClusterApiException(lastWin32Error, "ClusterOpenNetworkEnum(objecttype={0})", new object[] { objectType }); } int entryIndex = 0; int objectNameLen = 256; StringBuilder objectNameBuffer = new StringBuilder(objectNameLen); int errorCode; for (;;) { objectNameLen = objectNameBuffer.Capacity; AmClusterNetworkEnum objectTypeRetrived; errorCode = ClusapiMethods.ClusterNetworkEnum(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, "ClusterNetworkEnum()", new object[0]); IL_171 :; } yield break; }