ब्यौरा
कनेक्ट किए गए यूएसबी डिवाइसों के साथ इंटरैक्ट करने के लिए, chrome.usb एपीआई का इस्तेमाल करें. यह एपीआई, किसी ऐप्लिकेशन के अंदर से यूएसबी से जुड़े कामों को ऐक्सेस करने की सुविधा देता है. इस एपीआई का इस्तेमाल करके, ऐप्लिकेशन हार्डवेयर डिवाइसों के लिए ड्राइवर के तौर पर काम कर सकते हैं. इस एपीआई से जनरेट होने वाली गड़बड़ियों की जानकारी, runtime.lastError को सेट करके और फ़ंक्शन के सामान्य कॉलबैक को लागू करके दी जाती है. इस मामले में, कॉलबैक के सामान्य पैरामीटर तय नहीं किए जाएंगे.
अनुमतियां
usbउपलब्धता
टाइप
ConfigDescriptor
प्रॉपर्टी
-
सक्रिय
बूलियन
Chrome 47+क्या यह चालू कॉन्फ़िगरेशन है?
-
configurationValue
संख्या
कॉन्फ़िगरेशन नंबर.
-
ब्यौरा
string ज़रूरी नहीं
कॉन्फ़िगरेशन का ब्यौरा.
-
extra_data
ArrayBuffer
इस कॉन्फ़िगरेशन से जुड़ा अतिरिक्त डिस्क्रिप्टर डेटा.
-
इंटरफ़ेस
उपलब्ध इंटरफ़ेस.
-
maxPower
संख्या
इस डिवाइस को मिलीऐंपियर (एमए) में ज़्यादा से ज़्यादा कितनी पावर की ज़रूरत है.
-
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
प्रॉपर्टी
-
डिवाइस
संख्या
यूएसबी डिवाइस के लिए एक ओपेक आईडी. जब तक डिवाइस को अनप्लग नहीं किया जाता, तब तक यह नहीं बदलता.
-
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 ज़रूरी नहीं है
ट्रांसफ़र सिंक्रनाइज़ेशन मोड (सिर्फ़ आइसोक्रोनस).
-
टाइप
ट्रांसफ़र का टाइप.
-
इस्तेमाल
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
ट्रांसफ़र के पैरामीटर.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(info: TransferResultInfo) => void
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
यूएसबी डिवाइस पर किसी इंटरफ़ेस का दावा करता है. किसी इंटरफ़ेस या उससे जुड़े एंडपॉइंट पर डेटा ट्रांसफ़र करने से पहले, इंटरफ़ेस पर दावा करना ज़रूरी है. किसी भी समय, सिर्फ़ एक कनेक्शन हैंडल किसी इंटरफ़ेस पर दावा कर सकता है. अगर इंटरफ़ेस पर पहले ही दावा किया जा चुका है, तो यह कॉल नहीं किया जा सकेगा.
जब इंटरफ़ेस की ज़रूरत न हो, तब releaseInterface को कॉल किया जाना चाहिए.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
interfaceNumber
संख्या
वह इंटरफ़ेस जिस पर दावा करना है.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<void>
कनेक्शन हैंडल को बंद करता है. हैंडल बंद होने के बाद, उस पर कार्रवाइयां शुरू करना एक सुरक्षित कार्रवाई है. हालांकि, इससे कोई कार्रवाई नहीं होती.
पैरामीटर
-
हैंडल
बंद करने के लिए,
ConnectionHandle. -
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
चुने गए डिवाइस पर कंट्रोल ट्रांसफ़र करता है.
कंट्रोल ट्रांसफ़र, डिवाइस, इंटरफ़ेस या एंडपॉइंट से जुड़े होते हैं. किसी इंटरफ़ेस या एंडपॉइंट पर ट्रांसफ़र करने के लिए, इंटरफ़ेस पर दावा करना ज़रूरी है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
transferInfo
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(info: TransferResultInfo) => void
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
): Promise<ConnectionHandle[]>
यह वेंडर, प्रॉडक्ट, और इंटरफ़ेस आईडी (ज़रूरी नहीं) के हिसाब से यूएसबी डिवाइसों को ढूंढता है. साथ ही, अनुमति मिलने पर उन्हें इस्तेमाल के लिए खोलता है.
अगर ऐक्सेस का अनुरोध अस्वीकार कर दिया जाता है या डिवाइस नहीं खुलता है, तो कनेक्शन हैंडल नहीं बनाया जाएगा या उसे वापस नहीं किया जाएगा.
इस तरीके को कॉल करने का मतलब है कि हर डिवाइस के लिए, getDevices को कॉल करने के बाद, openDevice को कॉल करना.
पैरामीटर
-
टारगेट डिवाइसों पर खोजी जाने वाली प्रॉपर्टी.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(handles: ConnectionHandle[]) => void
-
हैंडल
-
रिटर्न
-
Promise<ConnectionHandle[]>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
): Promise<ConfigDescriptor>
इससे, चुने गए मौजूदा कॉन्फ़िगरेशन के लिए कॉन्फ़िगरेशन डिस्क्रिप्टर मिलता है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(config: ConfigDescriptor) => void
-
कॉन्फ़िगरेशन
-
रिटर्न
-
Promise<ConfigDescriptor>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
): Promise<ConfigDescriptor[]>
यह फ़ंक्शन, डिवाइस कॉन्फ़िगरेशन डिस्क्रिप्टर का पूरा सेट दिखाता है.
पैरामीटर
-
डिवाइस
वह
Deviceजिससे डिस्क्रिप्टर फ़ेच करने हैं. -
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(configs: ConfigDescriptor[]) => void
-
कॉन्फ़िगरेशन
-
रिटर्न
-
Promise<ConfigDescriptor[]>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
): Promise<Device[]>
कनेक्ट किए गए यूएसबी डिवाइसों की सूची दिखाता है.
पैरामीटर
रिटर्न
-
Promise<Device[]>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
): Promise<Device[]>
उपयोगकर्ता को डिवाइस पिकर दिखाता है और चुने गए Device दिखाता है. अगर उपयोगकर्ता पिकर को रद्द कर देता है, तो डिवाइसों की सूची खाली हो जाएगी. डायलॉग बॉक्स दिखाने के लिए, उपयोगकर्ता का जेस्चर ज़रूरी है. उपयोगकर्ता के जेस्चर के बिना, कॉलबैक इस तरह से चलेगा जैसे उपयोगकर्ता ने उसे रद्द कर दिया हो.
पैरामीटर
रिटर्न
-
Promise<Device[]>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
यह चुने गए डिवाइस पर इंटरप्ट ट्रांसफ़र करता है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
transferInfo
ट्रांसफ़र के पैरामीटर.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(info: TransferResultInfo) => void
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
यह किसी खास डिवाइस पर, एक ही समय पर डेटा ट्रांसफ़र करता है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
transferInfo
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(info: TransferResultInfo) => void
-
जानकारी
-
रिटर्न
-
Promise<TransferResultInfo>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
): Promise<InterfaceDescriptor[]>
यूएसबी डिवाइस पर मौजूद सभी इंटरफ़ेस की सूची दिखाता है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(descriptors: InterfaceDescriptor[]) => void
-
ब्यौरे
-
रिटर्न
-
Promise<InterfaceDescriptor[]>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
): Promise<ConnectionHandle>
getDevices से मिले यूएसबी डिवाइस को खोलता है.
पैरामीटर
-
डिवाइस
Deviceको खोलने के लिए. -
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(handle: ConnectionHandle) => void
-
हैंडल
-
रिटर्न
-
Promise<ConnectionHandle>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
दावा किए गए इंटरफ़ेस को रिलीज़ करता है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
interfaceNumber
संख्या
रिलीज़ किया जाने वाला इंटरफ़ेस.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
): Promise<boolean>
यह फ़ंक्शन सिर्फ़ ChromeOS के लिए था. इसे अन्य प्लैटफ़ॉर्म पर कॉल करने से गड़बड़ी होती थी. यह कार्रवाई अब openDevice के हिस्से के तौर पर अपने-आप पूरी हो जाती है. साथ ही, यह फ़ंक्शन सभी प्लैटफ़ॉर्म पर true दिखाएगा.
अगर डिवाइस पर दिया गया इंटरफ़ेस क्लेम नहीं किया गया है, तो ChromeOS के क्लेम किए गए डिवाइस के लिए, अनुमति ब्रोकर से ऐक्सेस का अनुरोध करता है.
पैरामीटर
-
डिवाइस
वह
Deviceजिसके ऐक्सेस का अनुरोध करना है. -
interfaceId
संख्या
अनुरोध किया गया इंटरफ़ेस.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(success: boolean) => void
-
हो गया
बूलियन
-
रिटर्न
-
Promise<boolean>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<boolean>
यूएसबी डिवाइस को रीसेट करने की कोशिश करता है. अगर रीसेट नहीं हो पाता है, तो दिया गया कनेक्शन हैंडल बंद हो जाएगा. साथ ही, यूएसबी डिवाइस डिसकनेक्ट होकर फिर से कनेक्ट होता हुआ दिखेगा. इस मामले में, डिवाइस को ऐक्सेस करने के लिए, getDevices या findDevices को फिर से कॉल करना होगा.
पैरामीटर
-
हैंडल
रीसेट करने के लिए कनेक्शन हैंडल.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(success: boolean) => void
-
हो गया
बूलियन
-
रिटर्न
-
Promise<boolean>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
): Promise<void>
कोई डिवाइस कॉन्फ़िगरेशन चुनें.
यह फ़ंक्शन, डिवाइस के उपलब्ध कॉन्फ़िगरेशन में से किसी एक को चुनकर, डिवाइस को रीसेट करता है. सिर्फ़ 0 से ज़्यादा की कॉन्फ़िगरेशन वैल्यू मान्य हैं. हालांकि, गड़बड़ी वाले कुछ डिवाइसों में 0 कॉन्फ़िगरेशन काम करता है. इसलिए, इस वैल्यू की अनुमति है.
पैरामीटर
-
हैंडल
डिवाइस से कनेक्ट किया गया हो.
-
configurationValue
संख्या
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
): Promise<void>
पहले से दावा किए गए इंटरफ़ेस पर कोई वैकल्पिक सेटिंग चुनता है.
पैरामीटर
-
हैंडल
उस डिवाइस से कनेक्शन खुला होना चाहिए जिस पर इस इंटरफ़ेस पर दावा किया गया है.
-
interfaceNumber
संख्या
कॉन्फ़िगर करने के लिए इंटरफ़ेस.
-
alternateSetting
संख्या
कॉन्फ़िगर करने के लिए वैकल्पिक सेटिंग.
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
रिटर्न
-
वादा<शून्य>
Chrome 116 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
सिस्टम में कोई डिवाइस जोड़े जाने पर जनरेट होने वाला इवेंट. इवेंट सिर्फ़ उन ऐप्लिकेशन और एक्सटेंशन पर ब्रॉडकास्ट किए जाते हैं जिनके पास डिवाइस को ऐक्सेस करने की अनुमति होती है. ऐसा हो सकता है कि ऐप्लिकेशन इंस्टॉल करते समय अनुमति दी गई हो. ऐसा तब होता है, जब उपयोगकर्ता ने कोई वैकल्पिक अनुमति स्वीकार की हो (permissions.request देखें) या getUserSelectedDevices के ज़रिए अनुमति दी हो.
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
यह इवेंट तब जनरेट होता है, जब किसी डिवाइस को सिस्टम से हटाया जाता है. डिलीवर किए गए इवेंट देखने के लिए, onDeviceAdded पर जाएं.