Partilhar via


IDs de contêiner para dispositivos DPWS

A partir do Windows 7, um dispositivo que dá suporte a extensões PnP (PnP-X) e DPWS (Perfil de Dispositivo para Serviços Web) pode especificar uma ID de contêiner incluindo o elemento ContainerId XML no documento de metadados do dispositivo. Para obter mais informações sobre o DPWS e o documento de metadados do dispositivo DPWS, consulte a especificação DPWS.

Observação

Começando com Windows 10, o sistema ignora a ID do contêiner fornecida por um dispositivo e, em vez disso, gera uma por conta própria. Ele faz isso usando o GUID do endereço de referência do ponto de extremidade (EPR) do dispositivo ou um hash SHA-1 da EPR do dispositivo (se não um GUID).

O elemento ContainerId XML é declarado da seguinte maneira:

<df:ContainerId xmlns:df="">
  xs:string
</df:ContainerId>

O tipo de elemento ContainerId XML é uma cadeia de caracteres, para a qual o valor é um GUID (identificador global exclusivo) formatado. Essa cadeia de caracteres é formatada como {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx}.

Veja a seguir um exemplo de um elemento XML ContainerId .

<df:ContainerId xmlns:df="">
  {101392d0-5e91-11dd-ad8b-0800200c9a66}
</df:ContainerId>

O <elemento ContainerId> XML é necessário para estar na <seção ThisDevice> da mensagem SOAP (Protocolo de Acesso a Objetos Simples) de troca de metadados do dispositivo. O exemplo a seguir mostra o posicionamento correto do <elemento ContainerId> em uma mensagem de troca de metadados.

Observação

Este não é um documento completo de troca de metadados do DPWS. Para obter mais informações sobre o DPWS, consulte a especificação DPWS.

<soap:Envelope
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
    xmlns:wsdisco="http://schemas.xmlsoap.org/ws/2005/04/discovery"
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
    xmlns:wsd="http://schemas.xmlsoap.org/ws/2006/02/devprof"
    xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation">

    <soap:Header>
        <!-- Place SOAP header information here.-->
    </soap:Header>

    <soap:Body>
        <wsx:Metadata>

           <wsx:MetadataSection
                Dialect="http://schemas.xmlsoap.org/ws/2005/05/devprof/ThisModel">
                <wsd:ThisDevice>
                    <!-- Place ThisDevice metadata here.-->
                    <df:ContainerId>
                        <!--- Place the ContainerID GUID here.--->
                        {101392d0-5e91-11dd-ad8b-0800200c9a66}
                    </df:ContainerId>
                </wsd:ThisDevice>
            </wsx:MetadataSection>

        </wsx:Metadata>
    </soap:Body>
</soap:Envelope>

Se o documento de metadados do dispositivo DPWS não incluir o elemento XML ContainerId, o gerenciador de Plug and Play (PnP) usará o valor do endereço de referência do ponto de extremidade do dispositivo como a ID do contêiner.