chrome.usb

الوصف

استخدِم واجهة برمجة التطبيقات chrome.usb للتفاعل مع أجهزة USB المتصلة. تتيح واجهة برمجة التطبيقات هذه الوصول إلى عمليات USB من داخل سياق التطبيق، ويمكن للتطبيقات من خلالها العمل كبرامج تشغيل للأجهزة. يتم الإبلاغ عن الأخطاء التي تنشئها واجهة برمجة التطبيقات هذه من خلال ضبط runtime.lastError وتنفيذ دالة الاستدعاء العادية. ستكون المَعلمات العادية لعملية الاستدعاء غير محدّدة في هذه الحالة.

الأذونات

usb

مدى التوفّر

نظام التشغيل ChromeOS فقط

الأنواع

ConfigDescriptor

الخصائص

  • نشطة

    قيمة منطقية

    الإصدار 47 من Chrome والإصدارات الأحدث

    هل هذه هي الإعدادات النشطة؟

  • configurationValue

    الرقم

    رقم الإعدادات

  • الوصف

    string اختياري

    وصف الإعدادات

  • extra_data

    ArrayBuffer

    بيانات الواصف الإضافية المرتبطة بهذه الإعدادات

  • واجهات

    الواجهات المتاحة

  • maxPower

    الرقم

    الحد الأقصى للطاقة التي يحتاجها هذا الجهاز بالمللي أمبير (mA).

  • remoteWakeup

    قيمة منطقية

    يتيح الجهاز ميزة التنشيط عن بُعد.

  • selfPowered

    قيمة منطقية

    يتم تشغيل الجهاز ذاتيًا.

ConnectionHandle

الخصائص

  • مؤشر

    الرقم

    مؤشر غير شفاف يمثّل هذا الاتصال بجهاز USB وجميع الواجهات المطالَب بها وعمليات النقل المعلّقة المرتبطة به. يتم إنشاء مؤشر جديد في كل مرة يتم فيها فتح الجهاز. يختلف معرّف الاتصال عن Device.device.

  • productId

    الرقم

    معرّف المنتج

  • vendorId

    الرقم

    معرّف مورّد الجهاز

ControlTransferInfo

الخصائص

  • البيانات

    ‫ArrayBuffer اختياري

    البيانات المطلوب نقلها (مطلوبة فقط لعمليات النقل الصادرة)

  • اتجاه

    اتجاه النقل ("in" أو "out")

  • الفهرس

    الرقم

    الحقل wIndex، راجِع Ibid.

  • length

    number اختيارية

    الحد الأقصى لعدد وحدات البايت التي سيتم تلقّيها (مطلوب فقط لعمليات نقل البيانات الواردة)

  • مستلم

    الوجهة المستهدَفة للنقل يجب المطالبة بالهدف المحدّد في السمة index إذا كانت السمة "interface" أو "endpoint".

  • طلب

    الرقم

    حقل bRequest، راجِع مواصفات الناقل التسلسلي العالمي، الإصدار 1.1 الفقرة 9.3.

  • requestType

    نوع الطلب

  • وقت مستقطع

    number اختيارية

    الإصدار 43 من Chrome أو الإصدارات الأحدث

    مهلة الطلب (بالملي ثانية) تشير القيمة التلقائية 0 إلى عدم وجود مهلة.

  • القيمة

    الرقم

    حقل wValue، راجِع Ibid.

Device

الخصائص

  • جهاز

    الرقم

    معرّف غير شفاف لجهاز USB ويظلّ هذا الإعداد بدون تغيير إلى أن يتم فصل الجهاز عن مصدر الطاقة.

  • manufacturerName

    سلسلة

    الإصدار 46 من Chrome أو الإصدارات الأحدث

    سلسلة iManufacturer التي تمت قراءتها من الجهاز، إن توفّرت.

  • productId

    الرقم

    معرّف المنتج

  • productName

    سلسلة

    الإصدار 46 من Chrome أو الإصدارات الأحدث

    سلسلة iProduct التي تمت قراءتها من الجهاز، إن توفّرت

  • serialNumber

    سلسلة

    الإصدار 46 من Chrome أو الإصدارات الأحدث

    سلسلة iSerialNumber التي تمت قراءتها من الجهاز، إن توفّرت

  • vendorId

    الرقم

    معرّف مورّد الجهاز

  • الإصدار

    الرقم

    الإصدار 51 من Chrome أو الإصدارات الأحدث

    إصدار الجهاز (حقل bcdDevice)

DeviceFilter

الخصائص

  • interfaceClass

    number اختيارية

    فئة واجهة USB، تتطابق مع أي واجهة على الجهاز.

  • interfaceProtocol

    number اختيارية

    بروتوكول واجهة USB، يتم التحقّق منه فقط في حال تطابق الفئة الفرعية للواجهة.

  • interfaceSubclass

    number اختيارية

    الفئة الفرعية لواجهة USB، ويتم التحقّق منها فقط إذا كانت فئة الواجهة متطابقة.

  • productId

    number اختيارية

    معرّف منتج الجهاز، يتم التحقّق منه فقط في حال تطابق معرّف المورّد.

  • vendorId

    number اختيارية

    رقم تعريف مورّد الجهاز

DevicePromptOptions

الخصائص

  • الفلاتر

    DeviceFilter[] اختياري

    فلترة قائمة الأجهزة المعروضة للمستخدم في حال توفير فلاتر متعددة، سيتم عرض الأجهزة التي تتطابق مع أي فلتر.

  • متعددة

    قيمة منطقية اختيارية

    السماح للمستخدم باختيار أجهزة متعددة

Direction

يتم ربط كل من Direction وRecipient وRequestType وTransferType بالأسماء نفسها ضمن مواصفات USB.

Enum

"في"

"out"

EndpointDescriptor

الخصائص

  • معالجة

    الرقم

    عنوان نقطة النهاية

  • اتجاه

    اتجاه النقل

  • extra_data

    ArrayBuffer

    بيانات واصف إضافية مرتبطة بنقطة النهاية هذه

  • maximumPacketSize

    الرقم

    الحد الأقصى لحجم الحزمة

  • pollingInterval

    number اختيارية

    الفاصل الزمني للاقتراع (المقاطعة والتزامن فقط)

  • المزامنة

    SynchronizationType اختيارية

    وضع مزامنة النقل (متزامن فقط)

  • النوع

    نوع عملية النقل

  • الاستخدام

    UsageType اختياري

    تلميح حول استخدام نقطة النهاية

EnumerateDevicesAndRequestAccessOptions

الخصائص

  • interfaceId

    number اختيارية

    معرّف الواجهة المطلوب الوصول إليها تتوفّر هذه الميزة على نظام التشغيل Chrome فقط. ولا يؤثر في المنصات الأخرى.

  • productId

    الرقم

    معرّف المنتج

  • vendorId

    الرقم

    معرّف مورّد الجهاز

EnumerateDevicesOptions

الخصائص

  • الفلاتر

    DeviceFilter[] اختياري

    سيتم عرض جهاز يتطابق مع أي فلتر محدّد. ستعرض قائمة الفلاتر الفارغة جميع الأجهزة التي يملك التطبيق إذنًا بالوصول إليها.

  • productId

    number اختيارية

    متوقّف نهائيًا

    يعادل ضبط DeviceFilter.productId.

  • vendorId

    number اختيارية

    متوقّف نهائيًا

    يعادل ضبط DeviceFilter.vendorId.

GenericTransferInfo

الخصائص

  • البيانات

    ‫ArrayBuffer اختياري

    البيانات المطلوب نقلها (مطلوبة فقط لعمليات النقل الصادرة)

  • اتجاه

    اتجاه النقل ("in" أو "out")

  • نقطة نهاية

    الرقم

    عنوان نقطة النهاية المستهدفة يجب المطالبة بالواجهة التي تحتوي على نقطة النهاية هذه.

  • length

    number اختيارية

    الحد الأقصى لعدد وحدات البايت التي سيتم تلقّيها (مطلوب فقط لعمليات نقل البيانات الواردة)

  • وقت مستقطع

    number اختيارية

    الإصدار 43 من Chrome أو الإصدارات الأحدث

    مهلة الطلب (بالملي ثانية) تشير القيمة التلقائية 0 إلى عدم وجود مهلة.

InterfaceDescriptor

الخصائص

  • alternateSetting

    الرقم

    رقم الإعداد البديل للواجهة (يتم ضبطه تلقائيًا على 0

  • الوصف

    string اختياري

    وصف الواجهة

  • نقاط النهاية

    نقاط النهاية المتاحة

  • extra_data

    ArrayBuffer

    بيانات الواصف الإضافية المرتبطة بهذه الواجهة

  • interfaceClass

    الرقم

    فئة واجهة USB

  • interfaceNumber

    الرقم

    رقم الواجهة

  • interfaceProtocol

    الرقم

    بروتوكول واجهة USB

  • interfaceSubclass

    الرقم

    الفئة الفرعية لواجهة USB

IsochronousTransferInfo

الخصائص

  • packetLength

    الرقم

    طول كل حزمة في عملية النقل هذه

  • حِزم

    الرقم

    إجمالي عدد الحزم في عملية النقل هذه

  • transferInfo

    مَعلمات النقل يتم تقسيم طول عملية النقل أو مخزن البيانات المؤقّت المحدّد في مجموعة المَعلمات هذه على طول حدود packetLength لتشكيل الحِزم الفردية لعملية النقل.

Recipient

Enum

"device"

"interface"

"endpoint"

"other"

RequestType

Enum

"standard"

"class"

"vendor"

"reserved"

SynchronizationType

بالنسبة إلى وضعَي المقاطعة والتزامن، يتم ربط SynchronizationType وUsageType بالأسماء نفسها ضمن مواصفات USB.

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>

ينفّذ عملية نقل مجمّعة على الجهاز المحدّد.

المعلمات

المرتجعات

  • الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

claimInterface()

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

يطلب واجهة على جهاز USB. قبل نقل البيانات إلى واجهة أو نقاط نهاية مرتبطة، يجب المطالبة بالواجهة. يمكن لمقبض اتصال واحد فقط المطالبة بواجهة في أي وقت. إذا سبق أن تمت المطالبة بالواجهة، سيتعذّر إجراء هذه المكالمة.

يجب استدعاء releaseInterface عندما لا تكون هناك حاجة إلى الواجهة.

المعلمات

  • مؤشر

    اتصال مفتوح بالجهاز

  • interfaceNumber

    الرقم

    الواجهة المطلوب المطالبة بها

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

closeDevice()

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

لإغلاق مؤشر الاتصال إنّ استدعاء العمليات على مؤشر بعد إغلاقه هو عملية آمنة ولكن لا يؤدي إلى اتخاذ أي إجراء.

المعلمات

  • مؤشر

    ‫ConnectionHandle للإغلاق

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

controlTransfer()

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

ينفّذ عملية نقل التحكّم على الجهاز المحدّد.

تشير عمليات نقل التحكّم إلى الجهاز أو الواجهة أو نقطة النهاية. تتطلّب عمليات النقل إلى واجهة أو نقطة نهاية أن تتم المطالبة بالواجهة.

المعلمات

المرتجعات

  • الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

findDevices()

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

للعثور على أجهزة USB التي يحدّدها المورّد والمنتج ومعرّفات الواجهة (اختياريًا)، وفتحها للاستخدام إذا كانت الأذونات تسمح بذلك.

إذا تم رفض طلب الوصول أو تعذّر فتح الجهاز، لن يتم إنشاء أو عرض مؤشر اتصال.

يؤدي استدعاء هذه الطريقة إلى استدعاء getDevices متبوعة بـ openDevice لكل جهاز.

المعلمات

المرتجعات

  • Promise<ConnectionHandle[]>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

getConfiguration()

Promise
chrome.usb.getConfiguration(
  handle: ConnectionHandle,
  callback?: function,
)
: Promise<ConfigDescriptor>

للحصول على واصف الإعدادات للإعدادات المحدّدة حاليًا

المعلمات

المرتجعات

  • الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

getConfigurations()

Promise الإصدار 47 من Chrome والإصدارات الأحدث
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)
: Promise<ConfigDescriptor[]>

تعرض هذه الدالة المجموعة الكاملة من واصفات إعدادات الجهاز.

المعلمات

المرتجعات

  • Promise<ConfigDescriptor[]>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

getDevices()

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

تعداد أجهزة USB المتصلة

المعلمات

  • الخيارات

    الخصائص المطلوب البحث عنها على أجهزة الاختبار

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (devices: Device[]) => void

المرتجعات

  • Promise<Device[]>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

getUserSelectedDevices()

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

يعرض هذا الإجراء أداة اختيار الأجهزة للمستخدم ويعرض Devices المحدّدة. إذا ألغى المستخدم أداة الاختيار، ستكون الأجهزة فارغة. يتطلب ظهور مربّع الحوار إجراءً تفاعليًا من المستخدم. بدون إجراء تفاعلي من المستخدم، سيتم تنفيذ دالة الاستدعاء كما لو أنّ المستخدم ألغى الإجراء.

المعلمات

  • الخيارات

    إعدادات مربّع حوار أداة اختيار الأجهزة

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (devices: Device[]) => void

المرتجعات

  • Promise<Device[]>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

interruptTransfer()

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

ينفّذ عملية نقل بيانات عبر المقاطعة على الجهاز المحدّد.

المعلمات

المرتجعات

  • الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

isochronousTransfer()

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

ينفّذ عملية نقل متزامنة على الجهاز المحدّد.

المعلمات

المرتجعات

  • الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

listInterfaces()

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

تعرض هذه الطريقة جميع الواجهات على جهاز USB.

المعلمات

المرتجعات

  • الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

openDevice()

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

يفتح جهاز USB الذي تم عرضه من خلال getDevices.

المعلمات

المرتجعات

  • الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

releaseInterface()

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

لتحرير واجهة تمت المطالبة بها

المعلمات

  • مؤشر

    اتصال مفتوح بالجهاز

  • interfaceNumber

    الرقم

    الواجهة المطلوب تحريرها

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

requestAccess()

Promise متوقّف نهائيًا
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)
: Promise<boolean>

كانت هذه الدالة خاصة بنظام التشغيل ChromeOS، وكان استدعاؤها على أنظمة أساسية أخرى يؤدي إلى تعذُّر تنفيذها. يتم الآن تنفيذ هذه العملية ضمنيًا كجزء من openDevice وستعرض هذه الدالة true على جميع المنصات.

يطلب الوصول من وسيط الأذونات إلى جهاز يطالب به نظام التشغيل Chrome إذا لم تتم المطالبة بالواجهة المحدّدة على الجهاز.

المعلمات

  • جهاز

    Device المطلوب الوصول إليه

  • interfaceId

    الرقم

    الواجهة المحدّدة المطلوبة

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (success: boolean) => void

    • نجاح

      قيمة منطقية

المرتجعات

  • Promise<boolean>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

resetDevice()

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

يحاول إعادة ضبط جهاز USB. إذا تعذّرت إعادة الضبط، سيتم إغلاق معرّف الاتصال المحدّد وسيظهر جهاز USB على أنّه غير متصل ثم تتم إعادة توصيله. وفي هذه الحالة، يجب استدعاء getDevices أو findDevices مرة أخرى للحصول على الجهاز.

المعلمات

  • مؤشر

    مؤشر اتصال لإعادة الضبط

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    (success: boolean) => void

    • نجاح

      قيمة منطقية

المرتجعات

  • Promise<boolean>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

setConfiguration()

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

اختَر إعدادات الجهاز.

تعمل هذه الوظيفة على إعادة ضبط الجهاز من خلال اختيار أحد الإعدادات المتاحة للجهاز. تكون قيم الإعدادات الصالحة هي فقط القيم الأكبر من 0، ولكن بعض الأجهزة التي تتضمّن أخطاءً تحتوي على إعدادات صالحة بقيمة 0، وبالتالي يُسمح بهذه القيمة.

المعلمات

  • مؤشر

    اتصال مفتوح بالجهاز

  • configurationValue

    الرقم

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

setInterfaceAlternateSetting()

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

يختار إعدادًا بديلاً لواجهة تمّت المطالبة بها سابقًا.

المعلمات

  • مؤشر

    اتصال مفتوح بالجهاز الذي تم فيه طلب هذه الواجهة

  • interfaceNumber

    الرقم

    الواجهة المطلوب ضبطها

  • alternateSetting

    الرقم

    الإعداد البديل الذي تريد ضبطه

  • callback

    function اختياري

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • وعد<فراغ>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.

الفعاليات

onDeviceAdded

chrome.usb.onDeviceAdded.addListener(
  callback: function,
)

يتم إنشاء هذا الحدث عند إضافة جهاز إلى النظام. لا يتم بث الأحداث إلا إلى التطبيقات والإضافات التي لديها إذن بالوصول إلى الجهاز. قد يكون تم منح الإذن في وقت التثبيت، عندما وافق المستخدم على إذن اختياري (راجِع permissions.request)، أو من خلال getUserSelectedDevices.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (device: Device) => void

onDeviceRemoved

chrome.usb.onDeviceRemoved.addListener(
  callback: function,
)

يتم إنشاء الحدث عند إزالة جهاز من النظام. يمكنك الاطّلاع على onDeviceAdded لمعرفة الأحداث التي يتم إرسالها.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (device: Device) => void