Compartilhar via


Função ClusterEnum (clusapi.h)

Enumera os objetos de cluster em um cluster, retornando o nome de um objeto com cada chamada. O tipo PCLUSAPI_CLUSTER_ENUM define um ponteiro para essa função.

Sintaxe

DWORD ClusterEnum(
  [in]      HCLUSENUM hEnum,
  [in]      DWORD     dwIndex,
  [out]     LPDWORD   lpdwType,
  [out]     LPWSTR    lpszName,
  [in, out] LPDWORD   lpcchName
);

Parâmetros

[in] hEnum

Um identificador de enumeração de cluster retornado pela função ClusterOpenEnum .

[in] dwIndex

O índice usado para identificar a próxima entrada a ser enumerada. Esse parâmetro deve ser zero para a primeira chamada para ClusterEnum e, em seguida, incrementado para chamadas subsequentes.

[out] lpdwType

Um ponteiro para o tipo de objeto retornado. Um dos valores a seguir da enumeração CLUSTER_ENUM é retornado com cada chamada.

CLUSTER_ENUM_NODE (1 (0x1))

Enumera os nós no cluster.

CLUSTER_ENUM_RESTYPE (2 (0x2))

Enumera os tipos de recursos no cluster.

CLUSTER_ENUM_RESOURCE (4 (0x4))

Enumera os recursos no cluster.

CLUSTER_ENUM_GROUP (8 (0x8))

Enumera os grupos no cluster.

CLUSTER_ENUM_NETWORK (16 (0x10))

Enumera as redes no cluster.

CLUSTER_ENUM_NETINTERFACE (32 (0x20))

Enumera os adaptadores de rede no cluster.

CLUSTER_ENUM_SHARED_VOLUME_RESOURCE (1073741824 (0x40000000))

Enumera os volumes compartilhados do cluster usados pelo cluster.

Nota Ao contrário da maioria das outras máscaras de bits de enumeração, esse valor deve ser usado sozinho. Não use o operador OR para combiná-lo com outras máscaras de bits.
 
Windows Server 2008: Não suporte para o valor CLUSTER_ENUM_SHARED_VOLUME_RESOURCE antes do Windows Server 2008 R2.

CLUSTER_ENUM_INTERNAL_NETWORK (2147483648 (0x80000000))

Enumera as redes usadas pelo cluster para comunicação interna. As redes são enumeradas em ordem de prioridade mais alta a mais baixa, conforme estabelecido pela função SetClusterNetworkPriorityOrder .

Nota Ao contrário da maioria das outras máscaras de bits de enumeração, esse valor deve ser usado sozinho. Não use o operador OR para combiná-lo com outras máscaras de bits.
 

CLUSTER_ENUM_ALL ((CLUSTER_ENUM_NODE | CLUSTER_ENUM_RESTYPE | CLUSTER_ENUM_RESOURCE | CLUSTER_ENUM_GROUP | CLUSTER_ENUM_NETWORK | CLUSTER_ENUM_NETINTERFACE))

Enumera todos os objetos de cluster.

[out] lpszName

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o nome do objeto retornado.

[in, out] lpcchName

Um ponteiro para o tamanho do buffer lpszName como uma contagem de caracteres. Na entrada, especifique o número máximo de caracteres que o buffer pode conter, incluindo o NULL de terminação. Na saída, especifica o número de caracteres no nome resultante, excluindo o NULL de terminação.

Valor retornado

A função retorna um dos valores a seguir.

Valor/código retornado Descrição
ERROR_SUCCESS
0
A operação foi concluída com sucesso.
ERROR_NO_MORE_ITEMS
259 (0x103)
Não existem mais dados disponíveis. Esse valor será retornado se não houver mais objetos do tipo solicitado a serem retornados.
ERROR_MORE_DATA
234 (0xEA)
Mais dados disponíveis. Esse valor será retornado se o buffer apontado por lpszName não for grande o suficiente para manter o resultado. O parâmetro lpcchName retorna o número de caracteres no resultado, excluindo o NULL de terminação.

Comentários

A função ClusterEnum normalmente é usada para iterar por meio de uma coleção de objetos de cluster de um ou mais tipos. Se, por exemplo, um aplicativo quiser enumerar todos os nós em um cluster, ele chamará ClusterOpenEnum para abrir um enumerador de cluster que pode processar nós. O parâmetro dwType é definido como CLUSTER_ENUM_NODE para especificar nós como o tipo de objeto a ser enumerado. Se o aplicativo enumerar grupos além de nós, o parâmetro dwType será definido CLUSTER_ENUM_NODE | CLUSTER_ENUM_GROUPcomo . Com o identificador retornado por ClusterOpenEnum , o aplicativo chama ClusterEnum repetidamente para recuperar cada um dos objetos. O parâmetro lpdwType aponta para o tipo de objeto recuperado.

Observe que lpcchName refere-se a uma contagem de caracteres e não a uma contagem de bytes e que o tamanho retornado não inclui o NULL de terminação na contagem. Para obter mais informações sobre o dimensionamento de buffers, consulte Convenções de tamanho de dados.

Exemplos

Consulte Enumerando objetos.

Requisitos

   
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
Plataforma de Destino Windows
Cabeçalho clusapi.h
Biblioteca ClusAPI.lib
DLL ClusAPI.dll

Confira também

ClusterCloseEnum

ClusterOpenEnum

SetClusterNetworkPriorityOrder