chrome.usb

ब्यौरा

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

अनुमतियां

usb

टाइप

ConfigDescriptor

प्रॉपर्टी

  • सक्रिय

    बूलियन

    Chrome 47+

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

  • configurationValue

    संख्या

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

  • ब्यौरा

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

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

  • extra_data

    ArrayBuffer

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

  • इंटरफ़ेस

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

  • maxPower

    संख्या

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

  • remoteWakeup

    बूलियन

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

  • selfPowered

    बूलियन

    इस डिवाइस का इस्तेमाल अपने-आप किया जा सकता है.

ConnectionHandle

प्रॉपर्टी

  • हैंडल

    संख्या

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

  • productId

    संख्या

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

  • vendorId

    संख्या

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

ControlTransferInfo

प्रॉपर्टी

  • डेटा

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

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

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

  • इंडेक्स

    संख्या

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

  • लंबाई

    नंबर वैकल्पिक

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

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

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

  • CANNOT TRANSLATE

    संख्या

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

  • requestType

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

  • टाइम आउट

    number ज़रूरी नहीं

    Chrome 43 और उसके बाद के वर्शन

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

  • value

    संख्या

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

Device

प्रॉपर्टी

  • डिवाइस

    संख्या

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

  • 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

    नंबर वैकल्पिक

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

  • vendorId

    number ज़रूरी नहीं

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

DevicePromptOptions

प्रॉपर्टी

  • फ़िल्टर

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

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

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

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

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

Direction

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

Enum

"out"

EndpointDescriptor

प्रॉपर्टी

  • पता

    संख्या

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

  • दिशा

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

  • extra_data

    ArrayBuffer

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

  • maximumPacketSize

    संख्या

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

  • pollingInterval

    number ज़रूरी नहीं

    पोलिंग इंटरवल (सिर्फ़ बीच में रुकने और एक ही समय पर होने वाली पोलिंग के लिए).

  • सिंक करना

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

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

  • टाइप

    ट्रांसफ़र किस तरह का है.

  • इस्तेमाल

    UsageType ज़रूरी नहीं

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

EnumerateDevicesAndRequestAccessOptions

प्रॉपर्टी

  • interfaceId

    number ज़रूरी नहीं

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

  • productId

    संख्या

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

  • vendorId

    संख्या

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

EnumerateDevicesOptions

प्रॉपर्टी

  • फ़िल्टर

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

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

  • productId

    नंबर वैकल्पिक

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

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

  • vendorId

    number ज़रूरी नहीं

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

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

GenericTransferInfo

प्रॉपर्टी

  • डेटा

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

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

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

  • एंडपॉइंट

    संख्या

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

  • लंबाई

    नंबर वैकल्पिक

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

  • टाइम आउट

    number ज़रूरी नहीं

    Chrome 43+

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

InterfaceDescriptor

प्रॉपर्टी

  • alternateSetting

    संख्या

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

  • ब्यौरा

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

    इंटरफ़ेस का ब्यौरा.

  • एंडपॉइंट

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

  • extra_data

    ArrayBuffer

    इस इंटरफ़ेस से जुड़ा अतिरिक्त जानकारी देने वाला डेटा.

  • interfaceClass

    संख्या

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

  • interfaceNumber

    संख्या

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

  • interfaceProtocol

    संख्या

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

  • interfaceSubclass

    संख्या

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

IsochronousTransferInfo

प्रॉपर्टी

  • packetLength

    संख्या

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

  • पैकेट

    संख्या

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

  • transferInfo

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

Recipient

Enum

"device"

"interface"

"other"

RequestType

Enum

"class"

"vendor"

"reserved"

SynchronizationType

इंटरप्ट और आइसोक्रोनस मोड के लिए, SynchronizationType और UsageType यूएसबी की खासियतों के मुताबिक अपने नाम से मैप होते हैं.

Enum

"adaptive"

"synchronous"

TransferResultInfo

प्रॉपर्टी

  • डेटा

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

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

  • resultCode

    नंबर वैकल्पिक

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

TransferType

Enum

"interrupt"

"isochronous"

UsageType

Enum

"data"

"feedback"

तरीके

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

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

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

पैरामीटर

रिटर्न

  • Promise&lt;TransferResultInfo&gt;

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

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

findDevices()

प्रॉमिस
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)

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

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

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

पैरामीटर

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

  • कॉलबैक

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

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

    (handles: ConnectionHandle[]) => void

रिटर्न

  • Promise&lt;ConnectionHandle[]&gt;

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

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

getConfiguration()

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

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

पैरामीटर

  • हैंडल

    डिवाइस से खुला कनेक्शन.

  • कॉलबैक

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

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

    (config: ConfigDescriptor) => void

रिटर्न

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

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

getConfigurations()

Promise 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

रिटर्न

  • Promise&lt;TransferResultInfo&gt;

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

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

isochronousTransfer()

प्रॉमिस
chrome.usb.isochronousTransfer(
  handle: ConnectionHandle,
  transferInfo: IsochronousTransferInfo,
  callback?: function,
)

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

पैरामीटर

रिटर्न

  • Promise&lt;TransferResultInfo&gt;

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

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

listInterfaces()

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

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

पैरामीटर

  • हैंडल

    डिवाइस से खुला कनेक्शन.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (descriptors: InterfaceDescriptor[]) => void

रिटर्न

  • Promise&lt;InterfaceDescriptor[]&gt;

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

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

openDevice()

प्रॉमिस
chrome.usb.openDevice(
  device: Device,
  callback?: function,
)

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

पैरामीटर

  • डिवाइस

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

  • कॉलबैक

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

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

    (handle: ConnectionHandle) => void

रिटर्न

  • Promise&lt;ConnectionHandle&gt;

    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

    • सफलता

      बूलियन

रिटर्न

  • Promise&lt;boolean&gt;

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

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

resetDevice()

प्रॉमिस
chrome.usb.resetDevice(
  handle: ConnectionHandle,
  callback?: function,
)

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (success: boolean) => void

    • सफलता

      बूलियन

रिटर्न

  • Promise&lt;boolean&gt;

    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