Win32 API 日本語リファレンス
ホーム › NetworkManagement.WNet › PF_NPEnumResource

PF_NPEnumResource

コールバック

シグネチャ

DWORD PF_NPEnumResource(
    HANDLE hEnum,
    DWORD* lpcCount,
    void* lpBuffer,
    DWORD* lpBufferSize
);

パラメーター

フィールド型説明
hEnumHANDLENPOpenEnum の呼び出しで取得したハンドルです。
lpcCountDWORD*要求するエントリ数へのポインターです。可能な限り多くのエントリを要求するために 0xFFFFFFFF を指定することもできます。呼び出しが成功した場合、この場所には実際に読み取られたエントリ数が格納されます。
lpBuffervoid*列挙結果を受け取るバッファーへのポインターです。結果は NETRESOURCE エントリの配列として返されます。このバッファーは、hEnum を使用する次の呼び出しまで有効です。
lpBufferSizeDWORD*関数呼び出し時に渡されたバッファーのサイズ (バイト単位) へのポインターです。バッファーが 1 エントリ分にも満たない場合は、戻り時に 1 エントリを読み取るために必要なバイト数を格納します。この値は、戻り値が WN_MORE_DATA の場合にのみ設定されます。

公式ドキュメント

NPOpenEnum が返したハンドルに基づいて列挙を行います。

戻り値

この関数が成功した場合は WN_SUCCESS を返します。呼び出し元は、列挙を続行するために NPEnumResource を引き続き呼び出すことができます。それ以外の場合は、次のいずれかのエラーコードを返します。

戻り値 説明
WN_NO_MORE_ENTRIES
これ以上エントリはありません。列挙は正常に完了しました。このとき、戻りバッファー lpBuffer の内容は未定義です。
WN_MORE_DATA
バッファーが小さすぎて、1 エントリも格納できません。
WN_BAD_HANDLE
hEnum が有効なハンドルではありません。
WN_NO_NETWORK
ネットワークが存在しません。この条件は、hEnum の有効性を検査する前にチェックされます。

解説(Remarks)

この関数が呼び出されると、プロバイダーは要求された数 (または収まる最大数) のエントリでバッファーを満たす必要があります。返される NETRESOURCE 構造体は、そのような構造体の配列のように、バッファーの先頭に連続して配置する必要があります。これらの構造体内のポインターは、バッファー内の位置を指している必要があります。したがって、これらのポインターが参照するデータは、構造体の配列の後ろ、つまりバッファーの末尾に配置してください。この情報を正しくパッケージ化するのはプロバイダーの責任です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)