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 構造体では、コンテナー リソースを指定する必要があります。つまり、dwUsage パラメーターでRESOURCEUSAGE_CONTAINER値を指定する必要があります。

すべてのネットワーク リソースを列挙するために、アプリケーションは 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 を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winnetwk.h
Library Mpr.lib
[DLL] Mpr.dll

こちらもご覧ください

NETRESOURCE

WNetCloseEnum

WNetEnumResource

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

Windows ネットワーク関数