chrome.usb

คำอธิบาย

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

สิทธิ์

usb

ประเภท

ConfigDescriptor

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

  • ใช้งาน

    boolean

    Chrome 47 ขึ้นไป

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

  • configurationValue

    ตัวเลข

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

  • คำอธิบาย

    string ไม่บังคับ

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

  • extra_data

    ArrayBuffer

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

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

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

  • maxPower

    ตัวเลข

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

  • remoteWakeup

    boolean

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

  • selfPowered

    boolean

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

ConnectionHandle

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

  • แฮนเดิล

    ตัวเลข

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

  • productId

    ตัวเลข

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

  • vendorId

    ตัวเลข

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

ControlTransferInfo

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

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

    ข้อมูลที่จะส่ง (จำเป็นต่อการโอนเอาต์พุตเท่านั้น)

  • direction

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

  • ดัชนี

    ตัวเลข

    ฟิลด์ wIndex โปรดดู Ibid

  • length

    ตัวเลข ไม่บังคับ

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

  • ผู้รับ

    เป้าหมายการโอน ต้องอ้างสิทธิ์เป้าหมายที่กำหนดโดย index หาก "interface" หรือ "endpoint"

  • ส่งคำขอ

    ตัวเลข

    ช่อง bRequest โปรดดูการแก้ไขข้อกำหนดเฉพาะของรถบัสซีเรียลสากล 1.1 § 9.3

  • requestType

    ประเภทคำขอ

  • เวลานอก

    ตัวเลข ไม่บังคับ

    Chrome 43 ขึ้นไป

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

  • value

    ตัวเลข

    ฟิลด์ wValue โปรดดู Ibid

Device

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

  • อุปกรณ์

    ตัวเลข

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

  • manufacturerName

    string

    Chrome 46 ขึ้นไป

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

  • productId

    ตัวเลข

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

  • productName

    string

    Chrome 46 ขึ้นไป

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

  • serialNumber

    string

    Chrome 46 ขึ้นไป

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

  • vendorId

    ตัวเลข

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

  • เวอร์ชัน

    ตัวเลข

    Chrome 51 ขึ้นไป

    เวอร์ชันของอุปกรณ์ (ช่อง bcdDevice)

DeviceFilter

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

  • interfaceClass

    ตัวเลข ไม่บังคับ

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

  • interfaceProtocol

    ตัวเลข ไม่บังคับ

    โปรโตคอลอินเทอร์เฟซ USB เลือกเฉพาะเมื่อคลาสย่อยของอินเทอร์เฟซตรงกัน

  • interfaceSubclass

    ตัวเลข ไม่บังคับ

    คลาสย่อยของอินเทอร์เฟซ USB เลือกเฉพาะเมื่อคลาสอินเทอร์เฟซตรงกัน

  • productId

    ตัวเลข ไม่บังคับ

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

  • vendorId

    ตัวเลข ไม่บังคับ

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

DevicePromptOptions

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

  • ตัวกรอง

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

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

  • หลาย

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

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

Direction

คำสั่ง, Recipient, RequestType และ TransferType จะแมปกับชื่อเดียวกับชื่อภายในข้อมูลจำเพาะของ USB

ค่าแจกแจง

EndpointDescriptor

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

  • จัดการ

    ตัวเลข

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

  • direction

    เส้นทางการโอน

  • extra_data

    ArrayBuffer

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

  • maximumPacketSize

    ตัวเลข

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

  • pollingInterval

    ตัวเลข ไม่บังคับ

    ช่วงการหยั่งสัญญาณ (แบบขัดจังหวะและแบบอิสระเท่านั้น)

  • การซิงค์

    SynchronizationType ไม่บังคับ

    โหมดการซิงโครไนซ์การโอน (เฉพาะโหมดเฉพาะตัว)

  • ประเภท

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

  • การใช้งาน

    UsageType ไม่บังคับ

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

EnumerateDevicesAndRequestAccessOptions

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

  • interfaceId

    ตัวเลข ไม่บังคับ

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

  • productId

    ตัวเลข

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

  • vendorId

    ตัวเลข

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

EnumerateDevicesOptions

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

  • ตัวกรอง

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

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

  • productId

    ตัวเลข ไม่บังคับ

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

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

  • vendorId

    ตัวเลข ไม่บังคับ

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

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

GenericTransferInfo

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

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

    ข้อมูลที่จะส่ง (จำเป็นต่อการโอนเอาต์พุตเท่านั้น)

  • direction

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

  • ปลายทาง

    ตัวเลข

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

  • length

    ตัวเลข ไม่บังคับ

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

  • เวลานอก

    ตัวเลข ไม่บังคับ

    Chrome 43 ขึ้นไป

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

InterfaceDescriptor

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

  • alternateSetting

    ตัวเลข

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

  • คำอธิบาย

    string ไม่บังคับ

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

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

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

  • extra_data

    ArrayBuffer

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

  • interfaceClass

    ตัวเลข

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

  • interfaceNumber

    ตัวเลข

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

  • interfaceProtocol

    ตัวเลข

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

  • interfaceSubclass

    ตัวเลข

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

IsochronousTransferInfo

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

  • packetLength

    ตัวเลข

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

  • แพ็กเก็ต

    ตัวเลข

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

  • transferInfo

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

Recipient

ค่าแจกแจง

RequestType

ค่าแจกแจง

SynchronizationType

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

ค่าแจกแจง

TransferResultInfo

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

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

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

  • resultCode

    ตัวเลข ไม่บังคับ

    ค่า 0 บ่งบอกว่าโอนสำเร็จ ค่าอื่นๆ บ่งชี้ถึงความล้มเหลว

TransferType

ค่าแจกแจง

UsageType

ค่าแจกแจง

วิธีการ

bulkTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (info: TransferResultInfo)=>void

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

  • Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

claimInterface()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

closeDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

    ConnectionHandle เพื่อปิด

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

controlTransfer()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo
  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (info: TransferResultInfo)=>void

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

  • Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

findDevices()

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

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

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (handles: ConnectionHandle[])=>void

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

  • Promise<ConnectionHandle[]>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getConfiguration()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (config: ConfigDescriptor)=>void

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

  • Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getConfigurations()

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

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

พารามิเตอร์

  • อุปกรณ์

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (configs: ConfigDescriptor[])=>void

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

  • Promise<ConfigDescriptor[]>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (devices: Device[])=>void

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

  • สัญญา<Device[]>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getUserSelectedDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (devices: Device[])=>void

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

  • สัญญา<Device[]>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

interruptTransfer()

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

ดำเนินการโอนข้อมูลขัดจังหวะในอุปกรณ์ที่ระบุ

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (info: TransferResultInfo)=>void

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

  • Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

isochronousTransfer()

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

ทำการโอนข้อมูลในอุปกรณ์ที่เฉพาะเจาะจง

พารามิเตอร์

  • แฮนเดิล

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (info: TransferResultInfo)=>void

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

  • Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

listInterfaces()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (descriptors: InterfaceDescriptor[])=>void

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

  • Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

openDevice()

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

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

พารามิเตอร์

  • อุปกรณ์

    Device ที่จะเปิด

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (handle: ConnectionHandle)=>void

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

  • Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

releaseInterface()

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

เผยแพร่อินเทอร์เฟซที่อ้างสิทธิ์

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

    อินเทอร์เฟซที่จะเผยแพร่

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

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<boolean>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

resetDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

    แฮนเดิลสำหรับเชื่อมต่อที่จะรีเซ็ต

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (success: boolean)=>void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

setConfiguration()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • configurationValue

    ตัวเลข

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

setInterfaceAlternateSetting()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • alternateSetting

    ตัวเลข

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

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    ()=>void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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