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 以外の場合、このパラメーターは 0 以外である必要があります。 lpContextNULL の場合、このパラメーターは 0 である必要があります。

[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 を呼び出して解放する必要があります。

要件

要件
対象プラットフォーム ユニバーサル
Header fltuser.h (Fltuser.h を含む)
Library FltLib.lib
[DLL] FltLib.dll

こちらもご覧ください

CloseHandle

FilterGetMessage

FilterReplyMessage

FilterSendMessage

FltBuildDefaultSecurityDescriptor

FltCloseClientPort

FltCloseCommunicationPort

FltCreateCommunicationPort

FltFreeSecurityDescriptor

SECURITY_ATTRIBUTES