IRTC::Connect 方法

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

语法

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

参数

hInputBlob [in]

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

StatusCallbackProc [in]

接收状态更新(如触发器)的用户状态回调函数的地址。 此参数可以设置为 NULL

FramesCallbackProc [in]

用户的帧回调函数的地址,用于接收触发器等状态更新。 此参数可以设置为 NULL

UserContext [in]

调用用户的状态和帧回调函数时传递的值。 如果指定了这两个回调函数,则它们必须使用相同的用户上下文值。 此参数的值通常是 HWND 或“this”指针。

hErrorBlob [out]

包含其他错误信息的错误 BLOB 的句柄。 有关错误 BLOB 中的内容的信息,请参阅本主题底部的“备注”。

返回值

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

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

返回代码 说明
NMERR_ALREADY_CONNECTED
NPP COM 对象的此实例已连接到网络。
NMERR_BLOB_CONVERSION_ERROR
配置 BLOB 已损坏。 此错误由 IRTC::Configure 调用生成。
NMERR_BLOB_ENTRY_DOES_NOT_EXIST
hInputBlob 参数指定的输入 BLOB 缺少执行此操作所需的条目。 此错误可能由 IRTC::ConnectIRTC::Configure 调用生成。 查看 hErrorBlob 返回的错误 BLOB 以确定找不到哪个条目。
NMERR_BLOB_NOT_INITIALIZED
尚未调用 CreateBlob 函数。 此错误由 IRTC::Configure 调用生成。
NMERR_BLOB_STRING_INVALID
字符串不是以 null 结尾的。 此错误由 IRTC::Configure 调用生成。
NMERR_ILLEGAL_TRIGGER
输入 BLOB 的触发器部分已损坏。 此错误由 IRTC::Configure 调用生成。
NMERR_INVALID_BLOB
hInputBlob 中指定的对象不是 BLOB。 此错误由 IRTC::Configure 调用生成。
NMERR_OUT_OF_MEMORY
执行此操作所需的内存不可用。 此错误由 IRTC::Configure 调用生成。
NMERR_TIMEOUT
请求已超时。此错误由 IRTC::Configure 调用生成。
NMERR_UPLEVEL_BLOB
hInputBlob 中指定的 BLOB 的版本号不正确。 此错误由 IRTC::Configure 调用生成。

备注

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

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

调用此函数时,必须指定状态或帧回调函数,即使它仅充当占位符也是如此。

可以通过调用 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

另请参阅

IRTC

IRTC::Configure

IRTC::D isconnect

IRTC::Start