次の方法で共有


WNetGetResourceParentW 関数 (winnetwk.h)

WNetGetResourceParent 関数は、ネットワーク参照階層内のネットワーク リソースの親を返します。 参照は、指定されたネットワーク リソースの場所から開始されます。

ネットワーク階層を上に移動するには、 WNetGetResourceInformation 関数と WNetGetResourceParent 関数を呼び出します。 階層を下に移動するには、 WNetOpenEnum 関数を呼び出します。

構文

DWORD WNetGetResourceParentW(
  [in]      LPNETRESOURCEW lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer
);

パラメーター

[in] lpNetResource

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

入力 NETRESOURCE 構造体のメンバーを次のように指定します。 呼び出し元は通常、WNetGetResourceInformation または WNetGetResourceParent を以前に呼び出した後に lpProvider メンバーと dwType メンバーに提供する値認識します。

メンバー 意味
dwType
このメンバーは、既知の場合は入力する必要があります。それ以外の場合は、 NULL に設定する必要があります。
lpRemoteName
このメンバーは、親が必要なネットワーク リソースのリモート名を指定する必要があります。
lpProvider
このメンバーは、リソースを所有するネットワーク プロバイダーを指定する必要があります。 このメンバーは必須です。それ以外の場合、関数によって正しくない結果が生成される可能性があります。
 

NETRESOURCE 構造体の他のすべてのメンバーは無視されます。

[out] lpBuffer

親リソースを表す単一の NETRESOURCE 構造体を受け取るバッファーへのポインター。 この関数は、構造体の lpRemoteNamelpProviderdwTypedwDisplayTypedwUsage メンバーを返します。他のすべてのメンバーは NULL に設定されます。

lpRemoteName メンバーは、親リソースのリモート名を指します。 この名前は、 WNetEnumResource 関数によって列挙から返されたものと同じ構文を使用します。 呼び出し元は文字列比較を実行して、 WNetGetResourceParent リソースが WNetEnumResource によって返されるリソースと同じかどうかを判断できます。 入力リソースにどのネットワークにも親がない場合、 lpRemoteName メンバーは NULL として返されます。

dwUsage メンバーにRESOURCEUSAGE_CONNECTABLE ビットが存在する場合は、親リソースに接続できますが、ネットワーク上で使用可能な場合にのみ接続できることを示します。

[in, out] lpcbBuffer

エントリ時に lpBuffer バッファーのサイズをバイト単位で指定する場所へのポインター。 バッファーが小さすぎて結果を保持できなければ、この場所は必要なバッファー サイズを受け取り、関数はERROR_MORE_DATAを返します。

戻り値

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

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

リターン コード 説明
ERROR_ACCESS_DENIED
呼び出し元はネットワーク リソースにアクセスできません。
ERROR_BAD_NET_NAME
入力 lpRemoteName メンバーは、ネットワークの既存のネットワーク リソースではありません。
ERROR_BAD_PROVIDER
入力 lpProvider メンバーが、インストールされているネットワーク プロバイダーと一致しません。
ERROR_MORE_DATA
lpBuffer パラメーターが指すバッファーが小さすぎます。
ERROR_NOT_AUTHENTICATED
呼び出し元には、親の名前を取得するために必要なアクセス許可がありません。

注釈

WNetGetResourceParent 関数は、通常、ユーザーが入力したネットワーク パスを解析して解釈するために、WNetGetResourceInformation 関数と組み合わせて使用されます。

WNetGetResourceInformation 関数とは異なり、リソースの構文に親が含まれている場合、WNetGetResourceParent 関数は、リソースが実際に存在するかどうかに関係なく、親を返します。 WNetGetResourceParent は、通常、階層的な方法でユーザーにネットワーク リソースを表示するアプリケーションでのみ使用する必要があります。 Windows エクスプローラーと [ファイルを開く] ダイアログ ボックスは、この種のアプリケーションの 2 つのよく知られている例です。 返されるリソースの種類については、何も想定しないでください。

WNetEnumResourceWNetGetResourceInformation、または WNetGetResourceParent 関数を呼び出して、NETRESOURCE 構造体から情報を返すことができます。 NETRESOURCE 構造体のメンバーを使用してネットワーク リソース情報を構築することもできます。

WNetGetResourceParent を不適切に使用する例として、指定したサーバーが属するドメインの名前を確認する方法があります。 関数は、参照階層内のサーバーのすぐ上にドメインが表示される一部のネットワークに対して正しいドメイン名を返す場合があります。 関数は、他のネットワークに対して正しくない結果を返します。

注意

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

要件

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

こちらもご覧ください

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceInformation

WNetGetUniversalName

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

Windows ネットワーク関数