IDelaydC::Connect 方法

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

语法

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

参数

hInputBlob [in]

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

StatusCallbackProc [in]

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

UserContext [in]

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

hErrorBlob [out]

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

返回值

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

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

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

备注

调用 Connect 方法时,NPP 使用 hInputBlob 提供的 BLOB 自动调用 IDelaydC::Configure。 请注意,调用 IDelaydC::Configure 返回的任何错误代码都传回并由 IDelaydC::Connect 调用返回。

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

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

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

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

要求

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

另请参阅

IDelaydC

IDelaydC::Configure

IDelaydC::D isconnect

IDelaydC::Start