ब्यौरा
कनेक्ट किए गए यूएसबी डिवाइसों के साथ इंटरैक्ट करने के लिए, 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[] ज़रूरी नहीं है
उपयोगकर्ता को दिखाए गए डिवाइसों की सूची को फ़िल्टर करें. अगर कई फ़िल्टर दिए गए हैं, तो किसी भी फ़िल्टर से मैच करने वाले डिवाइस दिखाए जाएंगे.
-
एक से ज़्यादा
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()
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
-
कॉन्फ़िगरेशन
-
रिटर्न
-
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 देखें.