Función NetShareCheck (lmshare.h)
Comprueba si un servidor comparte o no un dispositivo.
Sintaxis
NET_API_STATUS NET_API_FUNCTION NetShareCheck(
[in] LMSTR servername,
[in] LMSTR device,
[out] LPDWORD type
);
Parámetros
[in] servername
Puntero a una cadena que especifica el nombre DNS o NetBIOS del servidor remoto en el que se va a ejecutar la función. Si este parámetro es NULL, se usa el equipo local.
[in] device
Puntero a una cadena que especifica el nombre del dispositivo para comprobar el acceso compartido.
[out] type
Puntero a una variable que recibe una máscara de bits de marcas que especifican el tipo del dispositivo compartido. Este parámetro solo se establece si la función devuelve correctamente.
Se puede especificar una de las marcas siguientes.
Valor | Significado |
---|---|
|
Unidad de disco. |
|
Cola de impresión. |
|
Dispositivo de comunicación. |
|
Comunicación entre procesos (IPC). |
Además, se puede especificar una o ambas marcas siguientes.
Valor | Significado |
---|---|
|
Recurso compartido especial reservado para la comunicación entre procesos (IPC$) o la administración remota del servidor (ADMIN$). También puede hacer referencia a recursos compartidos administrativos como C$, D$, E$, etc. Para obtener más información, consulte Funciones de recurso compartido de red. |
|
Un recurso compartido temporal. |
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es NERR_Success.
Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
No hay suficiente memoria disponible. |
|
El dispositivo no se comparte. |
Comentarios
Esta función solo se aplica a los recursos compartidos del bloque de mensajes del servidor (SMB). Para otros tipos de recursos compartidos, como sistemas de archivos distribuidos (DFS) o recursos compartidos de WebDAV, use funciones de Redes de Windows (WNet), que admiten todos los tipos de recursos compartidos.
No se requiere ninguna pertenencia especial a grupos para ejecutar correctamente la función NetShareCheck .
Si está programando para Active Directory, puede llamar a determinados métodos de interfaz de servicio de Active Directory (ADSI) para lograr la misma funcionalidad que puede lograr llamando a las funciones de recurso compartido de administración de red. Para obtener más información, vea IADsFileShare.
Ejemplos
En el ejemplo de código siguiente se muestra cómo comprobar si un servidor comparte un dispositivo mediante una llamada a la función NetShareCheck . La función devuelve el tipo de dispositivo que se comparte, tal como se describe en la documentación anterior para el parámetro type .
#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 compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | lmshare.h (include Lm.h) |
Library | Netapi32.lib |
Archivo DLL | Netapi32.dll |
Consulte también
Funciones de administración de redes