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 メンバーに提供する値を認識します。
NETRESOURCE 構造体の他のすべてのメンバーは無視されます。
[out] lpBuffer
親リソースを表す単一の NETRESOURCE 構造体を受け取るバッファーへのポインター。 この関数は、構造体の lpRemoteName、 lpProvider、 dwType、 dwDisplayType、 dwUsage メンバーを返します。他のすべてのメンバーは NULL に設定されます。
lpRemoteName メンバーは、親リソースのリモート名を指します。 この名前は、 WNetEnumResource 関数によって列挙から返されたものと同じ構文を使用します。 呼び出し元は文字列比較を実行して、 WNetGetResourceParent リソースが WNetEnumResource によって返されるリソースと同じかどうかを判断できます。 入力リソースにどのネットワークにも親がない場合、 lpRemoteName メンバーは NULL として返されます。
dwUsage メンバーにRESOURCEUSAGE_CONNECTABLE ビットが存在する場合は、親リソースに接続できますが、ネットワーク上で使用可能な場合にのみ接続できることを示します。
[in, out] lpcbBuffer
エントリ時に lpBuffer バッファーのサイズをバイト単位で指定する場所へのポインター。 バッファーが小さすぎて結果を保持できなければ、この場所は必要なバッファー サイズを受け取り、関数はERROR_MORE_DATAを返します。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は システム エラー コード (次のいずれかの値など) です。
リターン コード | 説明 |
---|---|
|
呼び出し元はネットワーク リソースにアクセスできません。 |
|
入力 lpRemoteName メンバーは、ネットワークの既存のネットワーク リソースではありません。 |
|
入力 lpProvider メンバーが、インストールされているネットワーク プロバイダーと一致しません。 |
|
lpBuffer パラメーターが指すバッファーが小さすぎます。 |
|
呼び出し元には、親の名前を取得するために必要なアクセス許可がありません。 |
注釈
WNetGetResourceParent 関数は、通常、ユーザーが入力したネットワーク パスを解析して解釈するために、WNetGetResourceInformation 関数と組み合わせて使用されます。
WNetGetResourceInformation 関数とは異なり、リソースの構文に親が含まれている場合、WNetGetResourceParent 関数は、リソースが実際に存在するかどうかに関係なく、親を返します。 WNetGetResourceParent は、通常、階層的な方法でユーザーにネットワーク リソースを表示するアプリケーションでのみ使用する必要があります。 Windows エクスプローラーと [ファイルを開く] ダイアログ ボックスは、この種のアプリケーションの 2 つのよく知られている例です。 返されるリソースの種類については、何も想定しないでください。
WNetEnumResource、WNetGetResourceInformation、または 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 |