PF_NPGetResourceParent
コールバックシグネチャ
DWORD PF_NPGetResourceParent(
NETRESOURCEW* lpNetResource,
void* lpBuffer,
DWORD* lpBufferSize
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| lpNetResource | NETRESOURCEW* | 親の名前が必要なネットワークリソースへのポインターです。この NETRESOURCE は、以前の NPEnumResource または NPGetResourceInformation の呼び出しで取得したものでも、呼び出し元が構築したものでもかまいません。 lpRemoteName フィールドには、親が必要なネットワークリソースのリモート名を指定します。 lpProvider フィールドには、呼び出すプロバイダーを指定します。これは必ず指定する必要があります。 dwType フィールドは、呼び出し側のプログラムがその値を知っている場合に設定します。それ以外の場合は NULL に設定します。 NETRESOURCE のその他のフィールドはすべて無視され、初期化もされません。 |
| lpBuffer | void* | 結果を受け取るバッファーへのポインターです。結果は、親リソースを表す 1 つの NETRESOURCE 構造体です。lpRemoteName、lpProvider、dwType、dwDisplayType、dwUsage の各フィールドが返され、その他のフィールドはすべて NULL に設定されます。 出力される lpRemoteName は、 NPEnumResource による列挙で返されるものと同じ形式である必要があります。これにより呼び出し元は、大文字と小文字を区別する文字列比較によって、親リソースが NPEnumResource から返されたものと同じかどうかを判断できます。入力されたリソースが構文上親を持つ場合、プロバイダーは、入力されたリソースやその親が実際に存在するかどうかを確認せずに親を返すことができます。リソースがネットワーク上にブラウズ階層の親を持たない場合、lpRemoteName は NULL として返されます。 返される dwUsage フィールドの RESOURCEUSAGE_CONNECTABLE ビットは、そのリソースに現在接続できることを必ずしも示すものではなく、そのリソースがネットワーク上で利用可能なときに接続可能であることを示すにすぎません。 |
| lpBufferSize | DWORD* | lpBuffer パラメーターが指すバッファーのサイズ (バイト単位) を格納した場所へのポインターです。バッファーが結果を格納するには小さすぎる場合、関数は必要なバッファーサイズをこの場所に格納し、エラー WN_MORE_DATA を返します。 |
公式ドキュメント
ブラウズ階層において、指定されたネットワークリソースの親を取得します。この関数は通常、同じプロバイダーが以前の NPEnumResource または NPGetResourceInformation の呼び出しで返したリソースに対して呼び出されます。
戻り値
関数が成功した場合は WN_SUCCESS を返します。それ以外の場合はエラーコードを返します。エラーコードは次のいずれかになります。
| 戻り値 | 説明 |
|---|---|
|
入力バッファーが小さすぎます。 |
|
このプロバイダーは、lpNetResource で指定されたリソースを所有していません (または、そのリソースが構文上有効ではありません)。 |
|
dwUsage または dwType が有効でないか、指定されたパラメーターの組み合わせが正しくありません (たとえば、lpRemoteName が dwType に対して構文上有効でない場合など)。 |
|
呼び出し元がネットワークに対して認証されていません。 |
|
呼び出し元はネットワークに対して認証されていますが、十分なアクセス許可がありません。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)