1

重複の可能性:
Windows フォルダー共有 API

ときどき共有ディレクトリを作成するには、C++ アプリケーションが必要です。CreateDir()共有アクセスを指定する方法がない関数しかない Embarcadero C++ Builder XE を使用しています。Embarcadero C++ Builder 環境内にこれを簡単に実行できるものはありますか、それとも、Windows API を使用して直接これを行う簡単な方法はありますか? これを可能にする何かについてmsdnページを調べましたが、明確な方法で文書化されたものをまだ見つけていません。

編集特に、フォルダーとその内容は、ネットワーク上の他のすべてのマシンからアクセスできる必要があります。

4

1 に答える 1

5

ネットワーク経由でディレクトリを共有するには、まずディレクトリを作成してから、ネットワーク経由で共有するようにコンピュータに指示する必要があります。ディレクトリ自体の作成は、他のディレクトリの作成と同じです (つまり、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;
}
于 2012-09-19T17:15:47.710 に答える