次の方法で共有


WNetGetResourceInformationA 関数 (winnetwk.h)

ネットワーク リソースへのリモート パスを指定すると、WNetGetResourceInformation 関数は、リソースを所有するネットワーク プロバイダーを識別し、リソースの種類に関する情報を取得します。 この関数は通常、WNetGetResourceParent 関数と組み合わせて使用され、ユーザーによって入力されたネットワーク パスを解析して解釈します。

構文

DWORD WNetGetResourceInformationA(
  [in]      LPNETRESOURCEA lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer,
  [out]     LPSTR          *lplpSystem
);

パラメーター

[in] lpNetResource

情報が必要なネットワーク リソースを指定する NETRESOURCE 構造体へのポインター。

構造体の lpRemoteName メンバーは、リソースのリモート パス名を指定する必要があります。通常は、ユーザーが入力します。 lpProviderdwType メンバーも、既知の場合は入力する必要があります。これは、dwType メンバーを指定しない場合は特に、この操作がメモリを消費する可能性があるためです。 これらのメンバーの値がわからない場合は、NULLに設定する必要があります。 NETRESOURCE 構造体の他のすべてのメンバーは無視されます。

[out] lpBuffer

結果を受け取るバッファーへのポインター。 正常に戻った場合、バッファーの最初の部分は、入力リソースの種類に固有のシステム関数ではなく、WNet 関数を介してアクセスされる入力リソース パスのその部分を表す NETRESOURCE 構造体です。 (バッファーの残りの部分には、NETRESOURCE のメンバーが構造体ポイント 可変長文字列が含まれています)。

たとえば、入力リモート リソース パスが \server\share\dir1\dir2 の場合、NETRESOURCE 構造体 出力にはリソース \server\share に関する情報が含まれます。 パスの \dir1\dir2 部分は、ファイル管理機能を介してアクセスされます。 lpRemoteNamelpProviderdwTypedwDisplayType、および dwUsage メンバー NETRESOURCE が返され、他のすべてのメンバーが NULL設定されます。

lpRemoteName メンバーは、WNetEnumResource 関数によって列挙から返されたものと同じ構文で返されます。 これにより、呼び出し元は文字列比較を実行して、WNetGetResourceInformation に渡されるリソースが、WNetEnumResourceへの別の呼び出しによって返されたリソースと同じかどうかを判断

[in, out] lpcbBuffer

エントリ時に、lpBuffer バッファーのサイズをバイト単位で指定する場所へのポインター。 割り当てるバッファーは、NETRESOURCE 構造体と、そのメンバーが指す文字列を保持するのに十分な大きさである必要があります。 バッファーが結果に対して小さすぎる場合、この場所は必要なバッファー サイズを受け取り、関数はERROR_MORE_DATAを返します。

[out] lplpSystem

関数が正常に戻った場合、このパラメーターは、システム関数を介してアクセスされるリソースの部分を指定する出力バッファー内の文字列を指します。 (これは、WNet 関数ではなく、リソースの種類に固有の関数にのみ適用されます)。

たとえば、入力されたリモート リソース名が \server\share\dir1\dir2 の場合、NETRESOURCE 構造体 出力の lpRemoteName メンバーは \server\share を指します。 また、lplpSystem パラメーターは \dir1\dir2 を指します。 両方の文字列は、lpBuffer パラメーターによって指されるバッファーに格納されます。

戻り値

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

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

リターン コード 形容
ERROR_BAD_NET_NAME
lpRemoteName メンバー 入力は、どのネットワークの既存のネットワーク リソースでもありません。
ERROR_BAD_DEV_TYPE
dwType メンバー 入力が、lpRemoteName メンバーで指定されたリソースの種類と一致しません。
ERROR_EXTENDED_ERROR
ネットワーク固有のエラーが発生しました。 WNetGetLastError 呼び出して、エラーの説明を取得します。
ERROR_MORE_DATA
lpBuffer パラメーターが指すバッファーが小さすぎます。
ERROR_NO_NETWORK
ネットワークは使用できません。

備考

手記

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

必要条件

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

関連項目

WNetGetNetworkInformation の

WNetGetProviderName の

WNetGetResourceParent の

WNetGetUniversalName

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

Windows ネットワーク機能の