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 に設定されています。
値 | 意味 |
---|---|
|
hPort で返されるハンドルは、同期 I/O 用です。 このフラグは、Windows 8.1 以降で使用できます。 |
[in, optional] lpContext
カーネル モード ミニフィルターの接続通知ルーチンに渡される呼び出し元が指定したコンテキスト情報へのポインター。 (FltCreateCommunicationPort のリファレンス ページの ConnectNotifyCallback パラメーターを参照してください)。このパラメーターは省略可能であり、NULL にすることができます。
[in] wSizeOfContext
lpContext パラメーターが指す構造体のサイズ (バイト単位)。 lpContext の値が NULL 以外の場合、このパラメーターは 0 以外である必要があります。 lpContext が NULL の場合、このパラメーターは 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 を呼び出すことによって、接続ポートを介してミニフィルターにメッセージを送信できます。 また、 それぞれ FilterGetMessage と FilterReplyMessage を呼び出すことで、ミニフィルターからメッセージを受信して返信することもできます。 hPort パラメーターで返される接続ポート ハンドルは、最初のパラメーターとして FilterSendMessage、FilterGetMessage、および FilterReplyMessage に渡されます。
FilterConnectCommunicationPort から取得されたハンドルは、最終的に CloseHandle を呼び出して解放する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | fltuser.h (Fltuser.h を含む) |
Library | FltLib.lib |
[DLL] | FltLib.dll |