<Return[WXYZ]><Top>

WNetEnumResource

Declare Function Api_WNetEnumResource& Lib "mpr" Alias "WNetEnumResourceA" (ByVal hEnum&, lpcCount&, lpBuffer As Any, lpBufferSize&)

Declare Function WNetEnumResource Lib "mpr" Alias "WNetEnumResourceA" (ByVal hEnum As Long, lpcCount As Long, lpBuffer As Any, lpBufferSize As Long) As Long

WNetOpenEnum 関数を呼び出して開始したネットワークリソースの列挙を継続する。

パラメータ
hEnum
    [入力]列挙インスタンスを識別するハンドルを指定する。このハンドルは、 WNetOpenEnum 関数が返したものでなければならない。
lpcCount
    [入出力]要求したいエントリ数を指定する変数へのポインタを指定する。指定された値が -1 の場合、この関数はできるだけ多くのエントリ

    を返す。
    関数が成功すると、このパラメータが指す変数に、実際に読み取ったエントリの数が格納される。
lpBuffer
    [出力]列挙の結果を受け取るバッファへのポインタを指定する。結果は、複数の 構造体からなる 1 つの配列として返る。これらの構造

    体と、それらのメンバが指す文字列の両方を保持するのに十分な大きさを備えたバッファを割り当てなければならないことに注意しなければな

    らない。
    hEnum パラメータで指定したハンドルを使って次にこの関数を呼び出すまで、このバッファは有効である。配列に格納される

    NETRESOURCE 構造体の順序は不定である。
lpBufferSize
    [入出力]lpBuffer パラメータで指定されたバッファのサイズ(バイト単位)を保持する変数へのポインタを指定する。バッファのサイズが小さす

    ぎて 1 つのエントリも格納できなかったときは、このパラメータは、必要なバッファのサイズを受け取る。

戻り値
    関数が成功すると、次の値のいずれかが返る。

    値                                              

意味                                                                                                                    

    NO_ERROR

列挙が成功し、要求したデータがバッファに格納された。アプリケーションは、引き続き WNetEnumResource を呼び出して、列挙を続けることができる。

    ERROR_NO_MORE_ITEMS

これ以上列挙するエントリはない。このときのバッファの内容は、未定義である。

    関数が失敗すると、次のエラーコードのいずれかが返ることがある。

    値                                              

意味                                                                                                                    

    ERROR_MORE_DATA

まだ列挙できるエントリが残っている。

    ERROR_INVALID_HANDLE

hEnum パラメータが指定したハンドルが有効ではない。

    ERROR_NO_NETWORK

 

ネットワークが利用できない(この関数は、hEnum パラメータで指定したハンドルが有効かどうかを調査する前に、ネットワークが存在するかどうかを調査する。)

    ERROR_EXTENDED_ERROR

 

ネットワーク固有のエラーが発生した。エラーの詳細を取得するには、 WNetGetLastError 関数を使う。

 

解説
    WNetEnumResource 関数は、共有に接続されているユーザーを列挙しない。共有に接続しているユーザー名を列挙するには、 関数を使

    う。非表示の共有を列挙するには、 関数を使う。
    アプリケーションは lpBuffer パラメータに NULL を指定して、必要なバッファのサイズを lpBufferSize パラメータに格納させることはできな

    い。代わりに、十分なサイズのバッファ(たとえば 16KB)を割り当ててこの関数を呼び出し、lpBufferSize パラメータの値を使ってエラーの有

    無を調べる。