chrome.usb

ब्यौरा

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

अनुमतियां

usb

टाइप

ConfigDescriptor

प्रॉपर्टी

  • सक्रिय

    बूलियन

    Chrome 47+

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

  • configurationValue

    संख्या

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

  • ब्यौरा

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

    कॉन्फ़िगरेशन के बारे में जानकारी.

  • extra_data

    ArrayBuffer

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

  • इंटरफ़ेस

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

  • maxPower

    संख्या

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

  • 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

प्रॉपर्टी

  • डिवाइस

    संख्या

    यह 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

    number ज़रूरी नहीं

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

  • vendorId

    number ज़रूरी नहीं

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

DevicePromptOptions

प्रॉपर्टी

  • फ़िल्टर

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

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

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

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

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

Direction

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

Enum

"in"

"out"

EndpointDescriptor

प्रॉपर्टी

  • पता

    संख्या

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

  • दिशा

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

  • extra_data

    ArrayBuffer

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

  • maximumPacketSize

    संख्या

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

  • pollingInterval

    number ज़रूरी नहीं

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

  • सिंक्रनाइज़ेशन

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

  • टाइप

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

  • इस्तेमाल

    UsageType optional

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

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

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

  • कॉलबैक

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

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

    (info: TransferResultInfo) => void

रिटर्न

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

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

claimInterface()

प्रॉमिस
chrome.usb.claimInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)
: Promise<void>

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

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

पैरामीटर

  • हैंडल

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

  • interfaceNumber

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

closeDevice()

प्रॉमिस
chrome.usb.closeDevice(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

controlTransfer()

प्रॉमिस
chrome.usb.controlTransfer(
  handle: ConnectionHandle,
  transferInfo: ControlTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

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

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

पैरामीटर

  • हैंडल

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

  • transferInfo
  • कॉलबैक

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

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

    (info: TransferResultInfo) => void

रिटर्न

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

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

findDevices()

प्रॉमिस
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)
: Promise<ConnectionHandle[]>

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

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

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

पैरामीटर

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

  • कॉलबैक

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

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

    (handles: ConnectionHandle[]) => void

रिटर्न

  • Promise<ConnectionHandle[]>

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

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

getConfiguration()

प्रॉमिस
chrome.usb.getConfiguration(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<ConfigDescriptor>

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

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

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

    (config: ConfigDescriptor) => void

रिटर्न

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

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

getConfigurations()

Promise Chrome 47 या इसके बाद के वर्शन
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)
: Promise<ConfigDescriptor[]>

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

पैरामीटर

  • डिवाइस

    Device से डिस्क्रिप्टर फ़ेच किए जाते हैं.

  • कॉलबैक

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

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

    (configs: ConfigDescriptor[]) => void

रिटर्न

  • Promise<ConfigDescriptor[]>

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

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

getDevices()

प्रॉमिस
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)
: Promise<Device[]>

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

पैरामीटर

  • विकल्प

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

  • कॉलबैक

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

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

    (devices: Device[]) => void

रिटर्न

  • Promise<Device[]>

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

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

getUserSelectedDevices()

प्रॉमिस
chrome.usb.getUserSelectedDevices(
  options: DevicePromptOptions,
  callback?: function,
)
: Promise<Device[]>

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

पैरामीटर

  • विकल्प

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

  • कॉलबैक

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

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

    (devices: Device[]) => void

रिटर्न

  • Promise<Device[]>

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

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

interruptTransfer()

प्रॉमिस
chrome.usb.interruptTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)
: Promise<TransferResultInfo>

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

पैरामीटर

  • हैंडल

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

  • transferInfo

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

  • कॉलबैक

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

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

    (info: TransferResultInfo) => void

रिटर्न

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

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

isochronousTransfer()

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

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

पैरामीटर

रिटर्न

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

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

listInterfaces()

प्रॉमिस
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<InterfaceDescriptor[]>

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

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

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

    (descriptors: InterfaceDescriptor[]) => void

रिटर्न

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

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

openDevice()

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

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

पैरामीटर

  • डिवाइस

    Device खुल जाएगा.

  • कॉलबैक

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

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

    (handle: ConnectionHandle) => void

रिटर्न

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

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

releaseInterface()

प्रॉमिस
chrome.usb.releaseInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • हैंडल

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

  • interfaceNumber

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

requestAccess()

Promise Deprecated
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)
: Promise<boolean>

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

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

पैरामीटर

  • डिवाइस

    Device का ऐक्सेस पाने का अनुरोध करें.

  • interfaceId

    संख्या

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

  • कॉलबैक

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

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

    (success: boolean) => void

    • सफलता

      बूलियन

रिटर्न

  • Promise<boolean>

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

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

resetDevice()

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

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

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

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

    (success: boolean) => void

    • सफलता

      बूलियन

रिटर्न

  • Promise<boolean>

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

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

setConfiguration()

प्रॉमिस
chrome.usb.setConfiguration(
  handle: ConnectionHandle,
  configurationValue: number,
  callback?: function,
)
: Promise<void>

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

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

पैरामीटर

  • हैंडल

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

  • configurationValue

    संख्या

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

setInterfaceAlternateSetting()

प्रॉमिस
chrome.usb.setInterfaceAlternateSetting(
  handle: ConnectionHandle,
  interfaceNumber: number,
  alternateSetting: number,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • हैंडल

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

  • 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