次の方法で共有


NetFileEnum 関数 (lmshare.h)

指定されたパラメーターに応じて、サーバー上の一部またはすべての開いているファイルに関する情報を返します。

構文

NET_API_STATUS NET_API_FUNCTION NetFileEnum(
  [in]      LMSTR      servername,
  [in]      LMSTR      basepath,
  [in]      LMSTR      username,
  [in]      DWORD      level,
  [out]     LPBYTE     *bufptr,
  [in]      DWORD      prefmaxlen,
  [out]     LPDWORD    entriesread,
  [out]     LPDWORD    totalentries,
  [in, out] PDWORD_PTR resume_handle
);

パラメーター

[in] servername

関数を実行するリモート サーバーの DNS または NetBIOS 名を指定する文字列へのポインター。 このパラメーターが NULL の場合は、ローカル コンピューターが使用されます。

_WIN32_WINNTまたはFORCE_UNICODEが定義されている場合、この文字列は Unicode です。

[in] basepath

返される情報の修飾子を指定する文字列へのポインター。 このパラメーターが NULL の場合、開いているすべてのリソースが列挙されます。 このパラメーターが NULL でない場合、関数は basepath パラメーターの値をプレフィックスとして持つリソースのみを列挙します。 (プレフィックスは、円記号の前にあるパスの部分です)。

_WIN32_WINNTまたはFORCE_UNICODEが定義されている場合、この文字列は Unicode です。

[in] username

ユーザーの名前または接続の名前を指定する文字列へのポインター。 文字列が 2 つの円記号 ("\") で始まる場合は、接続の名前 ("\127.0.0.1" や "\ClientName" など) を示します。 円記号の後の接続名の部分は、 NetSessionEnum 関数によって返されるセッション情報構造体のクライアント名と同じです。 文字列が 2 つの円記号で始まらない場合は、ユーザーの名前を示します。 このパラメーターが NULL でない場合、その値は列挙体の修飾子として機能します。 返されるファイルは、修飾子に一致するユーザー名または接続名を持つファイルに限定されます。 このパラメーターが NULL の場合、ユーザー名修飾子は使用されません。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このパラメーターは、ユーザーの名前を指定する文字列へのポインターです。 このパラメーターが NULL でない場合、その値は列挙体の修飾子として機能します。 返されるファイルは、修飾子に一致するユーザー名を持つファイルに限定されます。 このパラメーターが NULL の場合、ユーザー名修飾子は使用されません。

_WIN32_WINNTまたはFORCE_UNICODEが定義されている場合、この文字列は Unicode です。

[in] level

データの情報レベルを指定します。 このパラメーターには、次の値のいずれかを指定できます。

意味
2
ファイル識別番号を返します。 bufptr パラメーターは、FILE_INFO_2構造体の配列を指します。
3
ファイルに関する情報を返します。 bufptr パラメーターは、FILE_INFO_3構造体の配列を指します。

[out] bufptr

情報を受信するバッファーのアドレスへのポインター。 このデータの形式は 、level パラメーターの値によって異なります。

このバッファーはシステムによって割り当てられ、 NetApiBufferFree 関数を使用して解放する必要があります。 関数が ERROR_MORE_DATA で失敗した場合でも、バッファーを解放する必要があることに注意してください。

[in] prefmaxlen

返されるデータの推奨される最大長をバイト単位で指定します。 MAX_PREFERRED_LENGTHを指定すると、データに必要なメモリ量が関数によって割り当てられます。 このパラメーターに別の値を指定すると、関数から返されるバイト数を制限できます。 バッファー サイズが不十分で、すべてのエントリを保持するには、関数は ERROR_MORE_DATAを返します。 詳細については、「 ネットワーク管理機能バッファー 」および「 ネットワーク管理機能バッファーの長さ」を参照してください。

[out] entriesread

実際に列挙された要素の数を受け取る値へのポインター。

[out] totalentries

現在の再開位置から列挙された可能性があるエントリの合計数を受け取る値へのポインター。 アプリケーションでは、この値をヒントとしてのみ考慮する必要があることに注意してください。

[in, out] resume_handle

既存のファイル検索を続行するために使用される再開ハンドルを含む値へのポインター。 最初の呼び出しではハンドルを 0 にし、後続の呼び出しでは変更しない必要があります。 このパラメーターが NULL の場合、再開ハンドルは格納されません。

戻り値

関数が成功した場合、戻り値は NERR_Success

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
ERROR_ACCESS_DENIED
ユーザーには、要求された情報へのアクセス権がありません。
ERROR_INVALID_LEVEL
level パラメーターに指定された値が無効です。
ERROR_MORE_DATA
その他のエントリを使用できます。 すべてのエントリを受信するのに十分な大きさのバッファーを指定します。
ERROR_NOT_ENOUGH_MEMORY
十分なメモリがありません。
NERR_BufTooSmall
指定されたバッファーが小さすぎます。

注釈

NetFileEnum 関数を正常に実行できるのは、Administrators または Server Operators ローカル グループのメンバーだけです。

NetFileGetInfo 関数を呼び出して、サーバー リソースの特定のオープンに関する情報を取得できます。

Active Directory をプログラミングしている場合は、特定の Active Directory サービス インターフェイス (ADSI) メソッドを呼び出して、 NetFileEnum を呼び出すことで実現できるのと同じ機能を実現できる場合があります。 詳細については、「 IADsResource 」および「 IADsFileServiceOperations」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー lmshare.h (Lm.h を含む)
Library Netapi32.lib
[DLL] Netapi32.dll

こちらもご覧ください

FILE_INFO_2

FILE_INFO_3

NetFile 関数

NetFileGetInfo

ネットワーク管理機能

ネットワーク管理の概要