chrome.usb

ब्यौरा

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

अनुमतियां

usb

उपलब्धता

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

टाइप

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[] ज़रूरी नहीं है

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

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

    boolean optional

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

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

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

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

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया कोई खुला कनेक्शन.

  • transferInfo

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

  • कॉलबैक

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

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

    (info: TransferResultInfo) => void

रिटर्न

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

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

claimInterface()

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

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

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

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया कोई खुला कनेक्शन.

  • interfaceNumber

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

closeDevice()

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

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

controlTransfer()

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

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

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

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया कोई खुला कनेक्शन.

  • transferInfo
  • कॉलबैक

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

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

    (info: TransferResultInfo) => void

रिटर्न

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

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

findDevices()

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

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

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

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

पैरामीटर

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

  • कॉलबैक

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

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

    (handles: ConnectionHandle[]) => void

रिटर्न

  • Promise<ConnectionHandle[]>

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

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

getConfiguration()

Promise
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()

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

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

पैरामीटर

  • विकल्प

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

  • कॉलबैक

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

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

    (devices: Device[]) => void

रिटर्न

  • Promise<Device[]>

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

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

getUserSelectedDevices()

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

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

पैरामीटर

  • विकल्प

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

  • कॉलबैक

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

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

    (devices: Device[]) => void

रिटर्न

  • Promise<Device[]>

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

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

interruptTransfer()

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

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

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया कोई खुला कनेक्शन.

  • transferInfo

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

  • कॉलबैक

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

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

    (info: TransferResultInfo) => void

रिटर्न

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

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

isochronousTransfer()

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

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

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया कोई खुला कनेक्शन.

  • कॉलबैक

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

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

    (info: TransferResultInfo) => void

रिटर्न

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

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

listInterfaces()

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

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

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया कोई खुला कनेक्शन.

  • कॉलबैक

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

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

    (descriptors: InterfaceDescriptor[]) => void

रिटर्न

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

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

openDevice()

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

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

पैरामीटर

  • डिवाइस

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

  • कॉलबैक

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

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

    (handle: ConnectionHandle) => void

रिटर्न

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

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

releaseInterface()

Promise
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()

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

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

पैरामीटर

  • हैंडल

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

  • कॉलबैक

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

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

    (success: boolean) => void

    • सफलता

      बूलियन

रिटर्न

  • Promise<boolean>

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

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

setConfiguration()

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

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

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

पैरामीटर

  • हैंडल

    डिवाइस से कनेक्ट किया गया कोई खुला कनेक्शन.

  • configurationValue

    संख्या

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

setInterfaceAlternateSetting()

Promise
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