Поделиться через


Функция 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 , предназначен для синхронного ввода-вывода. Этот флаг доступен начиная с Windows 8.1.

[in, optional] lpContext

Указатель на сведения о контексте, предоставляемые вызывающим объектом, которые будут переданы в подпрограмму уведомлений о подключении минифильтра режима ядра. (См. параметр ConnectNotifyCallback на справочной странице для FltCreateCommunicationPort.) Этот параметр является необязательным и может иметь значение NULL.

[in] wSizeOfContext

Размер (в байтах) структуры, на которую указывает параметр lpContext . Если значение lpContext не равно NULL, этот параметр должен быть ненулевым. Если lpContext имеет значение NULL, этот параметр должен быть равен нулю.

[in, optional] lpSecurityAttributes

Указатель на структуру SECURITY_ATTRIBUTES определяет, может ли возвращаемый дескриптор быть унаследован дочерними процессами. Дополнительные сведения о структуре SECURITY_ATTRIBUTES см. в документации по Microsoft Windows SDK. Этот параметр является необязательным и может иметь значение NULL. Если этот параметр имеет значение NULL, дескриптор не может быть унаследован.

[out] hPort

Указатель на переменную, выделенную вызывающим объектом, которая получает дескриптор для только что созданного порта подключения в случае успешного вызова FilterConnectCommunicationPort ; В противном случае он получает INVALID_HANDLE_VALUE.

Возвращаемое значение

FilterConnectCommunicationPort возвращает S_OK в случае успешного выполнения. В противном случае возвращается значение ошибки.

Комментарии

FilterConnectCommunicationPort открывает подключение к порту сервера связи минифильтра от имени приложения в пользовательском режиме. Приложение использует результирующий дескриптор порта подключения для связи с минифильтром.

После успешного вызова FilterConnectCommunicationPort приложение может отправлять сообщения минифильтру через порт подключения, вызвав FilterSendMessage. Он также может получать сообщения от минифильтра и отвечать на него, вызывая FilterGetMessage и FilterReplyMessage соответственно. Дескриптор порта подключения, возвращенный в параметре hPort , передается в качестве первого параметра в FilterSendMessage, FilterGetMessage и FilterReplyMessage.

Любой дескриптор, полученный из FilterConnectCommunicationPort , в конечном итоге должен быть освобожден путем вызова CloseHandle.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltuser.h (включая Fltuser.h)
Библиотека FltLib.lib
DLL FltLib.dll

См. также раздел

CloseHandle

FilterGetMessage

FilterReplyMessage

FilterSendMessage

FltBuildDefaultSecurityDescriptor

FltCloseClientPort

FltCloseCommunicationPort

FltCreateCommunicationPort

FltFreeSecurityDescriptor

SECURITY_ATTRIBUTES