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 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winnetwk.h
Library Mpr.lib
[DLL] Mpr.dll

こちらもご覧ください

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceInformation

WNetGetUniversalName

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

Windows ネットワーク関数