ネットワーク共有関数

ネットワーク共有関数は、共有リソースを制御します。 共有リソースは、ネットワーク上のユーザーとアプリケーションからアクセスできるサーバー上のローカル リソース (ディスク ディレクトリ、印刷デバイス、名前付きパイプなど) です。

共有関数の一覧を次に示します。

機能 説明
NetShareAdd サーバー上のリソースを共有します。
NetShareCheck サーバーがデバイスを共有しているかどうかを照会します。
NetShareDel サーバーの共有リソースの一覧から共有名を削除します。
NetShareEnum サーバー上の各共有リソースに関する共有情報を取得します。
NetShareGetInfo サーバー上の指定された共有リソースに関する情報を取得します。
NetShareSetInfo 共有リソースのパラメーターを設定します。

 

NetShareAdd 関数を使用すると、ユーザーまたはアプリケーションは、指定した共有名を使用して特定の種類のリソースを共有できます。 NetShareAdd 関数では、リソースを共有するために共有名とローカル デバイス名が必要です。 リソースにアクセスするには、ユーザーまたはアプリケーションにサーバー上のアカウントが必要です。

共有に関連付けるセキュリティ記述子を指定することもできます。 セキュリティ記述子は、共有を介してファイルにアクセスできるユーザーと、アクセスの種類を指定します。 NetShareAdd または NetShareSetInfo を呼び出すときに、SHARE_INFO_502情報レベルでSECURITY_DESCRIPTORを指定します。 NetShareSetInfo ではSHARE_INFO_1501 情報レベルがサポートされます。 セキュリティ記述子の詳細については、「Access Control」を参照してください。

ネットワーク管理機能では、プロセス間通信 (IPC) とサーバーのリモート管理に、次の特殊な共有名が使用されます。

  • プロセス間通信用に予約された IPC$
  • ADMIN$ (リモート管理用に予約済み)
  • ローカル ディスク デバイスに割り当てられた A$、B$、C$ (およびその他のローカル ディスク名の後にドル記号が続く)

サーバー上の共有リソースに対して行われたすべての接続を一覧表示したり、特定のコンピューターから確立されたすべての接続を一覧表示したりするには、 NetConnectionEnum 関数を呼び出します。 NetConnectionEnum、CONNECTION_INFO_0およびCONNECTION_INFO_1情報レベルで呼び出すことができます。

共有機能は、次の情報レベルで使用できます。

SHARE_INFO_0
SHARE_INFO_1
SHARE_INFO_2
SHARE_INFO_501
SHARE_INFO_502
SHARE_INFO_1005

次の情報レベルは、 NetShareSetInfo でのみ有効です。

SHARE_INFO_1004
SHARE_INFO_1006
SHARE_INFO_1501

Active Directory のプログラミングを行っている場合は、特定の Active Directory サービス インターフェイス (ADSI) メソッドを呼び出して、ネットワーク管理共有関数を呼び出すことで実現できるのと同じ機能を実現できます。 詳細については、「 IADsFileShare」を参照してください。