次の方法で共有


WNetOpenEnumA 関数 (winnetwk.h)

WNetOpenEnum 関数は、ネットワーク リソースまたは既存の接続の列挙を開始します。 WNetEnumResource 関数を呼び出すことで、列挙を続行できます。

構文

DWORD WNetOpenEnumA(
  [in]  DWORD          dwScope,
  [in]  DWORD          dwType,
  [in]  DWORD          dwUsage,
  [in]  LPNETRESOURCEA lpNetResource,
  [out] LPHANDLE       lphEnum
);

パラメーター

[in] dwScope

列挙のスコープ。 このパラメーターには、次のいずれかの値を指定できます。

価値 意味
RESOURCE_CONNECTED
現在接続されているすべてのリソースを列挙します。 この関数は、dwUsage パラメーターを無視します。 詳細については、次の「解説」セクションを参照してください。
RESOURCE_CONTEXT
呼び出し元のネットワーク コンテキスト内のリソースのみを列挙します。 [ネットワーク近隣] ビューにこの値を指定します。 この関数は、dwUsage パラメーターを無視します。
RESOURCE_GLOBALNET
ネットワーク上のすべてのリソースを列挙します。
RESOURCE_REMEMBERED
記憶されているすべての (永続的な) 接続を列挙します。 この関数は、dwUsage パラメーターを無視します。

[in] dwType

列挙するリソースの種類。 このパラメーターには、次の値の組み合わせを指定できます。

価値 意味
RESOURCETYPE_ANY
すべてのリソース。 この値をRESOURCETYPE_DISKまたはRESOURCETYPE_PRINTと組み合わせることはできません。
RESOURCETYPE_DISK
すべてのディスク リソース。
RESOURCETYPE_PRINT
すべての印刷リソース。
 

ネットワーク プロバイダーが印刷リソースとディスク リソースを区別できない場合は、すべてのリソースを列挙できます。

[in] dwUsage

列挙するリソース使用量の種類。 このパラメーターには、次の値の組み合わせを指定できます。

価値 意味
0
すべてのリソース。
RESOURCEUSAGE_CONNECTABLE
接続可能なすべてのリソース。
RESOURCEUSAGE_CONTAINER
すべてのコンテナー リソース。
RESOURCEUSAGE_ATTACHED
この値を設定すると、ユーザー 認証されていない場合、WNetOpenEnum が強制的に失敗します。 ネットワークで認証なしの列挙が許可されている場合でも、この関数は失敗します。
RESOURCEUSAGE_ALL
この値の設定は、RESOURCEUSAGE_CONNECTABLE、RESOURCEUSAGE_CONTAINER、およびRESOURCEUSAGE_ATTACHEDの設定と同じです。
 

dwScope パラメーターがRESOURCE_GLOBALNETと等しい場合を除き、このパラメーターは無視されます。 詳細については、次の「解説」セクションを参照してください。

[in] lpNetResource

列挙するコンテナーを指定する NETRESOURCE 構造体へのポインター。 dwScope パラメーターがRESOURCE_GLOBALNETされていない場合、このパラメーターは NULLする必要があります。

このパラメーターが NULL場合は、ネットワークのルートが想定されます。 (システムはネットワークを階層として編成します。ルートはネットワークの最上位のコンテナーです)。

このパラメーターが NULLでない場合は、NETRESOURCE 構造体を指す必要があります。 この構造体は、アプリケーションによって入力することも、WNetEnumResource 関数の呼び出しによって返される場合もあります。 NETRESOURCE 構造体では、コンテナー リソースを指定する必要があります。つまり、RESOURCEUSAGE_CONTAINER値は、dwUsage パラメーターで指定する必要があります。

すべてのネットワーク リソースを列挙するには、lpNetResource パラメーターを nullに 設定 WNetOpenEnum を呼び出し、返されたハンドルを使用して WNetEnumResource 呼び出してリソースを列挙します。 WNetEnumResource 関数によって返される NETRESOURCE 配列内のリソースの 1 つがコンテナー リソースである場合は、WNetOpenEnum を呼び出して、さらに列挙するためにリソースを開くことができます。

[out] lphEnum

WNetEnumResourceへの後続の呼び出しで使用できる列挙ハンドルへのポインター

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が失敗した場合、戻り値は システム エラー コード(次のいずれかの値など) です。

リターン コード 形容
ERROR_NOT_CONTAINER
lpNetResource パラメーターはコンテナーを指していません。
ERROR_INVALID_PARAMETER
dwScope または dwType パラメーターが無効であるか、パラメーターの組み合わせが無効です。
ERROR_NO_NETWORK
ネットワークは使用できません。
ERROR_EXTENDED_ERROR
ネットワーク固有のエラーが発生しました。 エラーの説明を取得するには、WNetGetLastError 関数を呼び出します。
ERROR_INVALID_ADDRESS
NETRESOURCE 構造体で指定されたリモート ネットワーク リソース名が無効なネットワーク アドレスに解決されました。

備考

dwScope パラメーターが RESOURCE_CONNECTED と等しい場合、WNetOpenEnum 関数を呼び出すアプリケーションとは異なるログオン セッションで実行されているアプリケーションによって接続が行われた場合、Microsoft LAN Manager ネットワークを使用して行われたネットワーク接続は列挙から省略されます。 これは、Microsoft LAN Manager を使用して行われた接続は、接続を行ったアプリケーションと同じログオン セッションで実行されているアプリケーションにのみ表示されるためです。 (接続を列挙に含めるには、接続を作成したユーザー アカウントでアプリケーションを実行するだけでは不十分です)。

dwScope パラメーターでのRESOURCE_CONTEXTの正確な解釈は、コンピューターにインストールされているネットワークによって異なります。

WNetOpenEnum 関数は、1 つのコンテナー内のリソースの列挙を開始するために使用されます。 次の例は、Microsoft LAN Manager ネットワークと Novell NetWare ネットワークの階層構造を示し、コンテナーを識別します。

LanMan (container, in this case the provider) 
  ACCOUNTING (container, in this case the domain) 
    \\ACCTSPAY (container, in this case the server) 
      PAYFILES (disk) 
      LASERJET (print) 
 
NetWare (container, in this case the provider) 
  MARKETING (container, in this case the server) 
    SYS (disk, first one on any NetWare server) 
    ANOTHERVOLUME (disk) 
    LASERJET (print) 

ネットワーク上のすべてのリソースを列挙するアプリケーション定義関数を示すコード サンプルについては、「ネットワーク リソースの列挙参照してください。

手記

winnetwk.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WNetOpenEnum を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winnetwk.h
ライブラリ Mpr.lib
DLL Mpr.dll

関連項目

NETRESOURCE の

WNetCloseEnum の

WNetEnumResource の

Windows ネットワーク (WNet) の概要

Windows ネットワーク機能の