chrome.usb

คำอธิบาย

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

สิทธิ์

usb

ความพร้อมใช้งาน

ChromeOS เท่านั้น

ประเภท

ConfigDescriptor

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

  • ใช้งาน

    บูลีน

    Chrome 47 ขึ้นไป

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

  • configurationValue

    ตัวเลข

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

  • คำอธิบาย

    สตริง ไม่บังคับ

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

  • extra_data

    ArrayBuffer

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

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

    อินเทอร์เฟซที่ใช้ได้

  • maxPower

    ตัวเลข

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

  • remoteWakeup

    บูลีน

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

  • selfPowered

    บูลีน

    อุปกรณ์ใช้พลังงานในตัว

ConnectionHandle

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

  • แฮนเดิล

    ตัวเลข

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

  • productId

    ตัวเลข

    รหัสสินค้า

  • vendorId

    ตัวเลข

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

ControlTransferInfo

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

  • เพิ่มเติม

    ArrayBuffer ไม่บังคับ

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

  • direction

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

  • ดัชนี

    ตัวเลข

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

  • ความยาว

    number ไม่บังคับ

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

  • ผู้รับ

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

  • ส่งคำขอ

    ตัวเลข

    ดูช่อง bRequest ได้ที่ Universal Serial Bus Specification Revision 1.1 § 9.3

  • requestType

    ประเภทคำขอ

  • เวลานอก

    number ไม่บังคับ

    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

    number ไม่บังคับ

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

  • interfaceProtocol

    number ไม่บังคับ

    โปรโตคอลอินเทอร์เฟซ USB ซึ่งจะตรวจสอบเฉพาะในกรณีที่คลาสย่อยของอินเทอร์เฟซตรงกัน

  • interfaceSubclass

    number ไม่บังคับ

    คลาสย่อยของอินเทอร์เฟซ USB ซึ่งจะตรวจสอบเฉพาะในกรณีที่คลาสอินเทอร์เฟซตรงกัน

  • productId

    number ไม่บังคับ

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

  • vendorId

    number ไม่บังคับ

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

DevicePromptOptions

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

  • ตัวกรอง

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

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

  • หลาย

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

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

Direction

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

ค่าแจกแจง

"in"

"out"

EndpointDescriptor

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

  • ที่อยู่

    ตัวเลข

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

  • direction

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

  • extra_data

    ArrayBuffer

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

  • maximumPacketSize

    ตัวเลข

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

  • pollingInterval

    number ไม่บังคับ

    ช่วงเวลาการโพล (การขัดจังหวะและแบบไอโซโครนัสเท่านั้น)

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

    SynchronizationType ไม่บังคับ

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

  • ประเภท

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

  • การใช้งาน

    UsageType ไม่บังคับ

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

EnumerateDevicesAndRequestAccessOptions

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

  • interfaceId

    number ไม่บังคับ

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

  • productId

    ตัวเลข

    รหัสสินค้า

  • vendorId

    ตัวเลข

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

EnumerateDevicesOptions

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

  • ตัวกรอง

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

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

  • productId

    number ไม่บังคับ

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

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

  • vendorId

    number ไม่บังคับ

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

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

GenericTransferInfo

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

  • เพิ่มเติม

    ArrayBuffer ไม่บังคับ

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

  • direction

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

  • ปลายทาง

    ตัวเลข

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

  • ความยาว

    number ไม่บังคับ

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

  • เวลานอก

    number ไม่บังคับ

    Chrome 43 ขึ้นไป

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

InterfaceDescriptor

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

  • alternateSetting

    ตัวเลข

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

  • คำอธิบาย

    สตริง ไม่บังคับ

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

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

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

  • extra_data

    ArrayBuffer

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

  • interfaceClass

    ตัวเลข

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

  • interfaceNumber

    ตัวเลข

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

  • interfaceProtocol

    ตัวเลข

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

  • interfaceSubclass

    ตัวเลข

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

IsochronousTransferInfo

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

  • packetLength

    ตัวเลข

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

  • แพ็กเก็ต

    ตัวเลข

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

  • transferInfo

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

Recipient

ค่าแจกแจง

"device"

"interface"

"endpoint"

"other"

RequestType

ค่าแจกแจง

"standard"

"class"

"vendor"

"reserved"

SynchronizationType

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

ค่าแจกแจง

"asynchronous"

"adaptive"

"synchronous"

TransferResultInfo

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

  • เพิ่มเติม

    ArrayBuffer ไม่บังคับ

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

  • resultCode

    number ไม่บังคับ

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

TransferType

ค่าแจกแจง

"control"

"interrupt"

"isochronous"

"bulk"

UsageType

ค่าแจกแจง

"data"

"feedback"

"explicitFeedback"

"periodic"

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

เมธอด

bulkTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo

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

  • callback

    function ไม่บังคับ

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

claimInterface()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

closeDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

    ConnectionHandle เพื่อปิด

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

controlTransfer()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo
  • callback

    function ไม่บังคับ

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

findDevices()

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

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

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • callback

    function ไม่บังคับ

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

    (handles: ConnectionHandle[]) => void

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

  • Promise<ConnectionHandle[]>

    Chrome 116 ขึ้นไป

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

getConfiguration()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • callback

    function ไม่บังคับ

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

    (config: ConfigDescriptor) => void

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

  • Chrome 116 ขึ้นไป

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

getConfigurations()

Promise Chrome 47 ขึ้นไป
chrome.usb.getConfigurations(
  device: Device,
  callback?: function,
)
: Promise<ConfigDescriptor[]>

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

พารามิเตอร์

  • อุปกรณ์

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

  • callback

    function ไม่บังคับ

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

    (configs: ConfigDescriptor[]) => void

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

  • Promise<ConfigDescriptor[]>

    Chrome 116 ขึ้นไป

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

getDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • callback

    function ไม่บังคับ

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

    (devices: Device[]) => void

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

  • Promise<Device[]>

    Chrome 116 ขึ้นไป

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

getUserSelectedDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • callback

    function ไม่บังคับ

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

    (devices: Device[]) => void

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

  • Promise<Device[]>

    Chrome 116 ขึ้นไป

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

interruptTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo

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

  • callback

    function ไม่บังคับ

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

isochronousTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • callback

    function ไม่บังคับ

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

listInterfaces()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • callback

    function ไม่บังคับ

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

    (descriptors: InterfaceDescriptor[]) => void

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

  • Chrome 116 ขึ้นไป

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

openDevice()

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

เปิดอุปกรณ์ USB ที่ getDevices แสดงผล

พารามิเตอร์

  • อุปกรณ์

    Deviceที่จะเปิด

  • callback

    function ไม่บังคับ

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

    (handle: ConnectionHandle) => void

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

  • Chrome 116 ขึ้นไป

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

releaseInterface()

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

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

พารามิเตอร์

  • แฮนเดิล

    การเชื่อมต่อที่เปิดอยู่กับอุปกรณ์

  • interfaceNumber

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

requestAccess()

Promise เลิกใช้งานแล้ว
chrome.usb.requestAccess(
  device: Device,
  interfaceId: number,
  callback?: function,
)
: Promise<boolean>

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

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

พารามิเตอร์

  • อุปกรณ์

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

  • interfaceId

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    (success: boolean) => void

    • สำเร็จ

      บูลีน

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

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

resetDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • callback

    function ไม่บังคับ

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

    (success: boolean) => void

    • สำเร็จ

      บูลีน

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

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

setConfiguration()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • configurationValue

    ตัวเลข

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

setInterfaceAlternateSetting()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • alternateSetting

    ตัวเลข

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

  • callback

    function ไม่บังคับ

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

    () => void

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

  • Promise<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