Possible Duplicate:
Windows Folder Share API
我需要我的 C++ 应用程序偶尔创建共享目录。我正在使用 Embarcadero C++ Builder XE,它只有 CreateDir()
函数,无法指定共享访问。 Embarcadero C++ Builder 环境中是否有任何东西可以让我简单地执行此操作,或者是否有一种简单的方法可以直接使用 Windows API 执行此操作?我已经查看了 msdn 页面以查找允许我执行此操作的内容,但我还没有找到任何以清晰方式记录的内容。
编辑 具体来说,该文件夹及其内容需要可供网络上的所有其他计算机访问。
要在网络上共享目录,您需要先创建目录,然后告诉您的计算机在网络上共享它。创建目录本身与创建任何其他目录相同(即,CreateDir 应该可以正常工作)。
从那里,您需要共享目录。您使用 NetShareAdd
执行此操作.这是一段(非常简单但经过测试的)示例代码:
#include <windows.h>
#include <lm.h>
int main() {
SHARE_INFO_2 info = {0};
info.shi2_netname = L"test_share";
info.shi2_type = STYPE_DISKTREE;
info.shi2_permissions = ACCESS_ALL;
info.shi2_max_uses = -1;
info.shi2_path = L"C:\\local\\path";
NetShareAdd(NULL, 2, (BYTE *)&info, NULL);
return 0;
}