如何删除默认共享

大山里的松 2003-06-02 09:33:32
NetShareDel函数可以删除一般的共享
但是删除默认共享的时侯出错
如何实现删除默认共享

-------------------------------------
NetShareDel(NULL,"C$",0)
返回的是NERR_NetNameNotFound
-------------------------------------
...全文
207 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxedge 2003-06-05
  • 打赏
  • 举报
回复
我用你的代码编译不过,
我把
#include "stdafx.h"
删除后编译运行都正常了.

你检查一下你的stdafx.h
是否有问题.
大山里的松 2003-06-05
  • 打赏
  • 举报
回复
up
大山里的松 2003-06-04
  • 打赏
  • 举报
回复
to xxedge(好钢用在刀刃上)
你的代码我是过了可以

但是
我的代码为什么不行
#define UNICODE
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "lm.h"
#include "lmshare.h"
#include "iostream.h"

int main(int argc, char* argv[])
{
NET_API_STATUS result;
result=NetShareDel(NULL,L"C$",0);
//NetShareDel(NULL,"c$",0);
printf("%.*",result);
if (result==NERR_Success)
{
printf("Delete successful!\n");
}
else if (result==ERROR_ACCESS_DENIED)
{
printf ("ERROR_ACCESS_DENIED\n");
}
else if (result==ERROR_INVALID_PARAMETER)
{
printf("ERROR_INVALID_PARAMETER\n");
}
else if(result==ERROR_NOT_ENOUGH_MEMORY)
{
printf("ERROR_NOT_ENOUGH_MEMORY\n");
}
else if(result==NERR_NetNameNotFound)
{
printf("NERR_NetNameNotFound\n");
}
return 0;
}
xxedge 2003-06-04
  • 打赏
  • 举报
回复
在程序最前面需要加上
#define UNICODE

以下是程序例子:
#define UNICODE
#include <windows.h>
#include <stdio.h>
#include <lm.h>

void wmain( int argc, TCHAR *lpszArgv[ ])
{
NET_API_STATUS res;
LPTSTR lpszServer = NULL;
res=NetShareDel(lpszServer,L"C$",0);

if(res==0)
printf("Share Removed.\n");
else
printf("Error: %u\n", res);
}

fhqiplj 2003-06-03
  • 打赏
  • 举报
回复
修改注册表
xxedge 2003-06-03
  • 打赏
  • 举报
回复
参考MSDN中NetShareDel的说明,第二个参数应该是Wchar,
所以使用以下程序即可.
NetShareDel(NULL,L"C$",0);

下面是试验的结果:
-------------------------------
res=NetShareDel(NULL,"C$",0);
if(res==0)
printf("Share Removed.\n");
else
printf("Error: %u\n", res);
-------------------------------
result:
Error: 2310
将第一行程序修改为
res=NetShareDel(NULL,L"C$",0);
即可正常显示:
result:
Share Removed.



大山里的松 2003-06-03
  • 打赏
  • 举报
回复
我不是想功过改注册表的方法
有没有用调用函数的方法实现
NowCan 2003-06-03
  • 打赏
  • 举报
回复
5) 禁止C$、D$一类的缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
AutoShareServer、REG_DWORD、0x0

6) 禁止ADMIN$缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

AutoShareWks、REG_DWORD、0x0

7) 限制IPC$缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

restrictanonymous REG_DWORD 0x0 缺省
0x1 匿名用户无法列举本机用户列表
0x2 匿名用户无法连接本机IPC$共享
说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server
NowCan 2003-06-03
  • 打赏
  • 举报
回复
重启后有出来了,没什么意思。还是改注册表最好。
5) 禁止C$、D$一类的缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
AutoShareServer、REG_DWORD、0x0

6) 禁止ADMIN$缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

AutoShareWks、REG_DWORD、0x0

7) 限制IPC$缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

restrictanonymous REG_DWORD 0x0 缺省
0x1 匿名用户无法列举本机用户列表
0x2 匿名用户无法连接本机IPC$共享
说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server
大山里的松 2003-06-03
  • 打赏
  • 举报
回复
to xxedge(好钢用在刀刃上)
在我的机器上运行
出错
加上L就出错
guoyin 2003-06-02
  • 打赏
  • 举报
回复
呵呵,那让我们一起期待高手到来了。
大山里的松 2003-06-02
  • 打赏
  • 举报
回复
加上$也没用的
我早已经试过了
guoyin 2003-06-02
  • 打赏
  • 举报
回复
也可以通过在共享名后面加上$也可以实现呀!
大山里的松 2003-06-02
  • 打赏
  • 举报
回复
to guoyin(Owen.Guo)
98下面好像没有默认共享

ps;运行平台nt/2k/xp
guoyin 2003-06-02
  • 打赏
  • 举报
回复
98下面可以正确删除呀!不过共享的名字是区分大小写的。
guoyin 2003-06-02
  • 打赏
  • 举报
回复
gz

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧