示例#1
0
 internal static extern AmClusResourceEnumHandle ClusterResourceOpenEnum([In] AmClusterResourceHandle hCluster, [In] AmClusterResourceEnum dwType);
示例#2
0
 internal static extern int ClusterResourceEnum([In] AmClusResourceEnumHandle hEnum, [In] int dwIndex, out AmClusterResourceEnum lpdwType, [Out] StringBuilder pName, [In][Out] ref int count);
示例#3
0
 // Token: 0x06000244 RID: 580 RVA: 0x0000AAA4 File Offset: 0x00008CA4
 private static IEnumerable <string> EnumerateObjects(AmClusterResourceHandle handle, AmClusterResourceEnum objectType)
 {
     new List <string>(16);
     using (AmClusResourceEnumHandle enumHandle = ClusapiMethods.ClusterResourceOpenEnum(handle, objectType))
     {
         if (enumHandle.IsInvalid)
         {
             int lastWin32Error = Marshal.GetLastWin32Error();
             throw AmExceptionHelper.ConstructClusterApiException(lastWin32Error, "ClusterOpenResourceEnum(objecttype={0})", new object[]
             {
                 objectType
             });
         }
         int           entryIndex       = 0;
         int           objectNameLen    = 256;
         StringBuilder objectNameBuffer = new StringBuilder(objectNameLen);
         int           errorCode;
         for (;;)
         {
             objectNameLen = objectNameBuffer.Capacity;
             AmClusterResourceEnum objectTypeRetrived;
             errorCode = ClusapiMethods.ClusterResourceEnum(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, "ClusterResourceEnum()", new object[0]);
         IL_171 :;
     }
     yield break;
 }