Compartilhar via


Função WebhostOpenListenerChannelInstance

Solicita que um canal de ouvinte seja iniciado em um processo de trabalho para esse pool de aplicativos.

Sintaxe

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

Parâmetros

ProtocolHandle
[IN] Um DWORD que contém o identificador de protocolo para o canal do ouvinte.

AppPoolId
[IN] Uma cadeia de caracteres que contém a ID do pool de aplicativos para o canal do ouvinte.

ListenerChannelId
[IN] Um DWORD que contém o identificador de canal do ouvinte.

ListenerChannelBlob
[IN] Um PBYTE que contém informações necessárias para conectar o processo de trabalho ao ouvinte. Os dados não são visíveis para o WAS (Serviço de Ativação de Processo do Windows). Para obter mais informações, consulte a seção Comentários abaixo.

ListenerChannelBlobByteCount
[IN] Um DWORD que contém o número de bytes no BLOB do canal ouvinte.

Valor Retornado

Um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Valor Descrição
S_OK Indica que a operação foi bem-sucedida.
E_INVALIDARG Indica que um dos parâmetros não é válido.
HRESULT_FROM_WIN32( ERROR_NOT_FOUND) Indica que o protocolo não foi registrado.
HRESULT_FROM_WIN32(ERROR_PIPE_NOT_CONNECTED) Indica que o adaptador do ouvinte não está conectado ao Serviço de Ativação de Processo do Windows.

Comentários

A função é chamada quando o canal do ouvinte recebe sua primeira solicitação ou quando o Serviço de Ativação de Processo do Windows notifica o adaptador do ouvinte de que ele pode iniciar outra instância do canal do ouvinte.

O ListenerChannelBlob parâmetro é passado para o Serviço de Ativação de Processo do Windows, o processo de trabalho e o gerenciador de protocolos. Se o adaptador do ouvinte estiver roteando solicitações por aplicativo, o BLOB provavelmente conterá a chave do aplicativo que o manipulador de protocolo de processo precisará passar para o gerenciador de protocolos. O gerenciador de protocolos precisa da chave de aplicativo para que o manipulador de protocolo de domínio do aplicativo seja conectado. Os detalhes do BLOB são deixados para o gravador de protocolo.

Por padrão, o Serviço de Ativação de Processo do Windows estabelece um processo de reciclagem sobreposto, no qual o processo de trabalho que deve ser desligado é mantido em execução até que um novo processo de trabalho seja iniciado. O Serviço de Ativação de Processo do Windows salva o BLOB do canal do ouvinte e o usará para solicitar que o novo processo de trabalho se conecte. Isso significa que o canal do ouvinte deve ser capaz de aceitar vários processos que se conectam a ele.

O Serviço de Ativação de Processo do Windows não gerencia como um canal de ouvinte se relaciona a um aplicativo (por exemplo, o ouvinte pode optar por ter muitos canais de ouvinte por pool de aplicativos ou apenas um). Portanto, o Serviço de Ativação de Processo do Windows não pode determinar para o adaptador do ouvinte o que deve acontecer com os canais do ouvinte quando ocorrerem alterações. O Serviço de Ativação de Processo do Windows apenas notificará o adaptador do ouvinte e permitirá que ele gerencie essas decisões.

Você precisará definir as ACLs (listas de controle de acesso) de canais de ouvinte para a identidade do pool de aplicativos.

Requisitos

Tipo Descrição
Cliente - IIS 7.0 no Windows Vista
- IIS 7.5 no Windows 7
- IIS 8.0 no Windows 8
- IIS 10.0 no Windows 10
Servidor - IIS 7.0 no Windows Server 2008
- IIS 7.5 no Windows Server 2008 R2
- IIS 8.0 no Windows Server 2012
- IIS 8.5 no Windows Server 2012 R2
- IIS 10.0 no Windows Server 2016
Produto - 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
parâmetro Listeneradapter.h

Consulte Também

Funções exportadas do adaptador de ouvinte