- การแสดง JSON
- UsageLogEvent
- KeyguardDismissedEvent
- KeyguardDismissAuthAttemptEvent
- KeyguardSecuredEvent
- FilePulledEvent
- FilePushedEvent
- CertAuthorityInstalledEvent
- CertAuthorityRemovedEvent
- CertValidationFailureEvent
- CryptoSelfTestCompletedEvent
- KeyDestructionEvent
- KeyGeneratedEvent
- KeyImportEvent
- KeyIntegrityViolationEvent
- LoggingStartedEvent
- LoggingStoppedEvent
- LogBufferSizeCriticalEvent
- MediaMountEvent
- MediaUnmountEvent
- OsShutdownEvent
- OsStartupEvent
- RemoteLockEvent
- WipeFailureEvent
- ConnectEvent
- DnsEvent
- StopLostModeUserAttemptEvent
- LostModeOutgoingPhoneCallEvent
- LostModeLocationEvent
- ตำแหน่ง
- EnrollmentCompleteEvent
บันทึกเหตุการณ์แบบเป็นกลุ่มของ events
จากอุปกรณ์
การแสดง JSON |
---|
{
"device": string,
"user": string,
"retrievalTime": string,
"usageLogEvents": [
{
object ( |
ช่อง | |
---|---|
device |
หากมี ชื่อของอุปกรณ์ในรูปแบบ "enterprises/{enterpriseId}/devices/{deviceId}" |
user |
หากมี ชื่อทรัพยากรของผู้ใช้ที่เป็นเจ้าของอุปกรณ์นี้จะอยู่ในรูปแบบ "enterprises/{enterpriseId}/users/{userId}" |
retrievalTime |
การประทับเวลาของอุปกรณ์เมื่อรวบรวมกลุ่มเหตุการณ์จากอุปกรณ์ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย ตัวอย่าง: |
usageLogEvents[] |
รายการ UsageLogEvent ที่อุปกรณ์รายงาน โดยจัดเรียงตามลำดับเวลาตามเวลาของเหตุการณ์ |
UsageLogEvent
เหตุการณ์ที่บันทึกในอุปกรณ์
การแสดง JSON |
---|
{ "eventId": string, "eventTime": string, "eventType": enum ( |
ช่อง | |
---|---|
eventId |
รหัสที่ไม่ซ้ำกันของเหตุการณ์ |
eventTime |
การประทับเวลาของอุปกรณ์เมื่อบันทึกเหตุการณ์ ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย ตัวอย่าง: |
eventType |
ประเภทเหตุการณ์บันทึกการใช้งานที่เฉพาะเจาะจงซึ่งมีการรายงานในอุปกรณ์ ใช้เพื่อกำหนดว่าควรเข้าถึงฟิลด์ |
ฟิลด์ Union event ประเภทของเหตุการณ์ที่บันทึกในอุปกรณ์ ดูรายละเอียดเพิ่มเติมเกี่ยวกับเวลาที่ส่งและข้อจํากัดเมื่อมีการบันทึกเหตุการณ์และช่องที่รวมไว้ได้ที่ประเภทเหตุการณ์แต่ละประเภท event ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
adbShellCommandEvent |
มีการออกคำสั่ง Shell ผ่าน ADB โดยใช้ "adb shell command" ส่วนหนึ่งของ |
adbShellInteractiveEvent |
มีการเปิดเชลล์แบบอินเทอร์แอกทีฟของ ADB ผ่าน "adb shell" ซึ่งเป็นส่วนหนึ่งของ |
appProcessStartEvent |
เริ่มกระบวนการของแอปแล้ว ส่วนของ |
keyguardDismissedEvent |
ระบบปิดการล็อกหน้าจอแล้ว ส่วนของ |
keyguardDismissAuthAttemptEvent |
มีการพยายามปลดล็อกอุปกรณ์ ส่วนของ |
keyguardSecuredEvent |
อุปกรณ์ถูกล็อคโดยผู้ใช้หรือหมดเวลา ส่วนของ |
filePulledEvent |
มีการดาวน์โหลดไฟล์จากอุปกรณ์ ส่วนของ |
filePushedEvent |
มีการอัปโหลดไฟล์ลงในอุปกรณ์ ส่วนของ |
certAuthorityInstalledEvent |
มีการติดตั้งใบรับรองรูทใหม่ลงในที่เก็บข้อมูลเข้าสู่ระบบที่เชื่อถือได้ของระบบ ส่วนของ |
certAuthorityRemovedEvent |
มีการนำใบรับรองรูทออกจากที่เก็บข้อมูลเข้าสู่ระบบที่เชื่อถือได้ของระบบ ส่วนของ |
certValidationFailureEvent |
ใบรับรอง X.509v3 ตรวจสอบไม่สำเร็จ ปัจจุบันการตรวจสอบนี้ดำเนินการในจุดเข้าถึง Wi-Fi และการตรวจสอบไม่สำเร็จอาจเกิดจากการไม่ตรงกันเมื่อตรวจสอบใบรับรองเซิร์ฟเวอร์ อย่างไรก็ตาม ในอนาคตอาจรวมถึงเหตุการณ์การตรวจสอบอื่นๆ ของใบรับรอง X.509v3 ส่วนของ |
cryptoSelfTestCompletedEvent |
ตรวจสอบว่าไลบรารีการเข้ารหัสในตัวของ Android (BoringSSL) ใช้ได้หรือไม่ ควรสำเร็จเสมอเมื่อเปิดเครื่อง หากไม่สำเร็จ ถือว่าอุปกรณ์ไม่น่าเชื่อถือ ส่วนของ |
keyDestructionEvent |
ระบบจะนำคีย์การเข้ารหัสลับ ซึ่งรวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลออกจากอุปกรณ์ ไม่ว่าผู้ใช้หรือการจัดการจะเป็นผู้ดำเนินการก็ตาม ส่วนของ |
keyGeneratedEvent |
ระบบจะติดตั้งคีย์การเข้ารหัส รวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลรักษาไว้ในอุปกรณ์โดยผู้ใช้หรือการจัดการ ส่วนของ |
keyImportEvent |
ผู้ใช้หรือการจัดการจะนำเข้าคีย์การเข้ารหัสลับ ซึ่งรวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลรักษาไว้ในอุปกรณ์ ส่วนของ |
keyIntegrityViolationEvent |
ระบบพิจารณาว่าคีย์การเข้ารหัสลับ ซึ่งรวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลนั้นเสียหายเนื่องจากการจัดเก็บข้อมูลเสียหาย ฮาร์ดแวร์ล้มเหลว หรือปัญหาเกี่ยวกับระบบปฏิบัติการ ส่วนของ |
loggingStartedEvent |
เปิดใช้นโยบาย |
loggingStoppedEvent |
ปิดใช้นโยบาย |
logBufferSizeCriticalEvent |
บัฟเฟอร์บันทึกการตรวจสอบมีข้อมูลถึง 90% ของความจุแล้ว ดังนั้นระบบอาจทิ้งเหตุการณ์ที่เก่ากว่า ส่วนของ |
mediaMountEvent |
มีการติดตั้งสื่อแบบถอดได้ ส่วนของ |
mediaUnmountEvent |
ยกเลิกการเชื่อมต่อสื่อแบบถอดได้แล้ว ส่วนของ |
osShutdownEvent |
อุปกรณ์ปิดอยู่ ส่วนของ |
osStartupEvent |
อุปกรณ์เริ่มทำงานแล้ว ส่วนของ |
remoteLockEvent |
อุปกรณ์หรือโปรไฟล์ถูกล็อกจากระยะไกลผ่านคำสั่ง |
wipeFailureEvent |
โปรไฟล์งานหรืออุปกรณ์ของบริษัทล้างข้อมูลไม่สำเร็จเมื่อมีการขอ ซึ่งอาจเกิดจากผู้ใช้หรือผู้ดูแลระบบ เช่น ได้รับ |
connectEvent |
ระบบเริ่มเหตุการณ์การเชื่อมต่อ TCP ผ่านสแต็กเครือข่ายมาตรฐาน ส่วนของ |
dnsEvent |
ระบบเริ่มเหตุการณ์การค้นหา DNS ผ่านสแต็กเครือข่ายมาตรฐาน ส่วนของ |
stopLostModeUserAttemptEvent |
การพยายามนำอุปกรณ์ออกจากโหมดสูญหาย |
lostModeOutgoingPhoneCallEvent |
มีการโทรออกเมื่ออุปกรณ์อยู่ในโหมดสูญหาย |
lostModeLocationEvent |
การอัปเดตตำแหน่งในโหมดสูญหายเมื่ออุปกรณ์อยู่ในโหมดสูญหาย |
enrollmentCompleteEvent |
อุปกรณ์ลงทะเบียนเสร็จสมบูรณ์แล้ว ส่วนของ |
backupServiceToggledEvent |
ผู้ดูแลระบบได้เปิดหรือปิดใช้บริการสำรองข้อมูล ส่วนของ |
KeyguardDismissedEvent
ประเภทนี้ไม่มีฟิลด์
ระบบปิดการล็อกหน้าจอแล้ว ว่างเปล่าโดยเจตนา
KeyguardDismissAuthAttemptEvent
มีการพยายามปลดล็อกอุปกรณ์
การแสดง JSON |
---|
{ "success": boolean, "strongAuthMethodUsed": boolean } |
ช่อง | |
---|---|
success |
การพยายามปลดล็อกสำเร็จหรือไม่ |
strongAuthMethodUsed |
ไม่ว่าจะใช้รูปแบบการตรวจสอบสิทธิ์ที่รัดกุม (รหัสผ่าน, PIN หรือรูปแบบ) เพื่อปลดล็อกอุปกรณ์หรือไม่ |
KeyguardSecuredEvent
ประเภทนี้ไม่มีฟิลด์
อุปกรณ์ถูกล็อคโดยผู้ใช้หรือหมดเวลา ว่างเปล่าโดยเจตนา
FilePulledEvent
มีการดาวน์โหลดไฟล์จากอุปกรณ์
การแสดง JSON |
---|
{ "filePath": string } |
ช่อง | |
---|---|
filePath |
เส้นทางของไฟล์ที่ดึง |
FilePushedEvent
มีการอัปโหลดไฟล์ลงในอุปกรณ์
การแสดง JSON |
---|
{ "filePath": string } |
ช่อง | |
---|---|
filePath |
เส้นทางของไฟล์ที่กำลังพุช |
CertAuthorityInstalledEvent
มีการติดตั้งใบรับรองรูทใหม่ลงในที่เก็บข้อมูลเข้าสู่ระบบที่เชื่อถือได้ของระบบ ฟีเจอร์นี้พร้อมใช้งานทั่วทั้งอุปกรณ์ในอุปกรณ์ที่มีการจัดการครบวงจรและภายในโปรไฟล์งานในอุปกรณ์ขององค์กรที่มีโปรไฟล์งาน
การแสดง JSON |
---|
{ "certificate": string, "userId": integer, "success": boolean } |
ช่อง | |
---|---|
certificate |
เรื่องของใบรับรอง |
userId |
ผู้ใช้ที่เกิดเหตุการณ์การติดตั้งใบรับรอง พร้อมให้บริการในอุปกรณ์ที่ใช้ Android 11 ขึ้นไปเท่านั้น |
success |
เหตุการณ์การติดตั้งสำเร็จหรือไม่ |
CertAuthorityRemovedEvent
มีการนำใบรับรองรูทออกจากที่เก็บข้อมูลเข้าสู่ระบบที่เชื่อถือได้ของระบบ ฟีเจอร์นี้พร้อมใช้งานทั่วทั้งอุปกรณ์ในอุปกรณ์ที่มีการจัดการครบวงจรและภายในโปรไฟล์งานในอุปกรณ์ขององค์กรที่มีโปรไฟล์งาน
การแสดง JSON |
---|
{ "certificate": string, "userId": integer, "success": boolean } |
ช่อง | |
---|---|
certificate |
เรื่องของใบรับรอง |
userId |
ผู้ใช้ที่เกิดเหตุการณ์การนำใบรับรองออก พร้อมให้บริการในอุปกรณ์ที่ใช้ Android 11 ขึ้นไปเท่านั้น |
success |
การนำออกสำเร็จหรือไม่ |
CertValidationFailureEvent
ใบรับรอง X.509v3 ตรวจสอบไม่สำเร็จ ปัจจุบันการตรวจสอบนี้ดำเนินการในจุดเข้าถึง Wi-Fi และการตรวจสอบไม่สำเร็จอาจเกิดจากการไม่ตรงกันเมื่อตรวจสอบใบรับรองเซิร์ฟเวอร์ อย่างไรก็ตาม ในอนาคตอาจรวมถึงเหตุการณ์การตรวจสอบอื่นๆ ของใบรับรอง X.509v3
การแสดง JSON |
---|
{ "failureReason": string } |
ช่อง | |
---|---|
failureReason |
เหตุผลที่การตรวจสอบการรับรองไม่สำเร็จ |
CryptoSelfTestCompletedEvent
ตรวจสอบว่าไลบรารีการเข้ารหัสในตัวของ Android (BoringSSL) ใช้ได้หรือไม่ ควรสำเร็จเสมอเมื่อเปิดเครื่อง หากไม่สำเร็จ ถือว่าอุปกรณ์ไม่น่าเชื่อถือ
การแสดง JSON |
---|
{ "success": boolean } |
ช่อง | |
---|---|
success |
การทดสอบสำเร็จหรือไม่ |
KeyDestructionEvent
ระบบจะนำคีย์การเข้ารหัสลับ ซึ่งรวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลออกจากอุปกรณ์ ไม่ว่าผู้ใช้หรือการจัดการจะเป็นผู้ดำเนินการก็ตาม ฟีเจอร์นี้พร้อมใช้งานทั่วทั้งอุปกรณ์ในอุปกรณ์ที่มีการจัดการครบวงจรและภายในโปรไฟล์งานในอุปกรณ์ขององค์กรที่มีโปรไฟล์งาน
การแสดง JSON |
---|
{ "keyAlias": string, "applicationUid": integer, "success": boolean } |
ช่อง | |
---|---|
keyAlias |
นามแฝงของคีย์ |
applicationUid |
UID ของแอปพลิเคชันที่เป็นเจ้าของคีย์ |
success |
การดำเนินการสำเร็จหรือไม่ |
KeyGeneratedEvent
ระบบจะติดตั้งคีย์การเข้ารหัส รวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลรักษาไว้ในอุปกรณ์โดยผู้ใช้หรือการจัดการ โดยคีย์นี้จะพร้อมใช้งานทั่วทั้งอุปกรณ์ในอุปกรณ์ที่มีการจัดการครบวงจร และภายในโปรไฟล์งานในอุปกรณ์ขององค์กรที่มีโปรไฟล์งาน
การแสดง JSON |
---|
{ "keyAlias": string, "applicationUid": integer, "success": boolean } |
ช่อง | |
---|---|
keyAlias |
นามแฝงของคีย์ |
applicationUid |
UID ของแอปพลิเคชันที่สร้างคีย์ |
success |
การดำเนินการสำเร็จหรือไม่ |
KeyImportEvent
ผู้ใช้หรือการจัดการจะนำเข้าคีย์การเข้ารหัสลับ ซึ่งรวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลรักษาไว้ในอุปกรณ์ ฟีเจอร์นี้พร้อมใช้งานทั่วทั้งอุปกรณ์ในอุปกรณ์ที่มีการจัดการครบวงจรและภายในโปรไฟล์งานในอุปกรณ์ขององค์กรที่มีโปรไฟล์งาน
การแสดง JSON |
---|
{ "keyAlias": string, "applicationUid": integer, "success": boolean } |
ช่อง | |
---|---|
keyAlias |
นามแฝงของคีย์ |
applicationUid |
UID ของแอปพลิเคชันที่นำเข้าคีย์ |
success |
การดำเนินการสำเร็จหรือไม่ |
KeyIntegrityViolationEvent
ระบบพิจารณาว่าคีย์การเข้ารหัสลับ ซึ่งรวมถึงคีย์ส่วนตัวที่ผู้ใช้ติดตั้ง ผู้ดูแลระบบติดตั้ง และระบบดูแลนั้นเสียหายเนื่องจากการจัดเก็บข้อมูลเสียหาย ฮาร์ดแวร์ล้มเหลว หรือปัญหาเกี่ยวกับระบบปฏิบัติการ ฟีเจอร์นี้พร้อมใช้งานทั่วทั้งอุปกรณ์ในอุปกรณ์ที่มีการจัดการครบวงจรและภายในโปรไฟล์งานในอุปกรณ์ขององค์กรที่มีโปรไฟล์งาน
การแสดง JSON |
---|
{ "keyAlias": string, "applicationUid": integer } |
ช่อง | |
---|---|
keyAlias |
นามแฝงของคีย์ |
applicationUid |
UID ของแอปพลิเคชันที่เป็นเจ้าของคีย์ |
LoggingStartedEvent
ประเภทนี้ไม่มีฟิลด์
เปิดใช้นโยบาย
แล้ว ว่างเปล่าโดยเจตนาusageLog
LoggingStoppedEvent
ประเภทนี้ไม่มีฟิลด์
ปิดใช้นโยบาย
แล้ว ว่างเปล่าโดยเจตนาusageLog
LogBufferSizeCriticalEvent
ประเภทนี้ไม่มีฟิลด์
บัฟเฟอร์ในอุปกรณ์มีปริมาณถึง 90% ของความจุแล้ว ดังนั้นระบบอาจทิ้งเหตุการณ์ที่เก่ากว่า ว่างเปล่าโดยเจตนาusageLog
MediaMountEvent
มีการติดตั้งสื่อแบบถอดได้
การแสดง JSON |
---|
{ "mountPoint": string, "volumeLabel": string } |
ช่อง | |
---|---|
mountPoint |
จุดต่อเชื่อม |
volumeLabel |
ป้ายกำกับระดับเสียง แก้ไขเป็นสตริงว่างในอุปกรณ์โปรไฟล์ที่มีการจัดการขององค์กร |
MediaUnmountEvent
ยกเลิกการเชื่อมต่อสื่อแบบถอดได้แล้ว
การแสดง JSON |
---|
{ "mountPoint": string, "volumeLabel": string } |
ช่อง | |
---|---|
mountPoint |
จุดต่อเชื่อม |
volumeLabel |
ป้ายกำกับระดับเสียง แก้ไขเป็นสตริงว่างในอุปกรณ์โปรไฟล์ที่มีการจัดการขององค์กร |
OsShutdownEvent
ประเภทนี้ไม่มีฟิลด์
อุปกรณ์ปิดอยู่ ว่างเปล่าโดยเจตนา
OsStartupEvent
อุปกรณ์เริ่มทำงานแล้ว
การแสดง JSON |
---|
{ "verifiedBootState": enum ( |
ช่อง | |
---|---|
verifiedBootState |
สถานะการเปิดเครื่องที่ได้รับการยืนยัน |
verityMode |
โหมด dm-verity |
RemoteLockEvent
อุปกรณ์หรือโปรไฟล์ถูกล็อกจากระยะไกลผ่านคำสั่ง LOCK
การแสดง JSON |
---|
{ "adminPackageName": string, "adminUserId": integer, "targetUserId": integer } |
ช่อง | |
---|---|
adminPackageName |
ชื่อแพ็กเกจของแอปผู้ดูแลระบบที่ขอเปลี่ยนแปลง |
adminUserId |
รหัสผู้ใช้ของแอปผู้ดูแลระบบที่ขอการเปลี่ยนแปลง |
targetUserId |
รหัสผู้ใช้ที่ขอทำการเปลี่ยนแปลง |
WipeFailureEvent
ประเภทนี้ไม่มีฟิลด์
โปรไฟล์งานหรืออุปกรณ์ของบริษัทล้างข้อมูลไม่สำเร็จเมื่อมีการขอ ซึ่งอาจเกิดจากผู้ใช้หรือผู้ดูแลระบบ เช่น ได้รับ delete
ว่างเปล่าโดยเจตนา
ConnectEvent
ระบบเริ่มเหตุการณ์การเชื่อมต่อ TCP ผ่านสแต็กเครือข่ายมาตรฐาน
การแสดง JSON |
---|
{ "destinationIpAddress": string, "destinationPort": integer, "packageName": string } |
ช่อง | |
---|---|
destinationIpAddress |
ที่อยู่ IP ปลายทางของการเรียก connect |
destinationPort |
พอร์ตปลายทางของการเรียก connect |
packageName |
ชื่อแพ็กเกจของ UID ที่ทำการเรียกใช้การเชื่อมต่อ |
DnsEvent
ระบบเริ่มเหตุการณ์การค้นหา DNS ผ่านสแต็กเครือข่ายมาตรฐาน
การแสดง JSON |
---|
{ "hostname": string, "ipAddresses": [ string ], "totalIpAddressesReturned": string, "packageName": string } |
ช่อง | |
---|---|
hostname |
ชื่อโฮสต์ที่ค้นหา |
ipAddresses[] |
รายการ (อาจถูกตัดให้สั้นลง) ของที่อยู่ IP ที่แสดงผลสําหรับการค้นหา DNS (ที่อยู่ IPv4 หรือ IPv6 สูงสุด 10 รายการ) |
totalIpAddressesReturned |
จํานวนที่อยู่ IP ที่แสดงจากเหตุการณ์การค้นหา DNS อาจสูงกว่าจำนวน ipAddresses หากมีที่อยู่มากเกินไปที่จะบันทึก |
packageName |
ชื่อแพ็กเกจของ UID ที่ทำการค้นหา DNS |
StopLostModeUserAttemptEvent
เหตุการณ์โหมดสูญหายที่บ่งบอกว่าผู้ใช้พยายามหยุดโหมดสูญหาย
การแสดง JSON |
---|
{
"status": enum ( |
ช่อง | |
---|---|
status |
สถานะของความพยายามที่จะหยุดโหมดสูญหาย |
LostModeOutgoingPhoneCallEvent
ประเภทนี้ไม่มีฟิลด์
เหตุการณ์ที่บ่งบอกว่ามีการโทรออกเมื่ออุปกรณ์อยู่ในโหมดสูญหาย ว่างเปล่าโดยเจตนา
LostModeLocationEvent
เหตุการณ์โหมดสูญหายที่มีตำแหน่งอุปกรณ์และระดับแบตเตอรี่เป็นเปอร์เซ็นต์
การแสดง JSON |
---|
{
"location": {
object ( |
ช่อง | |
---|---|
location |
ตำแหน่งของอุปกรณ์ |
batteryLevel |
ระดับแบตเตอรี่เป็นตัวเลขระหว่าง 0 ถึง 100 |
ตำแหน่ง
ตำแหน่งของอุปกรณ์ที่มีละติจูดและลองจิจูด
การแสดง JSON |
---|
{ "latitude": number, "longitude": number } |
ช่อง | |
---|---|
latitude |
ตำแหน่งละติจูดของสถานที่ |
longitude |
ตำแหน่งลองจิจูดของสถานที่ |
EnrollmentCompleteEvent
ประเภทนี้ไม่มีฟิลด์
แสดงว่าอุปกรณ์ลงทะเบียนเสร็จสมบูรณ์แล้ว ผู้ใช้ควรอยู่ในโปรแกรมเรียกใช้ ณ จุดนี้ อุปกรณ์ ณ จุดนี้จะเป็นไปตามข้อกำหนดและขั้นตอนการตั้งค่าทั้งหมดเสร็จสมบูรณ์แล้ว ว่างเปล่าโดยเจตนา