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 Specification Revision 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 ไม่บังคับ

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

  • ประเภท

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

  • การใช้งาน

    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

  • คำอธิบาย

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

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

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

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

  • 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

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

ค่าแจกแจง

"asynchronous"

"adaptive"

"synchronous"

TransferResultInfo

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

  • ข้อมูล

    ArrayBuffer ไม่บังคับ

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

  • resultCode

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

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

TransferType

ค่าแจกแจง

"control"

"interrupt"

"isochronous"

"bulk"

UsageType

ค่าแจกแจง

"data"

"feedback"

"explicitFeedback"

"periodic"

"notification"

เมธอด

bulkTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo

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

  • Callback

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

claimInterface()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • Callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

closeDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

    ConnectionHandle เพื่อปิด

  • Callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

controlTransfer()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo
  • Callback

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

findDevices()

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

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

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

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

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

    (handles: ConnectionHandle[]) => void

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

  • Promise<ConnectionHandle[]>

    Chrome 116 ขึ้นไป

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

getConfiguration()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • Callback

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

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

    (config: ConfigDescriptor) => void

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

  • Chrome 116 ขึ้นไป

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

getConfigurations()

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

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

พารามิเตอร์

  • อุปกรณ์

    Device ที่จะดึงข้อมูลคําอธิบาย

  • Callback

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

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

    (configs: ConfigDescriptor[]) => void

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

  • Promise<ConfigDescriptor[]>

    Chrome 116 ขึ้นไป

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

getDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

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

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

    (devices: Device[]) => void

    • อุปกรณ์

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

  • Promise<Device[]>

    Chrome 116 ขึ้นไป

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

getUserSelectedDevices()

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

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

พารามิเตอร์

  • ตัวเลือก

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

  • Callback

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

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

    (devices: Device[]) => void

    • อุปกรณ์

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

  • Promise<Device[]>

    Chrome 116 ขึ้นไป

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

interruptTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • transferInfo

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

  • Callback

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

isochronousTransfer()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • Callback

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

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

    (info: TransferResultInfo) => void

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

  • Chrome 116 ขึ้นไป

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

listInterfaces()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • Callback

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

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

    (descriptors: InterfaceDescriptor[]) => void

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

  • Chrome 116 ขึ้นไป

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

openDevice()

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

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

พารามิเตอร์

  • อุปกรณ์

    Device เพื่อเปิด

  • Callback

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

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

    (handle: ConnectionHandle) => void

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

  • Chrome 116 ขึ้นไป

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

releaseInterface()

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

ถอนการอ้างสิทธิ์อินเทอร์เฟซ

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • Callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

requestAccess()

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

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

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

พารามิเตอร์

  • อุปกรณ์

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

  • interfaceId

    ตัวเลข

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

  • Callback

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

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

    (success: boolean) => void

    • สำเร็จ

      บูลีน

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

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

resetDevice()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • Callback

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

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

    (success: boolean) => void

    • สำเร็จ

      บูลีน

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

  • Promise<boolean>

    Chrome 116 ขึ้นไป

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

setConfiguration()

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

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • configurationValue

    ตัวเลข

  • Callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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

setInterfaceAlternateSetting()

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

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

พารามิเตอร์

  • แฮนเดิล

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

  • interfaceNumber

    ตัวเลข

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

  • alternateSetting

    ตัวเลข

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

  • Callback

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

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

    () => void

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

  • Promise<void>

    Chrome 116 ขึ้นไป

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