chrome.usb

ब्यौरा

कनेक्ट किए गए यूएसबी डिवाइसों के साथ इंटरैक्ट करने के लिए, chrome.usb एपीआई का इस्तेमाल करें. यह एपीआई, किसी ऐप्लिकेशन के अंदर से यूएसबी से जुड़े कामों को ऐक्सेस करने की सुविधा देता है. इस एपीआई का इस्तेमाल करके, ऐप्लिकेशन हार्डवेयर डिवाइसों के लिए ड्राइवर के तौर पर काम कर सकते हैं. इस एपीआई से जनरेट होने वाली गड़बड़ियों की जानकारी, runtime.lastError को सेट करके और फ़ंक्शन के सामान्य कॉलबैक को लागू करके दी जाती है. इस मामले में, कॉलबैक के सामान्य पैरामीटर तय नहीं किए जाएंगे.

अनुमतियां

usb

उपलब्धता

सिर्फ़ ChromeOS के लिए

टाइप

ConfigDescriptor

प्रॉपर्टी

  • सक्रिय

    बूलियन

    Chrome 47+

    क्या यह चालू कॉन्फ़िगरेशन है?

  • configurationValue

    संख्या

    कॉन्फ़िगरेशन नंबर.

  • ब्यौरा

    string ज़रूरी नहीं

    कॉन्फ़िगरेशन का ब्यौरा.

  • extra_data

    ArrayBuffer

    इस कॉन्फ़िगरेशन से जुड़ा अतिरिक्त डिस्क्रिप्टर डेटा.

  • इंटरफ़ेस

    उपलब्ध इंटरफ़ेस.

  • maxPower

    संख्या

    इस डिवाइस को मिलीऐंपियर (एमए) में ज़्यादा से ज़्यादा कितनी पावर की ज़रूरत है.

  • remoteWakeup

    बूलियन

    डिवाइस को रिमोट से चालू किया जा सकता है.

  • selfPowered

    बूलियन

    डिवाइस में खुद की बैटरी है.

ConnectionHandle

प्रॉपर्टी

  • हैंडल

    संख्या

    यूएसबी डिवाइस से इस कनेक्शन को दिखाने वाला एक ओपेक हैंडल. साथ ही, इससे जुड़े सभी क्लेम किए गए इंटरफ़ेस और ट्रांसफ़र किए जाने वाले डेटा की जानकारी. डिवाइस को हर बार खोलने पर, एक नया हैंडल बनता है. कनेक्शन हैंडल, Device.device से अलग है.

  • productId

    संख्या

    प्रॉडक्ट आईडी.

  • vendorId

    संख्या

    डिवाइस का वेंडर आईडी.

ControlTransferInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer ज़रूरी नहीं

    ट्रांसमिट किया जाने वाला डेटा (सिर्फ़ आउटपुट ट्रांसफ़र के लिए ज़रूरी है).

  • दिशा

    ट्रांसफ़र की दिशा ("in" या "out").

  • इंडेक्स

    संख्या

    wIndex फ़ील्ड के लिए, Ibid देखें.

  • लंबाई

    number ज़रूरी नहीं

    ज़्यादा से ज़्यादा कितने बाइट का डेटा पाना है. यह सिर्फ़ इनपुट ट्रांसफ़र के लिए ज़रूरी है.

  • उपहार पाने वाला

    ट्रांसफ़र टारगेट. अगर "interface" या "endpoint" है, तो index के दिए गए टारगेट पर दावा करना ज़रूरी है.

  • CANNOT TRANSLATE

    संख्या

    bRequest फ़ील्ड के लिए, यूनिवर्सल सीरियल बस स्पेसिफ़िकेशन रिविज़न 1.1 § 9.3 देखें.

  • requestType

    अनुरोध किस तरह का है.

  • टाइम आउट

    number ज़रूरी नहीं

    Chrome 43+

    अनुरोध पर कार्रवाई करने की समयसीमा (मिलीसेकंड में). डिफ़ॉल्ट वैल्यू 0 का मतलब है कि कोई टाइम आउट नहीं है.

  • मान

    संख्या

    wValue फ़ील्ड के लिए, Ibid देखें.

Device

प्रॉपर्टी

  • डिवाइस

    संख्या

    यूएसबी डिवाइस के लिए एक ओपेक आईडी. जब तक डिवाइस को अनप्लग नहीं किया जाता, तब तक यह नहीं बदलता.

  • manufacturerName

    स्ट्रिंग

    Chrome 46+

    डिवाइस से पढ़ी गई iManufacturer स्ट्रिंग, अगर उपलब्ध हो.

  • productId

    संख्या

    प्रॉडक्ट आईडी.

  • productName

    स्ट्रिंग

    Chrome 46+

    डिवाइस से पढ़ी गई iProduct स्ट्रिंग, अगर उपलब्ध हो.

  • serialNumber

    स्ट्रिंग

    Chrome 46+

    डिवाइस से पढ़ी गई iSerialNumber स्ट्रिंग, अगर उपलब्ध हो.

  • vendorId

    संख्या

    डिवाइस का वेंडर आईडी.

  • वर्शन

    संख्या

    Chrome 51+

    डिवाइस का वर्शन (bcdDevice फ़ील्ड).

DeviceFilter

प्रॉपर्टी

  • interfaceClass

    number ज़रूरी नहीं

    यूएसबी इंटरफ़ेस क्लास, डिवाइस पर मौजूद किसी भी इंटरफ़ेस से मैच करती है.

  • interfaceProtocol

    number ज़रूरी नहीं

    यूएसबी इंटरफ़ेस प्रोटोकॉल. इसकी जांच सिर्फ़ तब की जाती है, जब इंटरफ़ेस सब-क्लास मैच करती हो.

  • interfaceSubclass

    number ज़रूरी नहीं

    यूएसबी इंटरफ़ेस सब-क्लास, इसकी जांच सिर्फ़ तब की जाती है, जब इंटरफ़ेस क्लास मैच करती हो.

  • productId

    number ज़रूरी नहीं

    डिवाइस का प्रॉडक्ट आईडी. इसकी जांच सिर्फ़ तब की जाती है, जब वेंडर आईडी मैच करता हो.

  • vendorId

    number ज़रूरी नहीं

    डिवाइस बनाने वाली कंपनी का आईडी.

DevicePromptOptions

प्रॉपर्टी

  • फ़िल्टर

    DeviceFilter[] ज़रूरी नहीं

    उपयोगकर्ता को दिखाए गए डिवाइसों की सूची को फ़िल्टर करें. अगर कई फ़िल्टर दिए गए हैं, तो किसी भी फ़िल्टर से मैच करने वाले डिवाइस दिखेंगे.

  • एक से ज़्यादा

    बूलियन ज़रूरी नहीं

    उपयोगकर्ता को एक से ज़्यादा डिवाइस चुनने की अनुमति दें.

Direction

Direction, Recipient, RequestType, और TransferType, सभी यूएसबी स्पेसिफ़िकेशन में मौजूद अपने नाम से मेल खाते हैं.

Enum

"in"

"out"

EndpointDescriptor

प्रॉपर्टी

  • पता

    संख्या

    एंडपॉइंट का पता.

  • दिशा

    ट्रांसफ़र करने के लिए निर्देश.

  • extra_data

    ArrayBuffer

    इस एंडपॉइंट से जुड़ा अतिरिक्त डिस्क्रिप्टर डेटा.

  • maximumPacketSize

    संख्या

    पैकेट का ज़्यादा से ज़्यादा साइज़.

  • pollingInterval

    number ज़रूरी नहीं

    पोलिंग इंटरवल (सिर्फ़ इंटरप्ट और आइसोक्रोनस).

  • सिंक करना

    SynchronizationType ज़रूरी नहीं है

    ट्रांसफ़र सिंक्रनाइज़ेशन मोड (सिर्फ़ आइसोक्रोनस).

  • टाइप

    ट्रांसफ़र का टाइप.

  • इस्तेमाल

    UsageType ज़रूरी नहीं है

    एंडपॉइंट के इस्तेमाल से जुड़ा संकेत.

EnumerateDevicesAndRequestAccessOptions

प्रॉपर्टी

  • interfaceId

    number ज़रूरी नहीं

    उस इंटरफ़ेस का आईडी जिसका ऐक्सेस चाहिए. यह सुविधा सिर्फ़ Chrome OS पर उपलब्ध है. इसका असर अन्य प्लैटफ़ॉर्म पर नहीं पड़ता.

  • productId

    संख्या

    प्रॉडक्ट आईडी.

  • vendorId

    संख्या

    डिवाइस का वेंडर आईडी.

EnumerateDevicesOptions

प्रॉपर्टी

  • फ़िल्टर

    DeviceFilter[] ज़रूरी नहीं

    दिए गए किसी भी फ़िल्टर से मेल खाने वाला डिवाइस दिखाया जाएगा. फ़िल्टर की खाली सूची से, वे सभी डिवाइस दिखेंगे जिनके लिए ऐप्लिकेशन को अनुमति मिली है.

  • productId

    number ज़रूरी नहीं

    अब काम नहीं करता

    यह DeviceFilter.productId सेट करने के बराबर है.

  • vendorId

    number ज़रूरी नहीं

    अब काम नहीं करता

    यह DeviceFilter.vendorId सेट करने के बराबर है.

GenericTransferInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer ज़रूरी नहीं

    ट्रांसमिट किया जाने वाला डेटा (सिर्फ़ आउटपुट ट्रांसफ़र के लिए ज़रूरी है).

  • दिशा

    ट्रांसफ़र की दिशा ("in" या "out").

  • एंडपॉइंट

    संख्या

    टारगेट एंडपॉइंट का पता. इस एंडपॉइंट वाले इंटरफ़ेस पर दावा किया जाना चाहिए.

  • लंबाई

    number ज़रूरी नहीं

    ज़्यादा से ज़्यादा कितने बाइट का डेटा पाना है. यह सिर्फ़ इनपुट ट्रांसफ़र के लिए ज़रूरी है.

  • टाइम आउट

    number ज़रूरी नहीं

    Chrome 43+

    अनुरोध पर कार्रवाई करने की समयसीमा (मिलीसेकंड में). डिफ़ॉल्ट वैल्यू 0 का मतलब है कि कोई टाइम आउट नहीं है.

InterfaceDescriptor

प्रॉपर्टी

  • alternateSetting

    संख्या

    इंटरफ़ेस की वैकल्पिक सेटिंग नंबर (डिफ़ॉल्ट रूप से 0 पर सेट होता है

  • ब्यौरा

    string ज़रूरी नहीं

    इंटरफ़ेस की जानकारी.

  • एंडपॉइंट

    उपलब्ध एंडपॉइंट.

  • extra_data

    ArrayBuffer

    इस इंटरफ़ेस से जुड़ा अतिरिक्त डिस्क्रिप्टर डेटा.

  • interfaceClass

    संख्या

    यूएसबी इंटरफ़ेस क्लास.

  • interfaceNumber

    संख्या

    इंटरफ़ेस नंबर.

  • interfaceProtocol

    संख्या

    यूएसबी इंटरफ़ेस प्रोटोकॉल.

  • interfaceSubclass

    संख्या

    यूएसबी इंटरफ़ेस की सब-क्लास.

IsochronousTransferInfo

प्रॉपर्टी

  • packetLength

    संख्या

    इस ट्रांसफ़र में मौजूद हर पैकेट की लंबाई.

  • पैकेट

    संख्या

    इस ट्रांसफ़र में मौजूद पैकेट की कुल संख्या.

  • transferInfo

    ट्रांसफ़र पैरामीटर. इस पैरामीटर ब्लॉक में बताई गई ट्रांसफ़र की लंबाई या डेटा बफ़र को packetLength की सीमाओं के साथ बांटा जाता है, ताकि ट्रांसफ़र के अलग-अलग पैकेट बनाए जा सकें.

Recipient

Enum

"device"

"interface"

"endpoint"

"other"

RequestType

Enum

"standard"

"class"

"vendor"

"reserved"

SynchronizationType

इंटरप्ट और आइसोक्रोनस मोड के लिए, SynchronizationType और UsageType, यूएसबी स्पेसिफ़िकेशन में मौजूद अपने नाम के हिसाब से मैप होते हैं.

Enum

"asynchronous"

"adaptive"

"synchronous"

TransferResultInfo

प्रॉपर्टी

  • डेटा

    ArrayBuffer ज़रूरी नहीं

    इनपुट ट्रांसफ़र से मिला डेटा. आउटपुट ट्रांसफ़र के लिए undefined.

  • resultCode

    number ज़रूरी नहीं

    0 वैल्यू का मतलब है कि ट्रांसफ़र पूरा हो गया है. अन्य वैल्यू का मतलब है कि खिलाड़ी हार गया है.

TransferType

Enum

"control"

"interrupt"

"isochronous"

"bulk"

UsageType

Enum

"data"

"feedback"

"explicitFeedback"

"periodic"

"notification"

तरीके

bulkTransfer()

वादा
chrome.usb.bulkTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

यह फ़ंक्शन, चुने गए डिवाइस पर एक साथ कई फ़ाइलें ट्रांसफ़र करता है.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • transferInfo

    ट्रांसफ़र के पैरामीटर.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (info: TransferResultInfo) => void

रिटर्न

  • Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

claimInterface()

वादा
chrome.usb.claimInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)
: Promise<void>

यूएसबी डिवाइस पर किसी इंटरफ़ेस का दावा करता है. किसी इंटरफ़ेस या उससे जुड़े एंडपॉइंट पर डेटा ट्रांसफ़र करने से पहले, इंटरफ़ेस पर दावा करना ज़रूरी है. किसी भी समय, सिर्फ़ एक कनेक्शन हैंडल किसी इंटरफ़ेस पर दावा कर सकता है. अगर इंटरफ़ेस पर पहले ही दावा किया जा चुका है, तो यह कॉल नहीं किया जा सकेगा.

जब इंटरफ़ेस की ज़रूरत न हो, तब releaseInterface को कॉल किया जाना चाहिए.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • interfaceNumber

    संख्या

    वह इंटरफ़ेस जिस पर दावा करना है.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    () => void

रिटर्न

  • वादा<शून्य>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

closeDevice()

वादा
chrome.usb.closeDevice(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<void>

कनेक्शन हैंडल को बंद करता है. हैंडल बंद होने के बाद, उस पर कार्रवाइयां शुरू करना एक सुरक्षित कार्रवाई है. हालांकि, इससे कोई कार्रवाई नहीं होती.

पैरामीटर

  • हैंडल

    बंद करने के लिए, ConnectionHandle.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    () => void

रिटर्न

  • वादा<शून्य>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

controlTransfer()

वादा
chrome.usb.controlTransfer(
  handle: ConnectionHandle,
  transferInfo: ControlTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

चुने गए डिवाइस पर कंट्रोल ट्रांसफ़र करता है.

कंट्रोल ट्रांसफ़र, डिवाइस, इंटरफ़ेस या एंडपॉइंट से जुड़े होते हैं. किसी इंटरफ़ेस या एंडपॉइंट पर ट्रांसफ़र करने के लिए, इंटरफ़ेस पर दावा करना ज़रूरी है.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • transferInfo
  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (info: TransferResultInfo) => void

रिटर्न

  • Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

findDevices()

वादा
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)
: Promise<ConnectionHandle[]>

यह वेंडर, प्रॉडक्ट, और इंटरफ़ेस आईडी (ज़रूरी नहीं) के हिसाब से यूएसबी डिवाइसों को ढूंढता है. साथ ही, अनुमति मिलने पर उन्हें इस्तेमाल के लिए खोलता है.

अगर ऐक्सेस का अनुरोध अस्वीकार कर दिया जाता है या डिवाइस नहीं खुलता है, तो कनेक्शन हैंडल नहीं बनाया जाएगा या उसे वापस नहीं किया जाएगा.

इस तरीके को कॉल करने का मतलब है कि हर डिवाइस के लिए, getDevices को कॉल करने के बाद, openDevice को कॉल करना.

पैरामीटर

  • टारगेट डिवाइसों पर खोजी जाने वाली प्रॉपर्टी.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (handles: ConnectionHandle[]) => void

रिटर्न

  • Promise<ConnectionHandle[]>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getConfiguration()

वादा
chrome.usb.getConfiguration(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<ConfigDescriptor>

इससे, चुने गए मौजूदा कॉन्फ़िगरेशन के लिए कॉन्फ़िगरेशन डिस्क्रिप्टर मिलता है.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (config: ConfigDescriptor) => void

रिटर्न

  • Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getConfigurations()

Promise Chrome 47+
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)
: Promise<ConfigDescriptor[]>

यह फ़ंक्शन, डिवाइस कॉन्फ़िगरेशन डिस्क्रिप्टर का पूरा सेट दिखाता है.

पैरामीटर

  • डिवाइस

    वह Device जिससे डिस्क्रिप्टर फ़ेच करने हैं.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (configs: ConfigDescriptor[]) => void

रिटर्न

  • Promise<ConfigDescriptor[]>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getDevices()

वादा
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)
: Promise<Device[]>

कनेक्ट किए गए यूएसबी डिवाइसों की सूची दिखाता है.

पैरामीटर

  • विकल्प

    टारगेट डिवाइसों पर खोजी जाने वाली प्रॉपर्टी.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (devices: Device[]) => void

रिटर्न

  • Promise<Device[]>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

getUserSelectedDevices()

वादा
chrome.usb.getUserSelectedDevices(
  options: DevicePromptOptions,
  callback?: function,
)
: Promise<Device[]>

उपयोगकर्ता को डिवाइस पिकर दिखाता है और चुने गए Device दिखाता है. अगर उपयोगकर्ता पिकर को रद्द कर देता है, तो डिवाइसों की सूची खाली हो जाएगी. डायलॉग बॉक्स दिखाने के लिए, उपयोगकर्ता का जेस्चर ज़रूरी है. उपयोगकर्ता के जेस्चर के बिना, कॉलबैक इस तरह से चलेगा जैसे उपयोगकर्ता ने उसे रद्द कर दिया हो.

पैरामीटर

  • विकल्प

    डिवाइस पिकर डायलॉग बॉक्स का कॉन्फ़िगरेशन.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (devices: Device[]) => void

रिटर्न

  • Promise<Device[]>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

interruptTransfer()

वादा
chrome.usb.interruptTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

यह चुने गए डिवाइस पर इंटरप्ट ट्रांसफ़र करता है.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • transferInfo

    ट्रांसफ़र के पैरामीटर.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (info: TransferResultInfo) => void

रिटर्न

  • Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

isochronousTransfer()

वादा
chrome.usb.isochronousTransfer(
  handle: ConnectionHandle,
  transferInfo: IsochronousTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

यह किसी खास डिवाइस पर, एक ही समय पर डेटा ट्रांसफ़र करता है.

पैरामीटर

रिटर्न

  • Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

listInterfaces()

वादा
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<InterfaceDescriptor[]>

यूएसबी डिवाइस पर मौजूद सभी इंटरफ़ेस की सूची दिखाता है.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (descriptors: InterfaceDescriptor[]) => void

रिटर्न

  • Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

openDevice()

वादा
chrome.usb.openDevice(
  device: Device,
  callback?: function,
)
: Promise<ConnectionHandle>

getDevices से मिले यूएसबी डिवाइस को खोलता है.

पैरामीटर

  • डिवाइस

    Device को खोलने के लिए.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (handle: ConnectionHandle) => void

रिटर्न

  • Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

releaseInterface()

वादा
chrome.usb.releaseInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)
: Promise<void>

दावा किए गए इंटरफ़ेस को रिलीज़ करता है.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • interfaceNumber

    संख्या

    रिलीज़ किया जाने वाला इंटरफ़ेस.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    () => void

रिटर्न

  • वादा<शून्य>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

requestAccess()

Promise अब काम नहीं करता
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)
: Promise<boolean>

यह फ़ंक्शन सिर्फ़ ChromeOS के लिए था. इसे अन्य प्लैटफ़ॉर्म पर कॉल करने से गड़बड़ी होती थी. यह कार्रवाई अब openDevice के हिस्से के तौर पर अपने-आप पूरी हो जाती है. साथ ही, यह फ़ंक्शन सभी प्लैटफ़ॉर्म पर true दिखाएगा.

अगर डिवाइस पर दिया गया इंटरफ़ेस क्लेम नहीं किया गया है, तो ChromeOS के क्लेम किए गए डिवाइस के लिए, अनुमति ब्रोकर से ऐक्सेस का अनुरोध करता है.

पैरामीटर

  • डिवाइस

    वह Device जिसके ऐक्सेस का अनुरोध करना है.

  • interfaceId

    संख्या

    अनुरोध किया गया इंटरफ़ेस.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (success: boolean) => void

    • हो गया

      बूलियन

रिटर्न

  • Promise<boolean>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

resetDevice()

वादा
chrome.usb.resetDevice(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<boolean>

यूएसबी डिवाइस को रीसेट करने की कोशिश करता है. अगर रीसेट नहीं हो पाता है, तो दिया गया कनेक्शन हैंडल बंद हो जाएगा. साथ ही, यूएसबी डिवाइस डिसकनेक्ट होकर फिर से कनेक्ट होता हुआ दिखेगा. इस मामले में, डिवाइस को ऐक्सेस करने के लिए, getDevices या findDevices को फिर से कॉल करना होगा.

पैरामीटर

  • हैंडल

    रीसेट करने के लिए कनेक्शन हैंडल.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    (success: boolean) => void

    • हो गया

      बूलियन

रिटर्न

  • Promise<boolean>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

setConfiguration()

वादा
chrome.usb.setConfiguration(
  handle: ConnectionHandle,
  configurationValue: number,
  callback?: function,
)
: Promise<void>

कोई डिवाइस कॉन्फ़िगरेशन चुनें.

यह फ़ंक्शन, डिवाइस के उपलब्ध कॉन्फ़िगरेशन में से किसी एक को चुनकर, डिवाइस को रीसेट करता है. सिर्फ़ 0 से ज़्यादा की कॉन्फ़िगरेशन वैल्यू मान्य हैं. हालांकि, गड़बड़ी वाले कुछ डिवाइसों में 0 कॉन्फ़िगरेशन काम करता है. इसलिए, इस वैल्यू की अनुमति है.

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया हो.

  • configurationValue

    संख्या

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    () => void

रिटर्न

  • वादा<शून्य>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

setInterfaceAlternateSetting()

वादा
chrome.usb.setInterfaceAlternateSetting(
  handle: ConnectionHandle,
  interfaceNumber: number,
  alternateSetting: number,
  callback?: function,
)
: Promise<void>

पहले से दावा किए गए इंटरफ़ेस पर कोई वैकल्पिक सेटिंग चुनता है.

पैरामीटर

  • हैंडल

    उस डिवाइस से कनेक्शन खुला होना चाहिए जिस पर इस इंटरफ़ेस पर दावा किया गया है.

  • interfaceNumber

    संख्या

    कॉन्फ़िगर करने के लिए इंटरफ़ेस.

  • alternateSetting

    संख्या

    कॉन्फ़िगर करने के लिए वैकल्पिक सेटिंग.

  • कॉलबैक

    function ज़रूरी नहीं

    callback पैरामीटर कुछ ऐसा दिखता है:

    () => void

रिटर्न

  • वादा<शून्य>

    Chrome 116 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.

इवेंट

onDeviceAdded

chrome.usb.onDeviceAdded.addListener(
  callback: function,
)

सिस्टम में कोई डिवाइस जोड़े जाने पर जनरेट होने वाला इवेंट. इवेंट सिर्फ़ उन ऐप्लिकेशन और एक्सटेंशन पर ब्रॉडकास्ट किए जाते हैं जिनके पास डिवाइस को ऐक्सेस करने की अनुमति होती है. ऐसा हो सकता है कि ऐप्लिकेशन इंस्टॉल करते समय अनुमति दी गई हो. ऐसा तब होता है, जब उपयोगकर्ता ने कोई वैकल्पिक अनुमति स्वीकार की हो (permissions.request देखें) या getUserSelectedDevices के ज़रिए अनुमति दी हो.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर कुछ ऐसा दिखता है:

    (device: Device) => void

onDeviceRemoved

chrome.usb.onDeviceRemoved.addListener(
  callback: function,
)

यह इवेंट तब जनरेट होता है, जब किसी डिवाइस को सिस्टम से हटाया जाता है. डिलीवर किए गए इवेंट देखने के लिए, onDeviceAdded पर जाएं.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर कुछ ऐसा दिखता है:

    (device: Device) => void