共用方式為


WebhostOpenListenerChannelInstance 函式

要求此應用程式集區的背景工作進程啟動接聽程式通道。

語法

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

參數

ProtocolHandle
[IN], DWORD 包含接聽程式通道的通訊協定控制碼。

AppPoolId
[IN]字串,包含接聽程式通道的應用程式集區識別碼。

ListenerChannelId
[IN] DWORD ,包含接聽程式通道識別碼。

ListenerChannelBlob
[IN], PBYTE 其中包含將背景工作進程連線到接聽程式所需的資訊。 Windows 進程啟用服務 (WAS) 看不到資料。 如需詳細資訊,請參閱下面的<備註>一節。

ListenerChannelBlobByteCount
[IN], DWORD 包含接聽程式通道 BLOB 中的位元組數目。

傳回值

HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

描述
S_OK 表示作業成功。
E_INVALIDARG 表示其中一個參數無效。
HRESULT_FROM_WIN32 ( ERROR_NOT_FOUND) 表示通訊協定尚未註冊。
HRESULT_FROM_WIN32 (ERROR_PIPE_NOT_CONNECTED) 表示接聽程式配接器未連線到 Windows 進程啟用服務。

備註

當接聽程式通道收到第一個要求,或當 Windows 進程啟用服務通知接聽程式配接器可以啟動接聽程式通道的另一個實例時,就會呼叫 函式。

參數 ListenerChannelBlob 會傳遞至 Windows 進程啟用服務、背景工作進程和通訊協定管理員。 如果接聽程式配接器是每個應用程式的路由要求,BLOB 可能會包含進程通訊協定處理常式需要傳遞至通訊協定管理員的應用程式金鑰。 通訊協定管理員需要應用程式域通訊協定處理常式的應用程式金鑰才能連線。 BLOB 的詳細資料會保留給通訊協定寫入器。

根據預設,Windows 進程啟用服務會建立重迭的回收程式,其中要關閉的背景工作進程會持續執行,直到啟動新的背景工作進程之後為止。 Windows 進程啟用服務會儲存接聽程式通道 BLOB,並使用它來要求新的背景工作進程進行連線。 這表示接聽程式通道必須能夠接受連線到它的多個進程。

Windows 進程啟用服務不會管理接聽程式通道與應用程式 (的關係,例如,接聽程式可以選擇讓每個應用程式集區有許多接聽程式通道,或只有一個) 。 因此,Windows 進程啟用服務無法判斷接聽程式介面卡在發生變更時,接聽程式通道應該會發生什麼情況。 Windows 進程啟用服務只會通知接聽程式配接器,並允許它管理這些決策。

您必須將接聽程式通道存取控制清單 (ACL) 設定為應用程式集區的身分識別。

規格需求

類型 描述
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
標頭 Listeneradapter.h

另請參閱

接聽程式配接器匯出函式