FilterConnectCommunicationPort 函数 (fltuser.h)

FilterConnectCommunicationPort 打开与文件系统微型筛选器创建的通信服务器端口的新连接。

语法

HRESULT FilterConnectCommunicationPort(
  [in]           LPCWSTR               lpPortName,
  [in]           DWORD                 dwOptions,
  [in, optional] LPCVOID               lpContext,
  [in]           WORD                  wSizeOfContext,
  [in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [out]          HANDLE                *hPort
);

参数

[in] lpPortName

指向包含通信服务器端口的完全限定名称(例如 L“\MyFilterPort)的 NULL 终止宽字符字符串的指针。

[in] dwOptions

通信端口的连接选项。 在 Windows 8.1 之前,此值设置为 0。

价值 意义
FLT_PORT_FLAG_SYNC_HANDLE
hPort 中返回的句柄适用于同步 I/O。 此标志从 Windows 8.1 开始可用。

[in, optional] lpContext

指向要传递给内核模式微型筛选器的连接通知例程的调用方提供的上下文信息的指针。 (请参阅 FltCreateCommunicationPort的参考页中的 ConnectNotifyCallback 参数。此参数是可选的,可以 NULL

[in] wSizeOfContext

lpContext 参数指向的结构的大小(以字节为单位)。 如果 lpContext 的值是非NULL,则此参数必须为非零。 如果 lpContextNULL,则此参数必须为零。

[in, optional] lpSecurityAttributes

指向SECURITY_ATTRIBUTES结构的指针,该结构确定返回的句柄是否可以由子进程继承。 有关SECURITY_ATTRIBUTES结构的详细信息,请参阅 Microsoft Windows SDK 文档。 此参数是可选的,可以 NULL。 如果此参数 NULL,则无法继承句柄。

[out] hPort

指向调用方分配的变量的指针,如果调用 FilterConnectCommunicationPort 成功,则接收新创建的连接端口的句柄;否则,它会收到INVALID_HANDLE_VALUE。

返回值

FilterConnectCommunicationPort 如果成功,则返回S_OK。 否则,它将返回错误值。

言论

FilterConnectCommunicationPort 代表用户模式应用程序打开与微筛选器通信服务器端口的连接。 应用程序使用生成的连接端口句柄与微型筛选器通信。

成功调用 filterConnectCommunicationPort后,应用程序可以通过 FilterSendMessage通过连接端口将消息发送到微筛选器。 它还可以通过分别调用 FilterGetMessageFilterReplyMessage来接收和回复来自微筛选器的消息。 hPort 参数中返回的连接端口句柄作为第一个参数传递给 FilterSendMessageFilterGetMessage,以及 FilterReplyMessage

FilterConnectCommunicationPort 获取的任何句柄最终都必须通过调用 closeHandle来释放。

要求

要求 价值
目标平台 普遍
标头 fltuser.h (包括 Fltuser.h)
FltLib.lib
DLL FltLib.dll

另请参阅

CloseHandle

FilterGetMessage

FilterReplyMessage

FilterSendMessage

FltBuildDefaultSecurityDescriptor

FltCloseClientPort

FltCloseCommunicationPort

FltCreateCommunicationPort

FltFreeSecurityDescriptor

SECURITY_ATTRIBUTES