NetServerEnum 関数は、ドメイン内で可視の指定した種類のすべてのサーバーを一覧表示する。
NetServerEnum servername, level, bufptr, prefmaxlen, entriesread, totalentries, servertype, domain, resume_handle
servername : [wstr] 予約済み。NULL でなければならない。 level : [int] bufptr : [var] データを受け取るバッファへのポインタ。このデータの形式は level パラメータの値に依存する。このバッファはシステムによって割り当てられ、NetApiBufferFree 関数で解放しなければならない。関数が ERROR_MORE_DATA で失敗した場合でもバッファを解放する必要がある点に注意。 prefmaxlen : [int] 返されるデータの望ましい最大長 (バイト単位)。MAX_PREFERRED_LENGTH を指定すると、関数は必要な量のメモリを割り当てる。別の値を指定すると、関数が返すバイト数を制限できる。バッファサイズがすべてのエントリを保持するのに不十分な場合、関数は ERROR_MORE_DATA を返す。詳細は Network Management Function Buffers および Network Management Function Buffer Lengths を参照。 entriesread : [var] 実際に列挙された要素数を受け取る値へのポインタ。 totalentries : [var] ネットワーク上で可視のサーバーおよびワークステーションの総数を受け取る値へのポインタ。アプリケーションはこの値を目安としてのみ扱うべきである点に注意。 servertype : [int] domain : [wstr] サーバー一覧を返すドメインの名前を指定する定数文字列へのポインタ。ドメイン名は NetBIOS ドメイン名 (例: microsoft) でなければならない。NetServerEnum 関数は DNS 形式の名前 (例: microsoft.com) をサポートしない。このパラメータが NULL の場合、プライマリドメインが暗黙的に使われる。 resume_handle : [var] 予約済み。0 に設定する必要がある。
(プラグイン / モジュール : netapi32.dll)
NetServerEnum 関数は、ドメイン内で可視の指定した種類のすべてのサーバーを一覧表示する。 [戻り値] 関数が成功した場合、戻り値は NERR_Success となる。失敗した場合、戻り値は次のいずれかのエラーコードになる可能性がある。 (以下省略) [備考] NetServerEnum 関数は、ドメイン内で可視の指定した種類のすべてのサーバーを列挙するために使う。たとえばアプリケーションは、NetServerEnum を呼び出してドメインコントローラーのみ、あるいは SQL Server のインスタンスを実行するサーバーのみを一覧表示できる。アプリケーションは servertype パラメータでさまざまなサーバー種別のビットマスクを組み合わせて複数の種類を列挙できる。たとえば SV_TYPE_WORKSTATION | SVTYPE_SERVER (0x00000003) は SV_TYPE_WORKSTATION (0x00000001) と SV_TYPE_SERVER (0x00000002) のビットマスクを組み合わせる。特定のサーバーの詳細情報が必要な場合は、WNetEnumResource 関数を呼び出す。NetServerEnum 関数を正常に実行するために特別なグループメンバーシップは必要ない。SV_TYPE_LOCAL_LIST_ONLY を指定した場合、NetServerEnum 関数はブラウザが内部で保持するサーバー一覧を返す。これはマスターブラウザ (または過去にマスターブラウザだったコンピューター) 上でのみ意味を持つ。マスターブラウザはネットワーク上でどのコンピューターがサーバーまたはワークステーションになれるかを決定する権限を現在持つコンピューターである。servertype パラメータで指定した種類に一致するサーバーが見つからない場合、NetServerEnum 関数は bufptr パラメータを NULL として返し、entriesread と totalentries パラメータが指す DWORD 値は 0 になる。NetServerEnum 関数はブラウザサービスがインストールされ実行されていることに依存する。ブラウザサーバーが見つからない場合、NetServerEnum は ERROR_NO_BROWSER_SERVERS_FOUND で失敗する。Active Directory 向けのプログラミングを行っている場合、特定の Active Directory Service Interface (ADSI) メソッドを呼び出すことで、ネットワーク管理サーバー関数を呼ぶのと同じ機能を実現できる場合がある。詳細は IADsComputer を参照。
| プラグイン / モジュール | netapi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の netapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_netapi32_gen2.hs |