ホーム › NetworkManagement.WNet › PF_NPEnumResource
PF_NPEnumResource
コールバックシグネチャ
DWORD PF_NPEnumResource(
HANDLE hEnum,
DWORD* lpcCount,
void* lpBuffer,
DWORD* lpBufferSize
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hEnum | HANDLE | NPOpenEnum の呼び出しで取得したハンドルです。 |
| lpcCount | DWORD* | 要求するエントリ数へのポインターです。可能な限り多くのエントリを要求するために 0xFFFFFFFF を指定することもできます。呼び出しが成功した場合、この場所には実際に読み取られたエントリ数が格納されます。 |
| lpBuffer | void* | 列挙結果を受け取るバッファーへのポインターです。結果は NETRESOURCE エントリの配列として返されます。このバッファーは、hEnum を使用する次の呼び出しまで有効です。 |
| lpBufferSize | DWORD* | 関数呼び出し時に渡されたバッファーのサイズ (バイト単位) へのポインターです。バッファーが 1 エントリ分にも満たない場合は、戻り時に 1 エントリを読み取るために必要なバイト数を格納します。この値は、戻り値が WN_MORE_DATA の場合にのみ設定されます。 |
公式ドキュメント
NPOpenEnum が返したハンドルに基づいて列挙を行います。
戻り値
この関数が成功した場合は WN_SUCCESS を返します。呼び出し元は、列挙を続行するために NPEnumResource を引き続き呼び出すことができます。それ以外の場合は、次のいずれかのエラーコードを返します。
| 戻り値 | 説明 |
|---|---|
|
これ以上エントリはありません。列挙は正常に完了しました。このとき、戻りバッファー lpBuffer の内容は未定義です。 |
|
バッファーが小さすぎて、1 エントリも格納できません。 |
|
hEnum が有効なハンドルではありません。 |
|
ネットワークが存在しません。この条件は、hEnum の有効性を検査する前にチェックされます。 |
解説(Remarks)
この関数が呼び出されると、プロバイダーは要求された数 (または収まる最大数) のエントリでバッファーを満たす必要があります。返される NETRESOURCE 構造体は、そのような構造体の配列のように、バッファーの先頭に連続して配置する必要があります。これらの構造体内のポインターは、バッファー内の位置を指している必要があります。したがって、これらのポインターが参照するデータは、構造体の配列の後ろ、つまりバッファーの末尾に配置してください。この情報を正しくパッケージ化するのはプロバイダーの責任です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)