Функция NetShareCheck (lmshare.h)
Проверяет, предоставляет ли сервер общий доступ к устройству.
Синтаксис
NET_API_STATUS NET_API_FUNCTION NetShareCheck(
[in] LMSTR servername,
[in] LMSTR device,
[out] LPDWORD type
);
Параметры
[in] servername
Указатель на строку, указывающую DNS- или NetBIOS-имя удаленного сервера, на котором выполняется функция. Если этот параметр имеет значение NULL, используется локальный компьютер.
[in] device
Указатель на строку, указывающую имя устройства, проверка для общего доступа.
[out] type
Указатель на переменную, получающую битовую маску флагов, указывающих тип общего устройства. Этот параметр задается только в том случае, если функция возвращает успешно.
Можно указать один из следующих флагов.
Значение | Значение |
---|---|
|
Дисковый накопитель. |
|
Очередь печати. |
|
Устройство связи. |
|
Межпроцессная связь (IPC). |
Кроме того, можно указать один или оба следующих флага.
Значение | Значение |
---|---|
|
Специальный общий ресурс, зарезервированный для межпроцессного взаимодействия (IPC$) или удаленного администрирования сервера (ADMIN$). Также может ссылаться на административные общие папки, такие как C$, D$, E$и т. д. Дополнительные сведения см. в разделе Функции общего сетевого ресурса. |
|
Временная общая папка. |
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NERR_Success.
Если функция завершается ошибкой, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Недостаточно памяти. |
|
Устройство не является общим. |
Комментарии
Эта функция применяется только к общим папкам SMB. Для других типов общих папок, таких как распределенная файловая система (DFS) или общие папки WebDAV, используйте функции windows Networking (WNet), которые поддерживают все типы общих папок.
Для успешного выполнения функции NetShareCheck не требуется специальное членство в группе.
При программировании для Active Directory вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI), чтобы достичь тех же функций, которые можно достичь, вызвав функции общего доступа для управления сетью. Дополнительные сведения см. в разделе IADsFileShare.
Примеры
В следующем примере кода показано, как проверка, предоставляет ли сервер общий доступ к устройству, с помощью вызова функции NetShareCheck. Функция возвращает тип совместно используемого устройства, как описано в предыдущей документации для параметра типа .
#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;
}
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | lmshare.h (включая Lm.h) |
Библиотека | Netapi32.lib |
DLL | Netapi32.dll |