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

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

[in] dwOptions

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

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

[in, optional] lpContext

指向要传递给内核模式微筛选器的连接通知例程的调用方提供的上下文信息的指针。 (请参阅 FltCreateCommunicationPort.) 此参数是可选的,可以为 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 参数中返回的连接端口句柄作为第一个参数传递给 FilterSendMessageFilterGetMessageFilterReplyMessage

最终必须通过调用 CloseHandle 释放从 FilterConnectCommunicationPort 获取的任何句柄。

要求

要求
目标平台 通用
标头 fltuser.h (包括 Fltuser.h)
Library FltLib.lib
DLL FltLib.dll

另请参阅

CloseHandle

FilterGetMessage

FilterReplyMessage

FilterSendMessage

FltBuildDefaultSecurityDescriptor

FltCloseClientPort

FltCloseCommunicationPort

FltCreateCommunicationPort

FltFreeSecurityDescriptor

SECURITY_ATTRIBUTES