次の方法で共有


GetOwnerModuleFromUdp6Entry 関数 (iphlpapi.h)

GetOwnerModuleFromUdp6Entry 関数は、MIB テーブル行の特定の IPv6 UDP エンドポイントに対してコンテキスト バインドを発行したモジュールに関するデータを取得します。

構文

IPHLPAPI_DLL_LINKAGE DWORD GetOwnerModuleFromUdp6Entry(
  [in]      PMIB_UDP6ROW_OWNER_MODULE     pUdpEntry,
  [in]      TCPIP_OWNER_MODULE_INFO_CLASS Class,
  [out]     PVOID                         pBuffer,
  [in, out] PDWORD                        pdwSize
);

パラメーター

[in] pUdpEntry

所有者モジュールを取得するために使用される IPv6 UDP エンドポイント エントリを含む MIB_UDP6ROW_OWNER_MODULE 構造体へのポインター。

[in] Class

TCPIP_OWNER_MODULE_INFO_CLASS 所有者モジュールに関して取得するデータの種類を示す列挙値です。

[out] pBuffer

所有者モジュール データを含む TCPIP_OWNER_MODULE_BASIC_INFO 構造体を含むバッファー。 このバッファーで返されるデータの型は、 Class パラメーターの値によって示されます。

Class が対応する値に設定されている場合、Buffer のデータには次の構造体が使用されます。

クラス 列挙値 バッファー データ形式
TCPIP_OWNER_MODULE_BASIC_INFO TCPIP_OWNER_MODULE_BASIC_INFO

[in, out] pdwSize

Buffer で返される構造体の推定サイズ (バイト単位)。 この値が小さすぎると、この関数によって ERROR_INSUFFICIENT_BUFFER が返され、このフィールドには構造体の正しいサイズが含まれます。

戻り値

呼び出しが成功した場合は、 NO_ERROR 値が返されます。 それ以外の場合は、次のエラーが返されます。

リターン コード 説明
ERROR_INSUFFICIENT_BUFFER
テーブルに十分な領域が割り当てられなかった。 テーブルのサイズは pdwSize パラメーターで返され、テーブルを正常に取得するには、この関数の後続の呼び出しで使用する必要があります。

解説

Buffer パラメーターには、所有者モジュールの名前とパスを含む 0 で終わる文字列へのポインターなど、特定のデータへのポインターを持つ構造体だけでなく、実際のデータ自体も含まれます。は名前とパスの文字列です。 したがって、バッファー サイズを計算するときは、構造体と構造体のメンバーが指すデータの両方に十分な領域があることを確認します。

所有者モジュールに対する UDP テーブル エントリの解決は、ベスト プラクティスです。 場合によっては、 TCPIP_OWNER_MODULE_BASIC_INFO 構造体で返される所有者モジュール名には、"svchost.exe" などのプロセス名、"RPC" などのサービス名、または "timer.dll" などのコンポーネント名を指定できます。

Windows Vista 以降で実行されているコンピューターの場合、TCPIP_OWNER_MODULE_BASIC_INFO構造の pModuleName メンバーと pModulePath メンバーへのアクセスは、ユーザー アカウント制御 (UAC) によって制限されます。 この関数を呼び出すアプリケーションが、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしているユーザーによって実行された場合、この呼び出しは成功しますが、 requestedExecutionLevel が requireAdministrator に設定されたマニフェスト ファイルでアプリケーションがマークされていない限り、これらのメンバーへのアクセスは空の文字列を返します。 Windows Vista 以降のアプリケーションにこのマニフェスト ファイルがない場合、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしたユーザーは、保護された pModuleName および pModulePath メンバーへのアクセスを許可するために、組み込みの Administrator (RunAs 管理者) として拡張シェルでアプリケーションを実行する必要があります。

要件

   
サポートされている最小のクライアント Windows Vista、WINDOWS XP と SP2 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008、Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー iphlpapi.h
Library Iphlpapi.lib
[DLL] Iphlpapi.dll