次の方法で共有


WebhostOpenListenerChannelInstance 関数

このアプリケーション プールのワーカー プロセスでリスナー チャネルを開始することを要求します。

構文

HRESULT WebhostOpenListenerChannelInstance(  
   IN DWORD ProtocolHandle,  
   IN LPCWSTR AppPoolId,  
   IN DWORD ListenerChannelId,  
   IN PBYTE ListenerChannelBlob,  
   IN DWORD ListenerChannelBlobByteCount  
);  

パラメーター

ProtocolHandle
[IN] DWORD リスナー チャネルのプロトコル ハンドルを含む 。

AppPoolId
[IN]リスナー チャネルのアプリケーション プール ID を含む文字列。

ListenerChannelId
[IN] DWORD リスナー チャネル識別子を含む 。

ListenerChannelBlob
[IN] PBYTE ワーカー プロセスをリスナーに接続するために必要な情報を含む 。 データは、Windows プロセス アクティブ化サービス (WAS) には表示されません。 詳細については、以下の「解説」セクションを参照してください。

ListenerChannelBlobByteCount
[IN] DWORD リスナー チャネル BLOB のバイト数を格納する 。

戻り値

HRESULT。 有効な値を次の表に示しますが、これ以外にもあります。

説明
S_OK 操作が成功したことを示します。
E_INVALIDARG パラメーターの 1 つが無効であることを示します。
HRESULT_FROM_WIN32( ERROR_NOT_FOUND) プロトコルが登録されていないことを示します。
HRESULT_FROM_WIN32(ERROR_PIPE_NOT_CONNECTED) リスナー アダプターが Windows プロセス アクティブ化サービスに接続されていないことを示します。

解説

この関数は、リスナー チャネルが最初の要求を受信したとき、または Windows プロセス アクティブ化サービスがリスナー アダプターにリスナー チャネルの別のインスタンスを開始できることを通知したときに呼び出されます。

パラメーターは ListenerChannelBlob 、Windows プロセス アクティブ化サービス、ワーカー プロセス、プロトコル マネージャーに渡されます。 リスナー アダプターがアプリケーションごとに要求をルーティングしている場合、BLOB には、プロセス プロトコル ハンドラーがプロトコル マネージャーに渡す必要があるアプリケーション キーが含まれている可能性があります。 プロトコル マネージャーには、アプリケーション ドメイン プロトコル ハンドラーを接続するためのアプリケーション キーが必要です。 BLOB の詳細はプロトコル ライターに任されます。

既定では、Windows プロセス アクティブ化サービスは、重複するリサイクル プロセスを確立します。このプロセスでは、シャットダウンするワーカー プロセスは、新しいワーカー プロセスが開始されるまで実行され続けます。 Windows プロセス アクティブ化サービスはリスナー チャネル BLOB を保存し、それを使用して新しいワーカー プロセスに接続を依頼します。 これは、リスナー チャネルがそれに接続する複数のプロセスを受け入れることができるようにする必要があることを意味します。

Windows プロセス アクティブ化サービスでは、リスナー チャネルとアプリケーションの関係は管理されません (たとえば、リスナーは、アプリケーション プールごとに多数のリスナー チャネルを持つか、1 つだけを選択できます)。 したがって、Windows プロセス アクティブ化サービスは、変更が発生したときにリスナー チャネルに何が起こるかをリスナー アダプターに対して判断できません。 Windows プロセス アクティブ化サービスでは、リスナー アダプターに通知するだけで、それらの決定を管理できます。

リスナー チャネルアクセス制御リスト (ACL) をアプリケーション プールの ID に設定する必要があります。

要件

Type 説明
Client - Windows Vista 上の IIS 7.0
- Windows 7 上の IIS 7.5
- Windows 8 の IIS 8.0
- Windows 10の IIS 10.0
サーバー - Windows Server 2008 の IIS 7.0
- Windows Server 2008 R2 上の IIS 7.5
- Windows Server 2012 上の IIS 8.0
- Windows Server 2012 R2 上の IIS 8.5
- Windows Server 2016上の IIS 10.0
製品 - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0
- IIS Express 7.5、IIS Express 8.0、IIS Express 10.0
Header Listeneradapter.h

参照

リスナー アダプターのエクスポートされた関数