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 メンバーに提供する値を認識します。
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 を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winnetwk.h |
Library | Mpr.lib |
[DLL] | Mpr.dll |