Compartilhar via


Método IWSDDeviceHost::AddDynamicService (wsdhost.h)

Registra um objeto de serviço para solicitações de entrada, mas não adiciona o serviço aos metadados do host do dispositivo. Isso é usado para serviços transitórios (dinâmicos).

Sintaxe

HRESULT AddDynamicService(
  [in]           LPCWSTR              pszServiceId,
  [in, optional] LPCWSTR              pszEndpointAddress,
  [in, optional] const WSD_PORT_TYPE  *pPortType,
  [in, optional] const WSDXML_NAME    *pPortName,
  [in, optional] const WSDXML_ELEMENT *pAny,
  [in, optional] IUnknown             *pService
);

Parâmetros

[in] pszServiceId

A ID do serviço dinâmico. A ID do serviço deve ser distinta de todas as IDs de serviço nos metadados do host do serviço e de qualquer outro serviço dinâmico registrado. O pszServiceId deve ser um URI.

[in, optional] pszEndpointAddress

Um URI opcional a ser usado como o endereço do ponto de extremidade para esse serviço. Se nenhum for especificado, o host do dispositivo assumirá que o serviço deve estar disponível em todos os endereços de transporte locais.

[in, optional] pPortType

Referência a uma estrutura de WSD_PORT_TYPE que especifica o tipo de porta. Pode ser NULL. Especifique apenas um de pPortType e pPortName.

[in, optional] pPortName

Referência a uma estrutura de WSDXML_NAME que especifica o tipo do serviço, com a associação do serviço a uma porta especificada. Especifique apenas um de pPortType e pPortName.

[in, optional] pAny

Referência opcional a uma seção extensível a ser incluída nos metadados de serviço dinâmico.

[in, optional] pService

Referência opcional a um objeto de serviço de host a ser registrado.

Valor retornado

Os possíveis valores retornados incluem, mas não se limitam a, o seguinte:

Código de retorno Descrição
S_OK
Método concluído com êxito.
E_POINTER
pszServiceId é NULL.
E_INVALIDARG
O comprimento em caracteres de pszServiceId ou pszEndpointAddress excede WSD_MAX_TEXT_LENGTH (8192) ou pPortType e pPortName são especificados.
E_FAIL
O método falhou. Pode ter falhado porque o host não foi inicializado ou o serviço especificado por pszServiceId não pôde ser encontrado. Chame Init para inicializar um host de dispositivo.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.

Comentários

Quando esse método é chamado, o dispositivo adiciona uma referência ao objeto de serviço e chama seus métodos em resposta às mensagens de solicitação endereçadas ao serviço. Chame o método RemoveDynamicService no host do dispositivo para liberar sua referência ao serviço e parar de chamar métodos no serviço.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wsdhost.h (inclua Wsdapi.h)
DLL Wsdapi.dll

Confira também

Iwsddevicehost