chrome.usb

คำอธิบาย

ใช้ chrome.usb API เพื่อโต้ตอบกับอุปกรณ์ USB ที่เชื่อมต่อ API นี้ให้สิทธิ์เข้าถึงการดำเนินการ USB จากภายในบริบทของแอป เมื่อใช้ API นี้ แอปต่างๆ จะทำหน้าที่เป็นไดรเวอร์ของอุปกรณ์ฮาร์ดแวร์ได้ ระบบจะรายงานข้อผิดพลาดที่สร้างโดย API นี้โดยการตั้งค่า runtime.lastError และเรียกใช้ Callback ปกติของฟังก์ชัน พารามิเตอร์ปกติของ Callback จะไม่ได้กำหนดในกรณีนี้

สิทธิ์

usb

ประเภท

ConfigDescriptor

พร็อพเพอร์ตี้

  • ใช้งาน

    boolean

    Chrome 47 ขึ้นไป

    การกำหนดค่านี้ใช้งานอยู่ใช่ไหม

  • configurationValue

    ตัวเลข

    หมายเลขการกำหนดค่า

  • คำอธิบาย

    string ไม่บังคับ

    คำอธิบายการกำหนดค่า

  • extra_data

    อาร์เรย์บัฟเฟอร์

    ข้อมูลข้อบ่งชี้เพิ่มเติมที่เชื่อมโยงกับการกำหนดค่านี้

  • อินเทอร์เฟซ

    อินเทอร์เฟซที่พร้อมใช้งาน

  • maxPower

    ตัวเลข

    กำลังไฟฟ้าสูงสุดที่อุปกรณ์นี้ต้องใช้ในหน่วยมิลลิแอมป์ (mA)

  • remoteWakeup

    boolean

    อุปกรณ์รองรับการปลุกระบบจากระยะไกล

  • selfPowered

    boolean

    อุปกรณ์เป็นแบบขับเคลื่อนด้วยตัวเอง

ConnectionHandle

พร็อพเพอร์ตี้

  • แฮนเดิล

    ตัวเลข

    แฮนเดิลสีทึบที่แสดงถึงการเชื่อมต่อนี้กับอุปกรณ์ USB รวมถึงอินเทอร์เฟซที่อ้างสิทธิ์และเชื่อมโยงทั้งหมด รวมถึงการโอนที่รอดำเนินการ ระบบจะสร้างแฮนเดิลใหม่ทุกครั้งที่เปิดอุปกรณ์ แฮนเดิลการเชื่อมต่อแตกต่างจาก Device.device

  • productId

    ตัวเลข

    รหัสผลิตภัณฑ์

  • vendorId

    ตัวเลข

    รหัสผู้ให้บริการอุปกรณ์

ControlTransferInfo

พร็อพเพอร์ตี้

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

    ข้อมูลที่จะส่ง (ต้องใช้โดยการโอนเอาต์พุตเท่านั้น)

  • direction

    ทิศทางการโอน ("in" หรือ "out")

  • ดัชนี

    ตัวเลข

    ช่อง wIndex โปรดดู Ibid

  • ความยาว

    หมายเลข ไม่บังคับ

    จำนวนไบต์สูงสุดที่จะรับ (จำเป็นสำหรับการโอนอินพุตเท่านั้น)

  • ผู้รับ

    เป้าหมายการโอน ต้องอ้างสิทธิ์เป้าหมายที่ index ระบุไว้หาก "interface" หรือ "endpoint"

  • ส่งคำขอ

    ตัวเลข

    ช่อง bRequest โปรดดูการแก้ไขข้อกำหนดของ Universal Serial Bus 1.1 § 9.3

  • requestType

    ประเภทคำขอ

  • เวลานอก

    หมายเลข ไม่บังคับ

    Chrome 43 ขึ้นไป

    ระยะหมดเวลาของคำขอ (เป็นมิลลิวินาที) ค่าเริ่มต้น 0 ระบุว่าไม่มีการหมดเวลา

  • value

    ตัวเลข

    ช่อง wValue โปรดดู Ibid

Device

พร็อพเพอร์ตี้

  • อุปกรณ์

    ตัวเลข

    รหัสที่คลุมเครือสำหรับอุปกรณ์ USB โดยจะไม่มีการเปลี่ยนแปลงจนกว่าจะถอดปลั๊กอุปกรณ์

  • manufacturerName

    สตริง

    Chrome 46 ขึ้นไป

    อ่านสตริง iManufacturer จากอุปกรณ์ หากมี

  • productId

    ตัวเลข

    รหัสผลิตภัณฑ์

  • productName

    สตริง

    Chrome 46 ขึ้นไป

    สตริง iProduct จะอ่านจากอุปกรณ์ หากมี

  • serialNumber

    สตริง

    Chrome 46 ขึ้นไป

    สตริง iSerialNumber จะอ่านจากอุปกรณ์ หากมี

  • vendorId

    ตัวเลข

    รหัสผู้ให้บริการอุปกรณ์

  • เวอร์ชัน

    ตัวเลข

    Chrome 51 ขึ้นไป

    เวอร์ชันของอุปกรณ์ (ฟิลด์ bcdDevice)

DeviceFilter

พร็อพเพอร์ตี้

  • interfaceClass

    หมายเลข ไม่บังคับ

    คลาสอินเทอร์เฟซ USB จะตรงกับอินเทอร์เฟซใดๆ ในอุปกรณ์

  • interfaceProtocol

    หมายเลข ไม่บังคับ

    มีการเลือกโปรโตคอลอินเทอร์เฟซ USB ไว้ในกรณีที่คลาสย่อยของอินเทอร์เฟซตรงกันเท่านั้น

  • interfaceSubclass

    หมายเลข ไม่บังคับ

    คลาสย่อยของอินเทอร์เฟซ USB เลือกไว้ก็ต่อเมื่อคลาสอินเทอร์เฟซตรงกัน

  • productId

    หมายเลข ไม่บังคับ

    มีการตรวจสอบรหัสผลิตภัณฑ์ของอุปกรณ์เมื่อรหัสผู้ให้บริการตรงกันเท่านั้น

  • vendorId

    หมายเลข ไม่บังคับ

    รหัสผู้ให้บริการอุปกรณ์

DevicePromptOptions

พร็อพเพอร์ตี้

  • ตัวกรอง

    DeviceFilter[] ไม่บังคับ

    กรองรายการอุปกรณ์ที่แสดงต่อผู้ใช้ หากมีตัวกรองหลายรายการ อุปกรณ์ที่ตรงกับตัวกรองใดก็ตามจะแสดงขึ้นมา

  • หลาย

    บูลีน ไม่บังคับ

    อนุญาตให้ผู้ใช้เลือกอุปกรณ์หลายเครื่อง

Direction

ทิศทาง, ผู้รับ, RequestType และ TransferType จะแมปกับชื่อทั้งหมดภายในข้อกำหนด USB

ค่าแจกแจง

"in"

"ออก"

EndpointDescriptor

พร็อพเพอร์ตี้

  • ที่อยู่

    ตัวเลข

    ที่อยู่ปลายทาง

  • direction

    ทิศทางการโอน

  • extra_data

    อาร์เรย์บัฟเฟอร์

    ข้อมูลข้อบ่งชี้เพิ่มเติมที่เชื่อมโยงกับปลายทางนี้

  • maximumPacketSize

    ตัวเลข

    ขนาดแพ็กเก็ตสูงสุด

  • pollingInterval

    หมายเลข ไม่บังคับ

    ช่วงการหยั่งสัญญาณ (แบบขัดจังหวะและไม่เป็นช่วงๆ เท่านั้น)

  • การซิงค์ข้อมูล

    SynchronizationType ไม่บังคับ

    โหมดการซิงค์การโอน (อินสแตนซ์เท่านั้น)

  • ประเภท

    ประเภทการโอน

  • การใช้งาน

    UsageType ไม่บังคับ

    คำแนะนำการใช้งานปลายทาง

EnumerateDevicesAndRequestAccessOptions

พร็อพเพอร์ตี้

  • interfaceId

    หมายเลข ไม่บังคับ

    รหัสอินเทอร์เฟซที่จะขอสิทธิ์เข้าถึง ใช้งานได้เฉพาะใน Chrome OS เท่านั้น โดยจะไม่ส่งผลต่อแพลตฟอร์มอื่นๆ

  • productId

    ตัวเลข

    รหัสผลิตภัณฑ์

  • vendorId

    ตัวเลข

    รหัสผู้ให้บริการอุปกรณ์

EnumerateDevicesOptions

พร็อพเพอร์ตี้

  • ตัวกรอง

    DeviceFilter[] ไม่บังคับ

    ระบบจะส่งคืนอุปกรณ์ที่ตรงกับตัวกรองที่ระบุ รายการตัวกรองที่ว่างเปล่าจะแสดงอุปกรณ์ทั้งหมดที่แอปมีสิทธิ์

  • productId

    หมายเลข ไม่บังคับ

    เลิกใช้งานแล้ว

    เทียบเท่ากับการตั้งค่า DeviceFilter.productId

  • vendorId

    หมายเลข ไม่บังคับ

    เลิกใช้งานแล้ว

    เทียบเท่ากับการตั้งค่า DeviceFilter.vendorId

GenericTransferInfo

พร็อพเพอร์ตี้

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

    ข้อมูลที่จะส่ง (ต้องใช้โดยการโอนเอาต์พุตเท่านั้น)

  • direction

    ทิศทางการโอน ("in" หรือ "out")

  • ปลายทาง

    ตัวเลข

    ที่อยู่ปลายทางเป้าหมาย ต้องอ้างสิทธิ์อินเทอร์เฟซที่มีปลายทางนี้

  • ความยาว

    หมายเลข ไม่บังคับ

    จำนวนไบต์สูงสุดที่จะรับ (จำเป็นสำหรับการโอนอินพุตเท่านั้น)

  • เวลานอก

    หมายเลข ไม่บังคับ

    Chrome 43 ขึ้นไป

    ระยะหมดเวลาของคำขอ (เป็นมิลลิวินาที) ค่าเริ่มต้น 0 ระบุว่าไม่มีการหมดเวลา

InterfaceDescriptor

พร็อพเพอร์ตี้

  • alternateSetting

    ตัวเลข

    หมายเลขการตั้งค่าสำรองของอินเทอร์เฟซ (ค่าเริ่มต้นคือ 0

  • คำอธิบาย

    string ไม่บังคับ

    คำอธิบายอินเทอร์เฟซ

  • อุปกรณ์ปลายทาง

    ปลายทางที่ใช้ได้

  • extra_data

    อาร์เรย์บัฟเฟอร์

    ข้อมูลข้อบ่งชี้เพิ่มเติมที่เชื่อมโยงกับอินเทอร์เฟซนี้

  • interfaceClass

    ตัวเลข

    คลาสอินเทอร์เฟซ USB

  • interfaceNumber

    ตัวเลข

    หมายเลขอินเทอร์เฟซ

  • interfaceProtocol

    ตัวเลข

    โปรโตคอลอินเทอร์เฟซ USB

  • interfaceSubclass

    ตัวเลข

    คลาสย่อยของอินเทอร์เฟซ USB

IsochronousTransferInfo

พร็อพเพอร์ตี้

  • packetLength

    ตัวเลข

    ความยาวของแพ็กเก็ตแต่ละรายการในการโอนนี้

  • แพ็กเก็ต

    ตัวเลข

    จำนวนแพ็กเก็ตทั้งหมดในการโอนนี้

  • transferInfo

    พารามิเตอร์การโอน ความยาวการโอนหรือบัฟเฟอร์ข้อมูลที่ระบุในบล็อกพารามิเตอร์นี้จะแยกตามขอบเขต packetLength เพื่อสร้างแพ็กเก็ตแต่ละรายการของการโอน

Recipient

ค่าแจกแจง

"อุปกรณ์"

"อินเทอร์เฟซ"

"ปลายทาง"

"อื่นๆ"

RequestType

ค่าแจกแจง

"มาตรฐาน"

"ชั้นเรียน"

"ผู้ให้บริการ"

"จองแล้ว"

SynchronizationType

สำหรับโหมดรบกวนและโหมดสองสี ระบบจะแมป SynchronizationType และ UsageType กับชื่อภายในข้อกำหนด USB

ค่าแจกแจง

"อะซิงโครนัส"

"ปรับเปลี่ยนได้"

"ซิงโครนัส"

TransferResultInfo

พร็อพเพอร์ตี้

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

    ข้อมูลที่ส่งคืนโดยการโอนอินพุต undefinedสำหรับการโอนเอาต์พุต

  • resultCode

    หมายเลข ไม่บังคับ

    ค่า 0 หมายความว่าการโอนสำเร็จแล้ว ส่วนค่าอื่นๆ จะหมายถึงการดำเนินการที่ไม่สำเร็จ

TransferType

ค่าแจกแจง

"ควบคุม"

"รบกวน"

"isochronous"

"แบบกลุ่ม"

UsageType

ค่าแจกแจง

"data"

"ความคิดเห็น"

"explicitFeedback"

"ตามกำหนดเวลา"

"การแจ้งเตือน"

เมธอด

bulkTransfer()

สัญญา
chrome.usb.bulkTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)

ดำเนินการโอนจำนวนมากในอุปกรณ์ที่ระบุ

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • transferInfo

    พารามิเตอร์การโอน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (info: TransferResultInfo) => void

การคืนสินค้า

  • Promise<TransferResultInfo>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

claimInterface()

สัญญา
chrome.usb.claimInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)

อ้างสิทธิ์อินเทอร์เฟซในอุปกรณ์ USB ก่อนที่จะโอนข้อมูลไปยังอินเทอร์เฟซหรือปลายทางที่เกี่ยวข้องได้ ต้องอ้างสิทธิ์อินเทอร์เฟซก่อน แฮนเดิลการเชื่อมต่อเพียง 1 รายการเท่านั้นที่อ้างสิทธิ์อินเทอร์เฟซได้ทุกเมื่อ หากมีการอ้างสิทธิ์อินเทอร์เฟซแล้ว การเรียกใช้นี้จะล้มเหลว

ควรเรียกใช้ releaseInterface เมื่อไม่จำเป็นต้องใช้อินเทอร์เฟซแล้ว

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • interfaceNumber

    ตัวเลข

    อินเทอร์เฟซที่จะอ้างสิทธิ์

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

closeDevice()

สัญญา
chrome.usb.closeDevice(
  handle: ConnectionHandle,
  callback?: function,
)

ปิดแฮนเดิลการเชื่อมต่อ การเรียกใช้การดำเนินการในแฮนเดิลหลังจากปิดไปแล้วเป็นการดำเนินการที่ปลอดภัย แต่ไม่ต้องดำเนินการใดๆ

พารามิเตอร์

  • แฮนเดิล

    ConnectionHandle เพื่อปิด

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

controlTransfer()

สัญญา
chrome.usb.controlTransfer(
  handle: ConnectionHandle,
  transferInfo: ControlTransferInfo,
  callback?: function,
)

ดำเนินการโอนการควบคุมในอุปกรณ์ที่ระบุ

การโอนการควบคุมหมายถึงอุปกรณ์ อินเทอร์เฟซ หรือปลายทาง การโอนไปยังอินเทอร์เฟซหรือปลายทางจำเป็นต้องมีการอ้างสิทธิ์อินเทอร์เฟซ

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • transferInfo
  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (info: TransferResultInfo) => void

การคืนสินค้า

  • Promise&lt;TransferResultInfo&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

findDevices()

สัญญา
chrome.usb.findDevices(
  options: EnumerateDevicesAndRequestAccessOptions,
  callback?: function,
)

ค้นหาอุปกรณ์ USB ที่ระบุโดยผู้ให้บริการ ผลิตภัณฑ์ และรหัสอินเทอร์เฟซ (ไม่บังคับ) และหากสิทธิ์อนุญาตให้เปิดก็ให้ใช้งานได้

หากคำขอสิทธิ์เข้าถึงถูกปฏิเสธหรือเปิดอุปกรณ์ไม่ได้ ระบบจะไม่สร้างหรือส่งคืนแฮนเดิลการเชื่อมต่อ

การเรียกใช้วิธีนี้เทียบเท่ากับการเรียกใช้ getDevices ตามด้วย openDevice สำหรับอุปกรณ์แต่ละเครื่อง

พารามิเตอร์

  • ตัวเลือก

    พร็อพเพอร์ตี้ที่จะค้นหาในอุปกรณ์เป้าหมาย

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (handles: ConnectionHandle[]) => void

การคืนสินค้า

  • Promise&lt;ConnectionHandle[]&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getConfiguration()

สัญญา
chrome.usb.getConfiguration(
  handle: ConnectionHandle,
  callback?: function,
)

รับตัวบ่งชี้การกำหนดค่าสำหรับการกำหนดค่าที่เลือกในปัจจุบัน

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (config: ConfigDescriptor) => void

การคืนสินค้า

  • Promise&lt;ConfigDescriptor&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getConfigurations()

สัญญา Chrome 47 ขึ้นไป
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)

แสดงข้อบ่งชี้การกำหนดค่าอุปกรณ์ทั้งชุด

พารามิเตอร์

  • อุปกรณ์

    Device ที่จะใช้ดึงข้อมูลข้อบ่งชี้

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (configs: ConfigDescriptor[]) => void

การคืนสินค้า

  • Promise&lt;ConfigDescriptor[]&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getDevices()

สัญญา
chrome.usb.getDevices(
  options: EnumerateDevicesOptions,
  callback?: function,
)

แจกแจงอุปกรณ์ USB ที่เชื่อมต่อ

พารามิเตอร์

  • ตัวเลือก

    พร็อพเพอร์ตี้ที่จะค้นหาในอุปกรณ์เป้าหมาย

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (devices: Device[]) => void

การคืนสินค้า

  • สัญญา<อุปกรณ์[]>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getUserSelectedDevices()

สัญญา
chrome.usb.getUserSelectedDevices(
  options: DevicePromptOptions,
  callback?: function,
)

แสดงเครื่องมือเลือกอุปกรณ์ให้แก่ผู้ใช้และแสดงผล Device ที่เลือก หากผู้ใช้ยกเลิก อุปกรณ์เครื่องมือเลือกจะว่างเปล่า ต้องมีท่าทางสัมผัสของผู้ใช้เพื่อให้กล่องโต้ตอบแสดงขึ้น หากไม่มีท่าทางสัมผัสของผู้ใช้ การเรียกกลับจะทํางานเสมือนว่าผู้ใช้ยกเลิก

พารามิเตอร์

  • ตัวเลือก

    การกำหนดค่ากล่องโต้ตอบเครื่องมือเลือกอุปกรณ์

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (devices: Device[]) => void

การคืนสินค้า

  • สัญญา<อุปกรณ์[]>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

interruptTransfer()

สัญญา
chrome.usb.interruptTransfer(
  handle: ConnectionHandle,
  transferInfo: GenericTransferInfo,
  callback?: function,
)

ทำการโอนแบบขัดจังหวะในอุปกรณ์ที่ระบุ

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • transferInfo

    พารามิเตอร์การโอน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (info: TransferResultInfo) => void

การคืนสินค้า

  • Promise&lt;TransferResultInfo&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

isochronousTransfer()

สัญญา
chrome.usb.isochronousTransfer(
  handle: ConnectionHandle,
  transferInfo: IsochronousTransferInfo,
  callback?: function,
)

ทำการโอนแบบ Ischronous บนอุปกรณ์ที่ระบุ

พารามิเตอร์

การคืนสินค้า

  • Promise&lt;TransferResultInfo&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

listInterfaces()

สัญญา
chrome.usb.listInterfaces(
  handle: ConnectionHandle,
  callback?: function,
)

แสดงอินเทอร์เฟซทั้งหมดในอุปกรณ์ USB

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (descriptors: InterfaceDescriptor[]) => void

การคืนสินค้า

  • Promise&lt;InterfaceDescriptor[]&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

openDevice()

สัญญา
chrome.usb.openDevice(
  device: Device,
  callback?: function,
)

เปิดอุปกรณ์ USB ที่ getDevices ส่งคืน

พารามิเตอร์

การคืนสินค้า

  • Promise&lt;ConnectionHandle&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

releaseInterface()

สัญญา
chrome.usb.releaseInterface(
  handle: ConnectionHandle,
  interfaceNumber: number,
  callback?: function,
)

ปล่อยอินเทอร์เฟซที่มีการอ้างสิทธิ์

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • interfaceNumber

    ตัวเลข

    อินเทอร์เฟซที่จะเปิดตัว

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

requestAccess()

สัญญา เลิกใช้งานแล้ว
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)

ฟังก์ชันนี้เฉพาะสำหรับ Chrome OS และเรียกใช้ในแพลตฟอร์มอื่นๆ จะไม่สำเร็จ ขณะนี้การดำเนินการนี้ได้รับการดำเนินการโดยปริยายโดยเป็นส่วนหนึ่งของ openDevice และฟังก์ชันนี้จะแสดงผล true ในทุกแพลตฟอร์ม

ขอการเข้าถึงอุปกรณ์ที่ได้อ้างสิทธิ์โดย Chrome OS จากโบรกเกอร์สิทธิ์ในกรณีที่ไม่มีการอ้างสิทธิ์อินเทอร์เฟซที่ระบุในอุปกรณ์

พารามิเตอร์

  • อุปกรณ์

    Device ที่จะขอสิทธิ์เข้าถึง

  • interfaceId

    ตัวเลข

    อินเทอร์เฟซที่ขอ

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

การคืนสินค้า

  • Promise&lt;boolean&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

resetDevice()

สัญญา
chrome.usb.resetDevice(
  handle: ConnectionHandle,
  callback?: function,
)

พยายามรีเซ็ตอุปกรณ์ USB หากรีเซ็ตไม่สำเร็จ ที่จับสำหรับการเชื่อมต่อจะปิดลงและอุปกรณ์ USB จะดูเหมือนว่ายกเลิกการเชื่อมต่อแล้วเชื่อมต่อใหม่ ในกรณีนี้ ต้องเรียกใช้ getDevices หรือ findDevices อีกครั้งเพื่อให้ได้อุปกรณ์

พารามิเตอร์

  • แฮนเดิล

    แฮนเดิลการเชื่อมต่อที่จะรีเซ็ต

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

การคืนสินค้า

  • Promise&lt;boolean&gt;

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

setConfiguration()

สัญญา
chrome.usb.setConfiguration(
  handle: ConnectionHandle,
  configurationValue: number,
  callback?: function,
)

เลือกการกำหนดค่าอุปกรณ์

ฟังก์ชันนี้จะรีเซ็ตอุปกรณ์อย่างมีประสิทธิภาพโดยเลือกการกำหนดค่าที่อุปกรณ์มี ค่าที่ถูกต้องต้องมากกว่า 0 เท่านั้น แต่อุปกรณ์ที่มีข้อบกพร่องบางอย่างมีการกำหนดค่า 0 ที่ใช้งานได้ ดังนั้นจึงอนุญาตให้ใช้ค่านี้ได้

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อกับอุปกรณ์แบบเปิด

  • configurationValue

    ตัวเลข

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

setInterfaceAlternateSetting()

สัญญา
chrome.usb.setInterfaceAlternateSetting(
  handle: ConnectionHandle,
  interfaceNumber: number,
  alternateSetting: number,
  callback?: function,
)

เลือกการตั้งค่าอื่นในอินเทอร์เฟซที่อ้างสิทธิ์ก่อนหน้านี้

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อแบบเปิดกับอุปกรณ์ที่มีการอ้างสิทธิ์อินเทอร์เฟซนี้

  • interfaceNumber

    ตัวเลข

    อินเทอร์เฟซที่จะกำหนดค่า

  • alternateSetting

    ตัวเลข

    การตั้งค่าสำรองที่จะกำหนดค่า

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • คำมั่นสัญญา<โมฆะ>

    Chrome 116 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

กิจกรรม

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