IESP::Connect 方法

Connect 方法使用指定的 NIC 将 NPP 连接到网络,并提供有关连接的配置信息。

语法

HRESULT STDMETHODCALLTYPE Connect(
  [in]  HBLOB hInputBlob,
  [in]  DWORD StatusCallbackProc,
  [in]  DWORD UserContext,
  [out] HBLOB hErrorBlob
);

参数

hInputBlob [in]

BLOB 的句柄,该 BLOB 指定 NPP 连接到的 NIC 以及该连接的配置信息。

StatusCallbackProc [in]

接收状态更新(如触发器)的用户回调函数的地址。 如果未使用回调函数,请将此参数和 UserContext 参数设置为 NULL

UserContext [in]

调用用户的回调函数时传递的值。 此参数的值通常是 HWND 或“this”指针。 如果未指定回调函数,请将此参数和 StatusCallbackProc 参数设置为 NULL

hErrorBlob [out]

包含其他错误信息的错误 BLOB 的句柄。

返回值

如果方法成功,则返回值NMERR_SUCCESS。

如果 方法不成功,则返回值是以下错误代码之一 (其中包括内部 IESP::Configure 调用) 返回的错误:

返回代码 说明
NMERR_ALREADY_CONNECTED
NPP COM 对象的此实例已连接到网络。
NMERR_BLOB_CONVERSION_ERROR
配置 BLOB 已损坏。 此错误由 IESP::Configure 调用生成。
NMERR_BLOB_ENTRY_DOES_NOT_EXIST
由 hInputBlob 参数指定的输入 BLOB 缺少执行此操作所需的条目。 此错误可能是由 IESP::ConnectIESP::Configure 调用生成的。 查看 hErrorBlob 返回的错误 BLOB 以确定找不到哪个条目。
NMERR_BLOB_NOT_INITIALIZED
尚未调用 CreateBlob 函数。 此错误由 IESP::Configure 调用生成。
NMERR_BLOB_STRING_INVALID
字符串不是以 null 结尾的。 此错误由 IESP::Configure 调用生成。
NMERR_ILLEGAL_TRIGGER
输入 BLOB 的触发器部分已损坏。 此错误由 IESP::Configure 调用生成。
NMERR_INVALID_BLOB
hInputBlob 中指定的对象不是 BLOB。 此错误由 IESP::Configure 调用生成。
NMERR_NO_DEFAULT_CAPTURE_DIRECTORY
未在注册表中设置默认捕获目录。 使用以下路径设置捕获目录。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\nm\Parameters\CapturePath
NMERR_OUT_OF_MEMORY
执行此操作所需的内存不可用。 此错误由 IESP::Configure 调用生成。
NMERR_TIMEOUT
请求已超时。此错误由 IESP::Configure 调用生成。
NMERR_UPLEVEL_BLOB
hInputBlob 中指定的 BLOB 的版本号不正确。 此错误由 IESP::Configure 调用生成。

备注

调用 Connect 方法时,网络监视器使用 hInputBlob 参数提供的 BLOB 自动调用 IESP::Configure。 请注意,调用 IESP::Configure 返回的任何错误代码将传递回 IESP::Connect 调用并返回。

必须先调用此方法,然后才能开始捕获帧。 请注意,使用此方法连接到网络时,必须继续使用 IESP 接口捕获帧。

可以通过调用 GetNPPBlobFromUI、GetNPPBlobTableSelectNPPBlobFromTable 来获取 hInputBlob 指定的输入 BLOB。

hErrorBlob 返回的错误 BLOB 包含网络监视器无法理解或在 hInputBlob 中指定的输入 BLOB 中找到的条目。 返回的错误 BLOB 包含应用程序可用于故障排除的错误信息。 例如,如果返回NMERR_BLOB_ENTRY_DOES_NOT_EXIST,则网络监视器找不到的条目将包含在返回的错误 BLOB 中。

有关以下方面的信息 请参阅
获取表示 NIC 的输入 BLOB 选择网络接口卡

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Netmon.h
DLL
Ndisnpp.dll;
Rmtnpp.dll

另请参阅

IESP

IESP::Configure

IESP::D isconnect

IESP::Start