Sample Code

Windows Driver Samples/ Print Driver USB Monitor and Bidi Sample/ C++/ v4PrintDriver-Intellisense.js/

// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved
//
// File Name:
//
//    v4PrintDriver-Intellisense.js
//
// Abstract:
//
//    This file defines intellisense to be used by JavaScript extensions in v4 print drivers.

var v4PrintDriverIntellisense = {
    /// <summary>Intended for use by v4 print driver JavaScript Intellisense.</summary>
    createInterface: function (childInterface, baseType, prototype) {
        /// <summary>Intended for use by v4 print driver JavaScript Intellisense.</summary>
        childInterface.__class = true;

        if (prototype) {
            childInterface.prototype = prototype;
        }

        if (baseType) {
            childInterface.__baseType = baseType;
            childInterface.__basePrototypePending = true;
            v4PrintDriverIntellisense.resolveInheritance(childInterface);
        }
    },
    appendInterfaceMethods: function (baseType, prototype) {
        /// <summary>Intended for use by v4 print driver JavaScript Intellisense.</summary>
        for (var memberName in prototype) {
            baseType.prototype[memberName] = prototype[memberName];
        }
    },
    resolveInheritance: function (childInterface) {
        /// <summary>Intended for use by v4 print driver JavaScript Intellisense.</summary>
        var baseType = childInterface.__baseType;
        if (!baseType) {
            return;
        }

        if (baseType.__baseType) {
            resolveInheritance(baseType);
        }

        if (!childInterface.__basePrototypePending) {
            return;
        }

        for (var memberName in baseType.prototype) {
            var memberValue = baseType.prototype[memberName];
            if (!childInterface.prototype[memberName]) {
                childInterface.prototype[memberName] = memberValue;
            }
        }

        delete childInterface.__basePrototypePending;
    }
}

IPrintSchemaElement = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaElement,
    null,
    {
        /// <field name="XmlNode" type="XML DOM">
        /// Property-get maps to COM IPrintSchemaElement::XmlNode.
        /// </field>
        XmlNode: null,
        /// <field name="Name" type="String">
        /// Property-get maps to COM IPrintSchemaElement::Name.
        /// </field>
        Name: null,
        /// <field name="NamespaceUri" type="String">
        /// Property-get maps to COM IPrintSchemaElement::NamespaceUri.
        /// </field>
        NamespaceUri: null
    });

IPrintSchemaDisplayableElement = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaDisplayableElement,
    IPrintSchemaElement,
    {
        /// <field name="DisplayName" type="String">
        /// Property-get maps to COM IPrintSchemaDisplayableElement::DisplayName.
        /// </field>
        DisplayName: null
    });


IPrintSchemaOption = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaOption,
    IPrintSchemaDisplayableElement,
    {
        /// <field name="Selected" type="Boolean">
        /// Property-get maps to COM IPrintSchemaOption::Selected.
        /// </field>
        Selected: null,
        /// <field name="Constrained"  type="PrintSchemaConstrainedSetting">
        /// Property-get maps to COM IPrintSchemaOption::Constrained.
        /// </field>
        Constrained: null,
        GetPropertyValue: function (name, namespaceUri) {
            /// <summary>
            /// Method maps to COM IPrintSchemaOption::GetPropertyValue.
            /// </summary>
            /// <param name="name" type="String" />
            /// <param name="namespaceUri" type="String" />
            /// <returns type="XML DOM" />
        },
        /// <field name="PagesPerSheet" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaNUpOption::PagesPerSheet. Valid for NUp option only.
        /// </field>
        PagesPerSheet: null,
        /// <field name="WidthInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageMediaSizeOption::WidthInMicrons. Valid for PageMediaSize option only.
        /// </field>
        WidthInMicrons: null,
        /// <field name="HeightInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageMediaSizeOption::HeightInMicrons. Valid for PageMediaSize option only.
        /// </field>
        HeightInMicrons: null

    });

IPrintSchemaOptionCollection = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaOptionCollection,
    null,
    {
        /// <field name="Count" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaOptionCollection::Count.
        /// </field>
        Count: null,
        GetAt: function (index) {
            /// <summary>
            /// Property-get maps to COM IPrintSchemaOptionCollection::GetAt.
            /// </summary>
            /// <param name="index" type="Number" integer="true" />
            /// <returns type="IPrintSchemaOption" />
        }
    });


IPrintSchemaFeature = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaFeature,
    IPrintSchemaDisplayableElement,
    {
        /// <field name="SelectedOption" type="IPrintSchemaOption">
        /// Property-set/get maps to COM IPrintSchemaFeature::SelectedOption.
        /// </field>
        SelectedOption: null,
        /// <field name="SelectionType" type="PrintSchemaSelectionType">
        /// Property-get maps to COM IPrintSchemaFeature::SelectionType.
        /// </field>
        SelectionType: null,
        GetOption: function (name, namespaceUri) {
            /// <summary>
            /// Method maps to COM IPrintSchemaFeature::GetOption.
            /// </summary>
            /// <param name="name" type="String" />
            /// <param name="namespaceUri" type="String" />
            /// <returns type="IPrintSchemaOption" />
        },
        /// <field name="DisplayUI" type="Boolean">
        /// Property-get maps to COM IPrintSchemaFeature::DisplayUI.
        /// </field>
        DisplayUI: null
    });


IPrintSchemaPageImageableSize = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaPageImageableSize,
    IPrintSchemaElement,
    {
        /// <field name="ImageableSizeWidthInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageImageableSize::ImageableSizeWidthInMicrons.
        /// </field>
        ImageableSizeWidthInMicrons: null,
        /// <field name="ImageableSizeHeightInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageImageableSize::ImageableSizeHeightInMicrons.
        /// </field>
        ImageableSizeHeightInMicrons: null,
        /// <field name="OriginWidthInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageImageableSize::OriginWidthInMicrons.
        /// </field>
        OriginWidthInMicrons: null,
        /// <field name="OriginHeightInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageImageableSize::OriginHeightInMicrons.
        /// </field>
        OriginHeightInMicrons: null,
        /// <field name="ExtentWidthInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageImageableSize::ExtentWidthInMicrons.
        /// </field>
        ExtentWidthInMicrons: null,
        /// <field name="ExtentHeightInMicrons" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaPageImageableSize::ExtentHeightInMicrons.
        /// </field>
        ExtentHeightInMicrons: null
    });


IPrintSchemaCapabilities = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaCapabilities,
    IPrintSchemaElement,
    {
        GetFeatureByKeyName: function (keyName) {
            /// <summary>
            /// Method maps to COM IPrintSchemaCapabilities::GetFeatureByKeyName.
            /// </summary>
            /// <param name="keyName" type="String" />
            /// <returns type="IPrintSchemaFeature" />
        },
        GetFeature: function (name, namespaceUri) {
            /// <summary>
            /// Method maps to COM IPrintSchemaCapabilities::GetFeature.
            /// </summary>
            /// <param name="name" type="String" />
            /// <param name="namespaceUri" type="String" />
            /// <returns type="IPrintSchemaFeature" />
        },
        /// <field name="PageImageableSize" type="IPrintSchemaPageImageableSize">
        /// Property-get maps to COM IPrintSchemaCapabilities::PageImageableSize.
        /// </field>
        PageImageableSize: null,
        /// <field name="JobCopiesAllDocumentsMinValue" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaCapabilities::JobCopiesAllDocumentsMinValue.
        /// </field>
        JobCopiesAllDocumentsMinValue: null,
        /// <field name="JobCopiesAllDocumentsMaxValue" type="Number" integer="true">
        /// Property-get maps to COM IPrintSchemaCapabilities::JobCopiesAllDocumentsMaxValue.
        /// </field>
        JobCopiesAllDocumentsMaxValue: null,
        GetSelectedOptionInPrintTicket: function (feature) {
            /// <summary>
            /// Method maps to COM IPrintSchemaCapabilities::GetSelectedOptionInPrintTicket.
            /// </summary>
            /// <param name="feature" type="IPrintSchemaFeature" />
            /// <returns type="IPrintSchemaOption" />
        },
        GetOptions: function (feature) {
            /// <summary>
            /// Method maps to COM IPrintSchemaCapabilities::GetOptions.
            /// </summary>
            /// <param name="feature" type="IPrintSchemaFeature" />
            /// <returns type="IPrintSchemaOptionCollection" />
        }
    });


IPrintSchemaTicket = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrintSchemaTicket,
    IPrintSchemaElement,
    {
        GetFeatureByKeyName: function (keyName) {
            /// <summary>
            /// Method maps to COM IPrintSchemaTicket::GetFeatureByKeyName.
            /// </summary>
            /// <param name="keyName" type="String" />
            /// <returns type="IPrintSchemaFeature" />
        },
        GetFeature: function (name, namespaceUri) {
            /// <summary>
            /// Method maps to COM IPrintSchemaTicket::GetFeature.
            /// </summary>
            /// <param name="name" type="String" />
            /// <param name="namespaceUri" type="String" />
            /// <returns type="IPrintSchemaFeature" />
        },
        NotifyXmlChanged: function () {
            /// <summary>
            /// Method maps to COM IPrintSchemaTicket::NotifyXmlChanged.
            /// </summary>
        },
        GetCapabilities: function () {
            /// <summary>
            /// Method maps to COM IPrintSchemaTicket::GetCapabilities.
            /// </summary>
            /// <returns type="IPrintSchemaCapabilities" />
        },
        /// <field name="JobCopiesAllDocuments" type="Number" integer="true">
        /// Property-get/put maps to IPrintSchemaTicket::JobCopiesAllDocuments.
        /// </field>
        JobCopiesAllDocuments: null
    });


IPrinterScriptableSequentialStream = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrinterScriptableSequentialStream,
    null,
    {
        Read: function (count) {
            /// <summary>
            /// Method maps to COM IPrinterScriptableSequentialStream::Read.
            /// </summary>
            /// <param name="count" type="Number" integer="true" />
            /// <returns type="Array" />
        },
        Write: function (array) {
            /// <summary>
            /// Method maps to COM IPrinterScriptableSequentialStream::Write.
            /// </summary>
            /// <param name="array" type="Array" />
            /// <returns type="Number" integer="true"/>
        }
    });

IPrinterScriptableStream = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrinterScriptableStream,
    IPrinterScriptableSequentialStream,
    {
        Commit: function () {
            /// <summary>
            /// Method maps to COM IPrinterScriptableStream::Commit.
            /// </summary>
        },
        Seek: function (offset, streamSeek) {
            /// <summary>
            /// Method maps to COM IPrinterScriptableStream::Seek
            /// </summary>
            /// <param name="offset" type="Number" integer="true" />
            /// <param name="streamSeek" type="STREAM_SEEK" />
            /// <returns type="Number" integer="true"/>
        },
        SetSize: function (size) {
            /// <summary>
            /// Method maps to COM IPrinterScriptableStream::SetSize.
            /// </summary>
            /// <param name="size" type="Number" integer="true" />
        }
    });


IPrinterScriptablePropertyBag = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrinterScriptablePropertyBag,
    null,
    {
        GetBool: function (name) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::GetBool.
            /// </summary>
            /// <param name="name" type="String" />
            /// <returns type="Boolean" />
        },
        SetBool: function (name, value) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::SetBool.
            /// </summary>
            /// <param name="name" type="String" />
            /// <param name="value" type="Boolean" />
        },
        GetInt32: function (name) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::GetInt32.
            /// </summary>
            /// <param name="name" type="String" />
            /// <returns type="Number" integer="true"/>
        },
        SetInt32: function (name, value) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::SetInt32.
            /// </summary>
            /// <param name="name" type="String" />
            /// <param name="value" type="Number" integer="true" />
        },
        GetString: function (name) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::GetString.
            /// </summary>
            /// <param name="name" type="String" />
            /// <returns type="String" />
        },
        SetString: function (name, value) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::SetString.
            /// </summary>
            /// <param name="name" type="String" />
            /// <param name="value" type="String" />
        },
        GetReadStream: function (name) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::GetReadStream.
            /// </summary>
            /// <param name="name" type="String" />
            /// <returns type="IPrinterScriptableStream" />
        },
        GetWriteStream: function (name) {
            /// <summary>
            /// Method maps to COM IPrinterScriptablePropertyBag::GetWriteStream.
            /// </summary>
            /// <param name="name" type="String" />
            /// <returns type="IPrinterScriptableStream" />
        }
    });


IPrinterScriptContext = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrinterScriptContext,
    null,
    {
        /// <field name="DriverProperties" type="IPrinterScriptablePropertyBag">
        /// Property-get maps to COM IPrinterScriptContext::DriverProperties.
        /// </field>
        DriverProperties: null,
        /// <field name="QueueProperties" type="IPrinterScriptablePropertyBag">
        /// Property-get maps to COM IPrinterScriptContext::QueueProperties.
        /// </field>
        QueueProperties: null,
        /// <field name="UserProperties" type="IPrinterScriptablePropertyBag">
        /// Property-get maps to COM IPrinterScriptContext::UserProperties.
        /// </field>
        UserProperties: null
    });

IPrinterBidiSchemaElement = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrinterBidiSchemaElement,
    null,
    {
        /// <field name="Name" type="String">
        /// Property-get maps to COM IPrinterBidiSchemaElement::Name.
        /// </field>
        Name: null,
        /// <field type="PrinterBidiSchemaElementType">
        /// Property-get maps to COM IPrinterBidiSchemaElement::BidiType.
        /// </field>
        BidiType: null,
        /// <field type="Object">
        /// Property-get maps to COM IPrinterBidiSchemaElement::Value.
        /// </field>
        Value: null
    });

IPrinterBidiSchemaResponses = function () { }
v4PrintDriverIntellisense.createInterface(
    IPrinterBidiSchemaResponses,
    null,
    {
        AddNull: function (schema) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddNull.
            /// </summary>
            /// <param name="schema" type="String" />
        },
        AddString: function (schema, value) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddString.
            /// </summary>
            /// <param name="schema" type="String" />
            /// <param name="value" type="String" />
        },
        AddText: function (schema, value) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddText.
            /// </summary>
            /// <param name="schema" type="String" />
            /// <param name="value" type="String" />
        },
        AddEnum: function (schema, value) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddEnum.
            /// </summary>
            /// <param name="schema" type="String" />
            /// <param name="value" type="String" />
        },
        AddInt32: function (schema, value) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddInt32.
            /// </summary>
            /// <param name="schema" type="String" />
            /// <param name="value" type="Number" integer="true" />
        },
        AddBool: function (schema, value) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddBool.
            /// </summary>
            /// <param name="schema" type="String" />
            /// <param name="value" type="Boolean" />
        },
        AddFloat: function (schema, value) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddFloat.
            /// </summary>
            /// <param name="schema" type="String" />
            /// <param name="value" type="Number" />
        },
        AddBlob: function (schema, array) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddBlob.
            /// </summary>
            /// <param name="schema" type="String" />
            /// <param name="array" type="Array" />
        },
        AddRequeryKey: function (queryKey) {
            /// <summary>
            /// Method maps to COM IPrinterBidiSchemaResponses::AddRequeryKey.
            /// </summary>
            /// <param name="queryKey" type="String" />
        }
    });

Our Services

  • What our customers say about us?

© 2011-2024 All Rights Reserved. Joya Systems. 4425 South Mopac Building II Suite 101 Austin, TX 78735 Tel: 800-DEV-KERNEL

Privacy Policy. Terms of use. Valid XHTML & CSS