WebhostRegisterProtocol 関数
リスナー アダプターがサポートするプロトコルを宣言します。
構文
HRESULT WebhostRegisterProtocol(
IN LPCWSTR ProtocolId,
IN VOID* pListenerCallbacks,
IN VOID* pContext,
OUT DWORD* pProtocolHandle
);
パラメーター
ProtocolId
[IN]このリスナー アダプターがサポートするプロトコルを含む文字列。
pListenerCallbacks
[IN] VOID
WEBHOST_LISTENER_CALLBACKS 構造体へのポインター。
pContext
[IN]リスナー アダプターが渡す任意 VOID
のポインター。
pProtocolHandle
[OUT]このプロトコルを DWORD
表すプロセス一意キーを含む へのポインター。
戻り値
HRESULT
。 有効な値を次の表に示しますが、これ以外にもあります。
値 | 定義 |
---|---|
S_OK | 操作が成功したことを示します。 |
HRESULT_FROM_WIN32( ERROR_ALREADY_EXISTS ) | このプロトコルのこのプロセスに登録されているリスナー アダプターが既に存在するかどうかを示します。 |
E_INVALIDARG | パラメーターの 1 つが無効であることを示します。 |
E_OUTOFMEMORY | ヒープ メモリが使い果たされたことを示します。 |
解説
リスナー アダプターを起動するときは、 WebhostRegisterProtocol
まず 関数を呼び出す必要があります。 WebhostRegisterProtocol
は非同期であるため、成功した戻り値は呼び出しが成功したことを保証しません。 Windows プロセス アクティブ化サービス (WAS) は 、PFN_WEBHOST_LISTENER_CONFIG_MANAGER_CONNECTED 関数を使用して登録が成功したことをリスナーに通知します。 PFN_WEBHOST_LISTENER_CONFIG_MANAGER_CONNECTED
は、 パラメーターで pListenerCallbacks
この呼び出しに渡されます。
リスナー アダプターがコールバック関数を待機するためのタイムアウトを設定する PFN_WEBHOST_LISTENER_CONFIG_MANAGER_CONNECTED
必要があります。 タイムアウトが切れた場合は、リスナー アダプター サービスを停止し、失敗としてマークする必要があります。 この呼び出しからの正常な戻りは、クライアント ライブラリが Windows プロセス アクティブ化サービスを待機しており、可能な場合は接続することを示します。
リスナー サービスの状態を、このコールバック関数から SERVICE_RUNNING に設定しないでください。 初期化が完了し、プロトコル リスナーがリッスンしている場合 (通常はPFN_WEBHOST_LISTENER_CONFIG_MANAGER_INITIALIZATION_COMPLETED通知の後) にのみ、サービスの状態を SERVICE_RUNNING に設定する必要があります。
パラメーターは pContext
、コールバック関数が呼び出されるたびにリスナー アダプターに渡されます。 同じコールバック構造を使用する複数のプロトコルが実装されている場合に使用できます。
クライアント ライブラリが Windows プロセス アクティブ化サービスに接続するには、次の条件を満たす必要があります。
<listenerAdapters>
Was.config ファイルの構成セクションでは、プロトコルと、リスナー アダプターが実行される ID を宣言する必要があります。Windows プロセス アクティブ化サービスが実行されている必要があります。
リスナー アダプター サービスは、Windows プロセス アクティブ化サービスに依存するように登録する必要があります。
要件
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 |
参照
PFN_WEBHOST_LISTENER_CONFIG_MANAGER_INITIALIZATION_COMPLETED関数
リスナー アダプターのエクスポートされた関数