Freigeben über


Container-IDs für DPWS-Geräte

Ab Windows 7 kann ein Gerät, das PnP-Erweiterungen (PnP-X) unterstützt, und das Geräteprofil für Webdienste (DPWS) eine Container-ID angeben, indem das ContainerId-XML-Element in das Dokument mit den Gerätemetadaten eingeschlossen wird. Weitere Informationen zu DPWS und dem DPWS-Gerätemetadatendokument finden Sie in der DPWS-Spezifikation.

Hinweis

Ab Windows 10 ignoriert das System die von einem Gerät bereitgestellte Container-ID und generiert stattdessen eine selbst. Dazu wird entweder die GUID aus der Endpunktreferenzadresse (EPR) des Geräts oder, falls keine GUID vorhanden ist, ein SHA-1-Hash der EPR des Geräts verwendet.

Das ContainerId-XML-Element wird wie folgt deklariert:

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

Der ContainerId-XML-Elementtyp ist eine Zeichenfolge, für die der Wert ein global eindeutiger Bezeichner (GUID) formatiert ist. Diese Zeichenfolge ist als {xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx} formatiert.

Im Folgenden sehen Sie ein Beispiel für ein ContainerId-XML-Element.

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

Das <ContainerId> XML-Element muss sich im <Abschnitt „ThisDevice“> der Simple Object Access Protocol (SOAP) Nachricht des Gerätemetadaten-Austauschs befinden. Das folgende Beispiel zeigt die richtige Platzierung des <ContainerId-Elements> in einer Metadatenaustauschnachricht.

Hinweis

Dies ist kein vollständiges DPWS-Metadatenaustauschdokument. Weitere Informationen zu DPWS finden Sie in der DPWS-Spezifikation.

<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>

Wenn das DPWS-Gerätemetadatendokument nicht das ContainerId-XML-Element enthält, verwendet der Plug and Play -Manager (PnP) den Wert der Endpunktreferenzadresse des Geräts als Container-ID.