chrome.usb

คำอธิบาย

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

สิทธิ์

usb

ประเภท

ConfigDescriptor

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

  • ใช้งาน

    บูลีน

    Chrome 47 ขึ้นไป

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

  • configurationValue

    ตัวเลข

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

  • คำอธิบาย

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

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

  • extra_data

    ArrayBuffer

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

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

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

  • maxPower

    ตัวเลข

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

  • remoteWakeup

    บูลีน

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

  • selfPowered

    บูลีน

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

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

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

ค่าแจกแจง

"in"

"out"

EndpointDescriptor

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

  • ที่อยู่

    ตัวเลข

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

  • direction

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

  • extra_data

    ArrayBuffer

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

  • maximumPacketSize

    ตัวเลข

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

  • pollingInterval

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

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

  • การซิงค์

    SynchronizationType ไม่บังคับ

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

  • ประเภท

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

  • การใช้งาน

    UsageType ไม่บังคับ

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

EnumerateDevicesAndRequestAccessOptions

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

  • interfaceId

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

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

  • productId

    ตัวเลข

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

  • vendorId

    ตัวเลข

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

EnumerateDevicesOptions

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

  • ตัวกรอง

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

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

  • productId

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

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

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

  • vendorId

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

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

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

GenericTransferInfo

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

  • เพิ่มเติม

    ArrayBuffer ไม่บังคับ

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

  • direction

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

  • ปลายทาง

    ตัวเลข

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

  • ความยาว

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

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

  • เวลานอก

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

    Chrome 43 ขึ้นไป

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

InterfaceDescriptor

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

  • alternateSetting

    ตัวเลข

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

  • คำอธิบาย

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

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

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

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

  • extra_data

    ArrayBuffer

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

  • interfaceClass

    ตัวเลข

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

  • interfaceNumber

    ตัวเลข

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

  • interfaceProtocol

    ตัวเลข

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

  • interfaceSubclass

    ตัวเลข

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

IsochronousTransferInfo

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

  • packetLength

    ตัวเลข

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

  • แพ็กเก็ต

    ตัวเลข

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

  • transferInfo

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

Recipient

ค่าแจกแจง

"device"

"interface"

"endpoint"

"อื่นๆ"

RequestType

ค่าแจกแจง

"standard"

"class"

"ผู้ขาย"

"reserved"

SynchronizationType

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

ค่าแจกแจง

"ไม่พร้อมกัน"

"adaptive"

"synchronous"

TransferResultInfo

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

  • เพิ่มเติม

    ArrayBuffer ไม่บังคับ

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

  • resultCode

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

    ค่า 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

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

claimInterface()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

closeDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

    ConnectionHandle เพื่อปิด

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

controlTransfer()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo
  • callback

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

findDevices()

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

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

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • callback

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

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

    (handles: ConnectionHandle[]) => void

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

  • Promise<ConnectionHandle[]>

    Chrome 116 ขึ้นไป

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

getConfiguration()

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

รับตัวอธิบายการกำหนดค่าสำหรับการกำหนดค่าที่เลือกอยู่ในปัจจุบัน

พารามิเตอร์

  • แฮนเดิล

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

  • callback

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

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

    (config: ConfigDescriptor) => void

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

  • Chrome 116 ขึ้นไป

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

getConfigurations()

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

แสดงผลชุดตัวอธิบายการกำหนดค่าอุปกรณ์ทั้งหมด

พารามิเตอร์

  • อุปกรณ์

    Device ที่จะดึงตัวอธิบายจาก

  • callback

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

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

    (configs: ConfigDescriptor[]) => void

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

  • Promise<ConfigDescriptor[]>

    Chrome 116 ขึ้นไป

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

getDevices()

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

แสดงรายการอุปกรณ์ USB ที่เชื่อมต่อ

พารามิเตอร์

  • ตัวเลือก

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

  • callback

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

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

    (devices: Device[]) => void

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

  • Promise<Device[]>

    Chrome 116 ขึ้นไป

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

getUserSelectedDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • callback

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

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

    (devices: Device[]) => void

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

  • Promise<Device[]>

    Chrome 116 ขึ้นไป

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

interruptTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo

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

  • callback

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

isochronousTransfer()

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

ดำเนินการโอนแบบไอโซโครนัสในอุปกรณ์ที่เฉพาะเจาะจง

พารามิเตอร์

  • แฮนเดิล

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

  • callback

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

listInterfaces()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • callback

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

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

    (descriptors: InterfaceDescriptor[]) => void

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

  • Chrome 116 ขึ้นไป

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

openDevice()

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

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

พารามิเตอร์

  • อุปกรณ์

    Device เพื่อเปิด

  • callback

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

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

    (handle: ConnectionHandle) => void

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

  • Chrome 116 ขึ้นไป

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

releaseInterface()

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

เลิกใช้อินเทอร์เฟซที่อ้างสิทธิ์

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

requestAccess()

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

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

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

พารามิเตอร์

  • อุปกรณ์

    Device เพื่อขอสิทธิ์เข้าถึง

  • interfaceId

    ตัวเลข

    อินเทอร์เฟซที่เฉพาะเจาะจงที่ขอ

  • callback

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

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

    (success: boolean) => void

    • สำเร็จ

      บูลีน

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

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

resetDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • callback

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

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

    (success: boolean) => void

    • สำเร็จ

      บูลีน

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

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

setConfiguration()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • configurationValue

    ตัวเลข

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

setInterfaceAlternateSetting()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • alternateSetting

    ตัวเลข

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ 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