Função NetShareCheck (lmshare.h)
Verifica se um servidor está ou não compartilhando um dispositivo.
Sintaxe
NET_API_STATUS NET_API_FUNCTION NetShareCheck(
[in] LMSTR servername,
[in] LMSTR device,
[out] LPDWORD type
);
Parâmetros
[in] servername
Ponteiro para uma cadeia de caracteres que especifica o nome DNS ou NetBIOS do servidor remoto no qual a função deve ser executada. Se esse parâmetro for NULL, o computador local será usado.
[in] device
Ponteiro para uma cadeia de caracteres que especifica o nome do dispositivo a ser marcar para acesso compartilhado.
[out] type
Ponteiro para uma variável que recebe uma máscara de bits de sinalizadores que especificam o tipo do dispositivo compartilhado. Esse parâmetro será definido somente se a função retornar com êxito.
Um dos sinalizadores a seguir pode ser especificado.
Valor | Significado |
---|---|
|
Unidade de disco. |
|
Fila de impressão. |
|
Dispositivo de comunicação. |
|
Comunicação entre processos (IPC). |
Além disso, um ou ambos os sinalizadores a seguir podem ser especificados.
Valor | Significado |
---|---|
|
Compartilhamento especial reservado para comunicação entre processos (IPC$) ou administração remota do servidor (ADMIN$). Também pode se referir a compartilhamentos administrativos como C$, D$, E$e assim por diante. Para obter mais informações, consulte Funções de compartilhamento de rede. |
|
Um compartilhamento temporário. |
Valor retornado
Se a função for bem-sucedida, o valor retornado será NERR_Success.
Se a função falhar, o valor retornado poderá ser um dos códigos de erro a seguir.
Código de retorno | Descrição |
---|---|
|
Memória insuficiente disponível. |
|
O dispositivo não é compartilhado. |
Comentários
Essa função se aplica somente a compartilhamentos SMB (Server Message Block). Para outros tipos de compartilhamentos, como DFS (Sistema de Arquivos Distribuído) ou compartilhamentos WebDAV, use funções WNet (Windows Networking), que dão suporte a todos os tipos de compartilhamentos.
Nenhuma associação de grupo especial é necessária para executar com êxito a função NetShareCheck .
Se você estiver programando para o Active Directory, poderá chamar determinados métodos ADSI (Active Directory Service Interface) para obter a mesma funcionalidade que você pode obter chamando as funções de compartilhamento de gerenciamento de rede. Para obter mais informações, consulte IADsFileShare.
Exemplos
O exemplo de código a seguir demonstra como marcar se um servidor está compartilhando um dispositivo, usando uma chamada para a função NetShareCheck. A função retorna o tipo de dispositivo que está sendo compartilhado, conforme descrito na documentação anterior para o parâmetro de tipo .
#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <lm.h>
#pragma comment(lib, "Netapi32.lib")
void wmain( int argc, TCHAR *argv[ ])
{
NET_API_STATUS res;
DWORD devType = 0;
if(argc<3)
printf("Usage: NetShareCheck server device\n");
else
{
//
// Call the NetShareCheck function.
//
res=NetShareCheck(argv[1], argv[2], &devType);
//
// If the function succeeds, inform the user.
//
if(res==0)
printf("Device is shared as type %u.\n",devType);
//
// Otherwise, print the error.
//
else
printf("Error: %u\n", res);
}
return;
}
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | lmshare.h (inclua Lm.h) |
Biblioteca | Netapi32.lib |
DLL | Netapi32.dll |
Confira também
Funções de gerenciamento de rede