ब्यौरा
कनेक्ट किए गए यूएसबी डिवाइसों के साथ इंटरैक्ट करने के लिए, 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 ज़रूरी नहीं
पोलिंग इंटरवल (सिर्फ़ इंटरप्ट और आइसोक्रोनस के लिए).
-
सिंक्रनाइज़ेशन
SynchronizationType optional
ट्रांसफ़र सिंक्रनाइज़ेशन मोड (सिर्फ़ आइसोक्रोनस).
-
टाइप
ट्रांसफ़र का टाइप.
-
इस्तेमाल
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
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
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
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
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
-
config
-
रिटर्न
-
Promise<ConfigDescriptor>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getConfigurations()
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[]>
यह कनेक्ट किए गए यूएसबी डिवाइसों की गिनती करता है.
पैरामीटर
रिटर्न
-
Promise<Device[]>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
): Promise<Device[]>
यह उपयोगकर्ता को डिवाइस चुनने की सुविधा देता है और चुने गए Device
दिखाता है. अगर उपयोगकर्ता पिकर को रद्द करता है, तो डिवाइसों की सूची खाली हो जाएगी. डायलॉग बॉक्स दिखाने के लिए, उपयोगकर्ता का जेस्चर ज़रूरी है. उपयोगकर्ता के जेस्चर के बिना, कॉलबैक इस तरह चलेगा जैसे उपयोगकर्ता ने रद्द कर दिया हो.
पैरामीटर
रिटर्न
-
Promise<Device[]>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
यह कमांड, चुने गए डिवाइस पर इंटरप्ट ट्रांसफ़र की सुविधा चालू करती है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
transferInfo
ट्रांसफ़र के पैरामीटर.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(info: TransferResultInfo) => void
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
यह फ़ंक्शन, किसी डिवाइस पर आइसोक्रोनस ट्रांसफ़र करता है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
transferInfo
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(info: TransferResultInfo) => void
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
): Promise<InterfaceDescriptor[]>
यह कमांड, यूएसबी डिवाइस पर मौजूद सभी इंटरफ़ेस की सूची दिखाती है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(descriptors: InterfaceDescriptor[]) => void
-
डिस्क्रिप्टर
-
रिटर्न
-
Promise<InterfaceDescriptor[]>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
): Promise<ConnectionHandle>
यह getDevices
से मिले यूएसबी डिवाइस को खोलता है.
पैरामीटर
-
डिवाइस
Device
खुल जाएगा. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(handle: ConnectionHandle) => void
-
हैंडल
-
रिटर्न
-
Promise<ConnectionHandle>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
यह दावा किए गए इंटरफ़ेस को रिलीज़ करता है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
interfaceNumber
संख्या
रिलीज़ किया जाने वाला इंटरफ़ेस.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 116 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
requestAccess()
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
के ज़रिए अनुमति दी गई हो.
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
जब किसी डिवाइस को सिस्टम से हटाया जाता है, तब यह इवेंट जनरेट होता है. डिलीवर किए गए इवेंट के लिए onDeviceAdded
देखें.