Esquema de perfil de examen

El esquema de perfil de examen define un formato XML que se puede usar para almacenar las propiedades de los elementos de adquisición de imágenes de Windows (WIA), como escáneres y cámaras. Estos archivos persistentes permiten a las aplicaciones proporcionar análisis automático sin necesidad de que los usuarios recuerden la configuración de propiedad de los elementos.

Cualquier dispositivo IWiaItem2 puede tener un perfil de examen. Sin embargo, los elementos IWiaItem2 de tipos WIA_CATEGORY_FINISHED_FILE y WIA_CATEGORY_ROOT no pueden tener perfiles.

Los perfiles de examen se crean y administran mediante las interfaces IScanProfile, IScanProfileMgr e IScanProfileUI . Los usuarios de la aplicación pueden modificar perfiles de forma limitada mediante el método IScanProfileUI::ScanProfileDialog .

Todos los perfiles de examen tienen los siguientes elementos: <ProfileGUID>, <DeviceID>, <ProfileName>, <WiaItem>, y <Properties>. El perfil predeterminado de un dispositivo también tiene un <Default> elemento .

El <ProfileGUID> elemento y el <DeviceID> elemento no se pueden cambiar después de crear el perfil de examen. Los valores del <ProfileName> elemento y el <WiaItem> elemento se pueden modificar. El <Default> elemento se puede agregar o eliminar. Esto se puede hacer mediante programación mediante los métodos IScanProfile::SetName, IScanProfile::SetItem e IScanProfileMgr::SetDefault . Los usuarios también pueden cambiar estas propiedades a través del método IScanProfileUI::ScanProfileDialog .

El <Properties> elemento contiene <Property> elementos secundarios. Úselos para agregar cualquier propiedad de dispositivo o elemento WIA al perfil. También puede desarrollar sus propios hijos de adquisición de <Property> imágenes. Esto hace que el esquema de perfil de examen sea extensible. (Para obtener más información sobre cómo extender el esquema, vea Definir propiedades personalizadas, IScanProfile::GetProperty e IScanProfile::SetProperty).

Este es el esquema completo del perfil de examen. A continuación se muestra un perfil de ejemplo.

<?xml version="1.0"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema"
            targetNamespace="https://www.microsoft.com"
            xmlns="https://www.microsoft.com"
            elementFormDefault="qualified">

<xs:element name="ScanProfile">
            <xs:complexType>
            <xs:sequence>
                        <xs:element name="ProfileGUID" type="xs:string"/>
                        <xs:element name="DeviceID" type="xs:string"/>
<xs:element name="ProfileName" type="xs:string"/>
                        <xs:element name="Default" minOccurs="0">
                                    <xs:complexType>
                                    </xs:complexType>
                        </xs:element>
                        <xs:element name="WiaItem" type="xs:string"/>
                        <xs:element name="Properties" type="Properties"/>
            </xs:sequence>
            </xs:complexType>
</xs:element>
 
<xs:complexType name="Properties">
<xs:sequence>
            <xs:element name="Property" maxOccurs="unbounded" minOccurs="0">
            <xs:complexType>
            <xs:simpleContent>
                        <xs:extension base="xs:string">
                                    <xs:attribute name="id" type="xs:integer" use="required"/>
                                    <xs:attribute name="type" type="xs:integer" use="required"/>
                        </xs:extension>
            </xs:simpleContent>
            </xs:complexType>
            </xs:element>
</xs:sequence>
</xs:complexType>
 
</xs:schema>

Haga clic en Mostrar ejemplo para ver un perfil de ejemplo.

<ScanProfile>
    <ProfileGUID>
        {F862E217-32B0-4396-987A-2191224925CD}
    </ProfileGUID>
    <DeviceID>
        {6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0001
    </DeviceID>
    <ProfileName>
        Last used settings
    </ProfileName>
    <WiaItem>
        {FB607B1F-43F3-488B-855B-FB703EC342A6}
    </WiaItem>
    <Properties>
        <Property id="4103" type="3">
            3
        </Property>
        <Property id="4106" type="72">
            {B96B3CAB-0728-11D3-9D7B-0000F81EF32E}
        </Property>
        <Property id="6147" type="3">
            300
        </Property>
        <Property id="6154" type="3">
            0
        </Property>
        <Property id="6155" type="3">
            0
        </Property>
    </Properties>
</ScanProfile>

Referencia

IScanProfile::GetProperty

IScanProfile::SetProperty

Conceptual

Constantes de propiedad WIA

Definir propiedades personalizadas