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

PF_NPOpenEnum

コールバック

シグネチャ

DWORD PF_NPOpenEnum(
    DWORD dwScope,
    DWORD dwType,
    DWORD dwUsage,
    NETRESOURCEW* lpNetResource,
    HANDLE* lphEnum
);

パラメーター

フィールド型説明
dwScopeDWORD

列挙の範囲を決定します。次のいずれかを指定できます。

値 意味
RESOURCE_CONNECTED
現在接続されているすべてのリソースです。
RESOURCE_GLOBALNET
ネットワーク上のすべてのリソースです。
RESOURCE_CONTEXT
ユーザーの現在のネットワークコンテキストおよび既定のネットワークコンテキストに関連付けられたリソースです("Network Neighborhood" ビューで使用されます)。この解釈はプロバイダーに委ねられます。
dwTypeDWORD

対象とするリソースの種類を指定します。これはビットマスクであり、次のフラグの任意の組み合わせを指定できます。

値 意味
RESOURCETYPE_DISK
すべてのディスクリソースです。
RESOURCETYPE_PRINT
すべてのプリントリソースです。
RESOURCEUSAGE_ATTACHED
呼び出し元が認証されていない場合に、この関数が失敗すべきであることを指定します(認証なしの列挙をネットワークが許可している場合でも同様です)。
 

dwType が 0 の場合、または RESOURCEUSAGE_ATTACHED のみの場合は、すべての種類のリソースが返されます。プロバイダーが同じレベルでプリントリソースとディスクリソースを区別する機能を持たない場合は、すべてのリソースを返すことがあります。

dwUsageDWORD

対象とするリソースの用途を指定します。これはビットマスクであり、次のフラグの任意の組み合わせを指定できます。

値 意味
RESOURCEUSAGE_CONNECTABLE
接続可能なすべてのリソース
RESOURCEUSAGE_CONTAINER
コンテナーであるすべてのリソース
 

ビットマスクを 0 にすると、すべてのフラグに一致します。dwScope に RESOURCE_GLOBALNET が設定されていない場合、このパラメーターは無視されることがあります。

lpNetResourceNETRESOURCEW*列挙を実行するコンテナーへのポインターです。 NETRESOURCE は、以前の NPEnumResource の呼び出しで取得したものでも、呼び出し元が構築したものでもよく、NULL を指定することもできます。NULL の場合、または NETRESOURCE の lpRemoteName フィールドが NULL の場合、プロバイダーは自身のネットワークの最上位レベルを列挙する必要があります。これは、プロバイダーが lpRemoteName に NULL を指定して任意のネットワークリソースを表すことはできない、という意味である点に注意してください。呼び出し元は通常、このパラメーターに NULL を設定して NPOpenEnum を呼び出すことから始め、返された結果を使用して列挙をさらに進めます。呼び出し元のプログラムが列挙の起点となるプロバイダーとリモートパスを正確に把握している場合は、lpProvider フィールドと lpRemoteName フィールドを設定して独自の NETRESOURCE 構造体を作成し、渡すことができます。dwScope が RESOURCE_CONNECTED または RESOURCE_CONTEXT の場合、このパラメーターは NULL になる点に注意してください。
lphEnumHANDLE*NPEnumResource 関数で使用できるハンドルへのポインターです。ハンドルの使用を終えたら、NPCloseEnum 関数を呼び出してハンドルを解放してください。

公式ドキュメント

ネットワークリソースまたは既存の接続の列挙を開始します。列挙に使用する有効なハンドルを取得するには、NPOpenEnum 関数を呼び出す必要があります。

戻り値

関数が成功した場合は WN_SUCCESS を返す必要があります。それ以外の場合は、次のいずれかを含むエラーコードを返す必要があります。

戻り値 説明
WN_NOT_SUPPORTED
要求された種類の列挙をプロバイダーがサポートしていないか、指定されたネットワークリソースを参照できません。
WN_NOT_CONTAINER
lpNetResource がコンテナーを指していません。
WN_BAD_VALUE
dwScope、dwUsage、dwType が無効であるか、パラメーターの組み合わせが不正です。
WN_NO_NETWORK
ネットワークが存在しません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)