<Return[MN]><Top>

MultinetGetConnectionPerformance

Declare Function Api_MultinetGetConnectionPerformance& Lib "mpr" Alias "MultinetGetConnectionPerformanceA" (ByRef lpNetResource As NETRESOURCE, ByRef lpNetConnectInfoStruct As NETCONNECTINFOSTRUCT)

Declare Function MultinetGetConnectionPerformance Lib "mpr" Alias "MultinetGetConnectionPerformanceA" (ByRef lpNetResource As NETRESOURCE, ByRef lpNetConnectInfoStruct As NETCONNECTINFOSTRUCT) As Long

ネットワーク資源へのアクセスに利用する接続のパフォーマンスの予測値を返す。この関数は、 構造体内に情報を返す。
この関数で取得できるのは、ネットワーク資源にリダイレクトされているローカルデバイスの情報、または接続が存在しているネットワーク資源の情報だけである。

パラメータ
lpNetResource
    [入力]ネットワーク資源を指定する 構造体へのポインタを指定する。この関数で使う場合、各メンバはそれぞれ次のような意味になる。

    メンバ                    

意味                                                                                                                                               

    lpLocalName

 

 

"F:" または "LPT1" など、問い合わせたいネットワーク資源へリダイレクトされているローカルデバイスを指定する 1 つのバッファへのポインタである。
NULL または空の文字列に設定すると、lpRemoteName メンバで指定するネットワーク資源の情報が得られる。このメンバでローカルデバイスを指定すると、lpRemoteName は無視される。

    lpRemoteName

 

問い合わせたいネットワーク資源へのポインタを指定する。関数を呼び出す時点で、この資源に対して接続が確立されていなければならない。たとえば、ファイルサーバー上のファイルを指定する場合は、そのファイルを開くことで接続が保証される。

    lpProvider

 

通常は NULL に設定するが、資源が存在するネットワークがわかっている場合は、その資源の所有者( プロバイダ)のポインタを指定することもできる。
NULL 以外に設定すると、システムは指定されたネットワークの情報だけを取得しようとする。

lpNetConnectInfoStruct
    [出力]データを受け取る 構造体へのポインタを指定する。

戻り値
    関数が成功すると、NO_ERROR が返る。
    関数が失敗すると、次の1つまたは複数のエラー値が返る。

    値                                                    

意味                                                                                                              

    ERROR_NOT_SUPPORTED

このネットワーク資源はこの情報を提供しない。

    ERROR_NOT_CONNECTED

 

lpLocalName メンバが、リダイレクトされたデバイスを指定していない。または、lpRemoteName が、接続中の資源の名前ではない。

    ERROR_NO_NET_OR_BAD_PATH

 

ネットワークコンポーネントが開始されていないか、指定した資源の名前が認識されないため、処理を行うことができなかった。

    ERROR_BAD_DEVICE

lpLocalName で指定されたローカルデバイスが無効である。

    ERROR_BAD_NET_NAME

lpRemoteName メンバで指定された資源が、どのネットワークにも認識されなかった。

    ERROR_INVALID_PARAMETER

 

lpNetConnectInfoStruct パラメータが、cbStructure にそのサイズが格納された 構造体を指していない。または、lpLocalName と lpRemoteName がどちらも指定されていない。

    ERROR_NO_NETWORK

ネットワークに接続されていない。

    ERROR_EXTENDED_ERROR

 

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


解説
    MultinetGetConnectionPerformance 関数が返す情報は予測値にすぎない。実際の値は、ネットワークのトラフィックとルーティングによって

    変化する。
    この関数の代表的な使い方は次のとおりである。まずネットワークサーバー上のファイルを開く(それにより、ファイルへの接続が保証され

    る)。次にこの関数を呼び出し、その結果を使ってファイル I/O の管理方法を決める。たとえば、ファイル全体をクライアントの一時ファイル

    に読み取るか、サーバーのファイルに直接アクセスするかを判断する。