Função WNetOpenEnumA (winnetwk.h)
A função WNetOpenEnum inicia uma enumeração de recursos de rede ou conexões existentes. Você pode continuar a enumeração chamando a função WNetEnumResource .
Sintaxe
DWORD WNetOpenEnumA(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEA lpNetResource,
[out] LPHANDLE lphEnum
);
Parâmetros
[in] dwScope
Escopo da enumeração. Esse parâmetro pode usar um dos valores a seguir.
[in] dwType
Tipos de recursos a serem enumerados. Esse parâmetro pode ser uma combinação dos seguintes valores.
Se um provedor de rede não puder distinguir entre recursos de impressão e disco, ele poderá enumerar todos os recursos.
[in] dwUsage
Tipo de uso de recurso a ser enumerado. Esse parâmetro pode ser uma combinação dos seguintes valores.
Esse parâmetro é ignorado, a menos que o parâmetro dwScope seja igual a RESOURCE_GLOBALNET. Para obter mais informações, consulte a seção Comentários a seguir.
[in] lpNetResource
Ponteiro para uma estrutura NETRESOURCE que especifica o contêiner a ser enumerado. Se o parâmetro dwScope não for RESOURCE_GLOBALNET, esse parâmetro deverá ser NULL.
Se esse parâmetro for NULL, a raiz da rede será assumida. (O sistema organiza uma rede como uma hierarquia; a raiz é o contêiner mais alto da rede.)
Se esse parâmetro não for NULL, ele deverá apontar para uma estrutura NETRESOURCE . Essa estrutura pode ser preenchida pelo aplicativo ou pode ser retornada por uma chamada para a função WNetEnumResource . A estrutura NETRESOURCE deve especificar um recurso de contêiner; ou seja, o valor RESOURCEUSAGE_CONTAINER deve ser especificado no parâmetro dwUsage .
Para enumerar todos os recursos de rede, um aplicativo pode iniciar a enumeração chamando WNetOpenEnum com o parâmetro lpNetResource definido como NULL e, em seguida, usar o identificador retornado para chamar WNetEnumResource para enumerar recursos. Se um dos recursos na matriz NETRESOURCE retornado pela função WNetEnumResource for um recurso de contêiner, você poderá chamar WNetOpenEnum para abrir o recurso para enumeração adicional.
[out] lphEnum
Ponteiro para um identificador de enumeração que pode ser usado em uma chamada subsequente para WNetEnumResource.
Retornar valor
Se a função for bem-sucedida, o valor retornado será NO_ERROR.
Se a função falhar, o valor retornado será um código de erro do sistema, como um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
O parâmetro lpNetResource não aponta para um contêiner. |
|
O dwScope ou o parâmetro dwType são inválidos ou há uma combinação inválida de parâmetros. |
|
A rede não está disponível. |
|
Ocorreu um erro específico da rede. Para obter uma descrição do erro, chame a função WNetGetLastError . |
|
Um nome de recurso de rede remota fornecido na estrutura NETRESOURCE resolvido para um endereço de rede inválido. |
Comentários
Se o parâmetro dwScope for igual a RESOURCE_CONNECTED, uma conexão de rede feita usando a rede do Microsoft LAN Manager será omitida da enumeração se a conexão tiver sido feita por um aplicativo em execução em uma sessão de logon diferente do aplicativo que chama a função WNetOpenEnum . Isso ocorre porque as conexões feitas usando o Microsoft LAN Manager são visíveis apenas para aplicativos em execução na mesma sessão de logon que o aplicativo que fez a conexão. (Para incluir a conexão na enumeração, não é suficiente que o aplicativo esteja em execução na conta de usuário que criou a conexão.)
A interpretação exata de RESOURCE_CONTEXT no parâmetro dwScope depende das redes instaladas no computador.
A função WNetOpenEnum é usada para iniciar a enumeração dos recursos em um único contêiner. Os exemplos a seguir mostram a estrutura hierárquica de uma rede do Microsoft LAN Manager e uma rede Novell NetWare e identificam os contêineres.
LanMan (container, in this case the provider)
ACCOUNTING (container, in this case the domain)
\\ACCTSPAY (container, in this case the server)
PAYFILES (disk)
LASERJET (print)
NetWare (container, in this case the provider)
MARKETING (container, in this case the server)
SYS (disk, first one on any NetWare server)
ANOTHERVOLUME (disk)
LASERJET (print)
Exemplos
Para obter um exemplo de código que ilustra uma função definida pelo aplicativo que enumera todos os recursos em uma rede, consulte Enumerando Recursos de Rede.
Observação
O cabeçalho winnetwk.h define WNetOpenEnum como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winnetwk.h |
Biblioteca | Mpr.lib |
DLL | Mpr.dll |