chrome.usb

ब्यौरा

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

अनुमतियां

usb

टाइप

ConfigDescriptor

प्रॉपर्टी

  • सक्रिय

    boolean

    Chrome 47 के बाद के वर्शन

    क्या यह ऐक्टिव कॉन्फ़िगरेशन है?

  • configurationValue

    नंबर

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

  • ब्यौरा

    स्ट्रिंग ज़रूरी नहीं

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

  • extra_data

    ArrayBuffer

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

  • इंटरफ़ेस

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

  • maxPower

    नंबर

    इस डिवाइस को मिल सकने वाली ज़्यादा से ज़्यादा बैटरी (एमएल) की वैल्यू.

  • remoteWakeup

    boolean

    इस डिवाइस पर, रिमोट तरीके से स्क्रीन चालू करने की सुविधा काम करती है.

  • selfPowered

    boolean

    यह डिवाइस खुद से चलता है.

ConnectionHandle

प्रॉपर्टी

  • हैंडल

    नंबर

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

  • productId

    नंबर

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

  • vendorId

    नंबर

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

ControlTransferInfo

प्रॉपर्टी

  • डेटा

    arrayBuffer ज़रूरी नहीं

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

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

  • इंडेक्स

    नंबर

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

  • लंबाई

    नंबर ज़रूरी नहीं

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

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

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

  • CANNOT TRANSLATE

    नंबर

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

  • requestType

    अनुरोध का टाइप.

  • टाइम आउट

    नंबर ज़रूरी नहीं

    Chrome 43+

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

  • value

    नंबर

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

Device

प्रॉपर्टी

  • डिवाइस

    नंबर

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

  • manufacturerName

    स्ट्रिंग

    Chrome 46 और इसके बाद के वर्शन

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

  • productId

    नंबर

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

  • productName

    स्ट्रिंग

    Chrome 46 और इसके बाद के वर्शन

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

  • serialNumber

    स्ट्रिंग

    Chrome 46 और इसके बाद के वर्शन

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

  • vendorId

    नंबर

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

  • वर्शन

    नंबर

    Chrome 51 और इसके बाद के वर्शन

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

DeviceFilter

प्रॉपर्टी

  • interfaceClass

    नंबर ज़रूरी नहीं

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

  • interfaceProtocol

    नंबर ज़रूरी नहीं

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

  • interfaceSubclass

    नंबर ज़रूरी नहीं

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

  • productId

    नंबर ज़रूरी नहीं

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

  • vendorId

    नंबर ज़रूरी नहीं

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

DevicePromptOptions

प्रॉपर्टी

  • फ़िल्टर

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

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

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

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

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

Direction

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

Enum

EndpointDescriptor

प्रॉपर्टी

  • पता

    नंबर

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

  • ट्रांसफ़र की दिशा.

  • extra_data

    ArrayBuffer

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

  • maximumPacketSize

    नंबर

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

  • pollingInterval

    नंबर ज़रूरी नहीं

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

  • सिंक करना

    SynchronizationType ज़रूरी नहीं

    डेटा ट्रांसफ़र करने के लिए, सिंक करने का मोड (सिर्फ़ आइसोक्रोन)

  • टाइप

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

  • इस्तेमाल

    UsageType ज़रूरी नहीं

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

EnumerateDevicesAndRequestAccessOptions

प्रॉपर्टी

  • interfaceId

    नंबर ज़रूरी नहीं

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

  • productId

    नंबर

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

  • vendorId

    नंबर

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

EnumerateDevicesOptions

प्रॉपर्टी

  • फ़िल्टर

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

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

  • productId

    नंबर ज़रूरी नहीं

    अब सेवा में नहीं है

    DeviceFilter.productId सेटिंग के बराबर.

  • vendorId

    नंबर ज़रूरी नहीं

    अब सेवा में नहीं है

    DeviceFilter.vendorId सेटिंग के बराबर.

GenericTransferInfo

प्रॉपर्टी

  • डेटा

    arrayBuffer ज़रूरी नहीं

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

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

  • एंडपॉइंट

    नंबर

    टारगेट एंडपॉइंट का पता. इस एंडपॉइंट वाले इंटरफ़ेस पर दावा करना ज़रूरी है.

  • लंबाई

    नंबर ज़रूरी नहीं

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

  • टाइम आउट

    नंबर ज़रूरी नहीं

    Chrome 43+

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

InterfaceDescriptor

प्रॉपर्टी

  • alternateSetting

    नंबर

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

  • ब्यौरा

    स्ट्रिंग ज़रूरी नहीं

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

  • एंडपॉइंट

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

  • extra_data

    ArrayBuffer

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

  • interfaceClass

    नंबर

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

  • interfaceNumber

    नंबर

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

  • interfaceProtocol

    नंबर

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

  • interfaceSubclass

    नंबर

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

IsochronousTransferInfo

प्रॉपर्टी

  • packetLength

    नंबर

    इस ट्रांसफ़र में पैकेट की लंबाई.

  • पैकेट

    नंबर

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

  • transferInfo

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

Recipient

Enum

"endpoint"

RequestType

Enum

SynchronizationType

रुकावट और समस्थानिक मोड के लिए, SyncType और UsageType उनके हम नामों को USB विशिष्टताओं में मैप करते हैं.

Enum

TransferResultInfo

प्रॉपर्टी

  • डेटा

    arrayBuffer ज़रूरी नहीं

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

  • resultCode

    नंबर ज़रूरी नहीं

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

TransferType

Enum

UsageType

Enum

तरीके

bulkTransfer()

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

बताए गए डिवाइस पर बल्क ट्रांसफ़र करता है.

पैरामीटर

  • हैंडल

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

  • transferInfo

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (info: TransferResultInfo)=>void

रिटर्न

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

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

claimInterface()

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

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

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

पैरामीटर

  • हैंडल

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

  • interfaceNumber

    नंबर

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

closeDevice()

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

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

controlTransfer()

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

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

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

पैरामीटर

रिटर्न

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

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

findDevices()

वादा
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)

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

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

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

पैरामीटर

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (handles: ConnectionHandle[])=>void

रिटर्न

  • Promise<ConnectionHandle[]>

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

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

getConfiguration()

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

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (config: ConfigDescriptor)=>void

रिटर्न

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

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

getConfigurations()

प्रॉमिस Chrome 47+
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)

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

पैरामीटर

  • डिवाइस

    डिस्क्रिप्टर को फ़ेच करने के लिए Device.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (configs: ConfigDescriptor[])=>void

रिटर्न

  • Promise<ConfigDescriptor[]>

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

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

getDevices()

वादा
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)

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

पैरामीटर

  • विकल्प

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (devices: Device[])=>void

रिटर्न

  • वादा<डिवाइस[]>

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

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

getUserSelectedDevices()

वादा
chrome.usb.getUserSelectedDevices(
  options: DevicePromptOptions,
  callback?: function,
)

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

पैरामीटर

  • विकल्प

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (devices: Device[])=>void

रिटर्न

  • वादा<डिवाइस[]>

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

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

interruptTransfer()

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

इससे, बताए गए डिवाइस पर डेटा ट्रांसफ़र में रुकावट आती है.

पैरामीटर

  • हैंडल

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

  • transferInfo

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (info: TransferResultInfo)=>void

रिटर्न

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

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

isochronousTransfer()

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

किसी डिवाइस पर आइसोक्रोनस ट्रांसफ़र करता है.

पैरामीटर

रिटर्न

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

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

listInterfaces()

वादा
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)

यह यूएसबी डिवाइस के सभी इंटरफ़ेस की सूची बनाता है.

पैरामीटर

  • हैंडल

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (descriptors: InterfaceDescriptor[])=>void

रिटर्न

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

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

openDevice()

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

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

पैरामीटर

  • डिवाइस

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (handle: ConnectionHandle)=>void

रिटर्न

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

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

releaseInterface()

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

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

पैरामीटर

  • हैंडल

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

  • interfaceNumber

    नंबर

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

requestAccess()

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

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

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

पैरामीटर

  • डिवाइस

    ऐक्सेस का अनुरोध करने के लिए Device.

  • interfaceId

    नंबर

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (success: boolean)=>void

    • हो गया

      boolean

रिटर्न

  • Promise<boolean>

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

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

resetDevice()

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

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    (success: boolean)=>void

    • हो गया

      boolean

रिटर्न

  • Promise<boolean>

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

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

setConfiguration()

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

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

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

पैरामीटर

  • हैंडल

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

  • configurationValue

    नंबर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    ()=>void

रिटर्न

  • Promise<void>

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

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

setInterfaceAlternateSetting()

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

ऐसे इंटरफ़ेस पर कोई दूसरी सेटिंग चुनता है जिस पर पहले ही दावा किया जा चुका है.

पैरामीटर

  • हैंडल

    उस डिवाइस से ओपन कनेक्शन जिस पर इस इंटरफ़ेस पर दावा किया गया है.

  • interfaceNumber

    नंबर

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

  • alternateSetting

    नंबर

    कॉन्फ़िगर करने की दूसरी सेटिंग.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

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

    ()=>void

रिटर्न

  • Promise<void>

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

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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