次の方法で共有


WNetGetResourceParentA 関数 (winnetwk.h)

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

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

構文

DWORD WNetGetResourceParentA(
  [in]      LPNETRESOURCEA lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer
);

パラメーター

[in] lpNetResource

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

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

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

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

[out] lpBuffer

親リソースを表す単一の NETRESOURCE 構造体を受け取るバッファーへのポインター。 この関数は、lpRemoteNamelpProviderdwTypedwDisplayType、および構造体の dwUsage メンバー 返します。その他のメンバーはすべて 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

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

関連項目

WNetGetNetworkInformation の

WNetGetProviderName の

WNetGetResourceInformation の

WNetGetUniversalName

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

Windows ネットワーク機能の