Как создать специальную шару - Communication device?
От: cinco  
Дата: 27.05.05 20:06
Оценка:
Не понятно, почему такой код не работает? Выдается ошибка в параметре.
Возможно, требуется как-то по другому указать локальный путь — p.shi502_path?
Удается создать только шары типа диск, принтер, IPC и SPECIAL.

Совсем не ясно, что такое COMMUNICATION DEVICE и TEMPORARY SHARE?
Очень нужно узнать, для чего нужны эти 2 типа ресурсов, как их создать или увидеть на машине?

#define UNICODE
#include <windows.h>
#include <stdio.h>
#include <lm.h>

void wmain( int argc, TCHAR *argv[ ])
{
NET_API_STATUS res;
SHARE_INFO_502 p;
DWORD parm_err = 0;

if(argc<2)
printf("Usage: makeshare server_name\n");
else
{
// Create share of type Communication device
p.shi502_netname = (LPSTR)TEXT("MyDevice");
p.shi502_type = STYPE_DEVICE;
p.shi502_remark = (LPSTR)TEXT("Communication device");
p.shi502_permissions = 0;
p.shi502_max_uses = 5;
p.shi502_current_uses = 0;
// Choose device from program winobj.exe
p.shi502_path = (LPSTR)TEXT("\\\\.\\Device\\ltmodem0");
p.shi502_passwd = NULL;
p.shi502_security_descriptor = NULL;

res=NetShareAdd((LPSTR)argv[1], 502, (LPBYTE) &p, &parm_err);

if(res==0)
printf("Share %S succesfully created.\n", p.shi502_netname);

else
printf("Error: %u\tparm_err=%u\n", res, parm_err);

} // end of else

return;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.