nl:: Weave:: ระบบ: เลเยอร์
#include <src/system/SystemLayer.h>
This provides access to timers according to the configured event handling model.
สรุป
สําหรับ WEAVE_SYSTEM_CONFIG_USE_SOCKETS
การแจ้งเตือนความพร้อมของกิจกรรมจะจัดการผ่านการใช้แบบสํารวจ/การเลือกแบบดั้งเดิมในการปรับแพลตฟอร์ม
สําหรับ WEAVE_SYSTEM_CONFIG_USE_LWIP
การแจ้งเตือนความพร้อมของเหตุการณ์จะได้รับการจัดการผ่านเหตุการณ์ / ข้อความ และฮุกเฉพาะแพลตฟอร์มและระบบสําหรับระบบเหตุการณ์/ข้อความ
เครื่องมือสร้างและตัวสร้าง |
|
---|---|
Layer(void)
|
ประเภทสาธารณะ |
|
---|---|
EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)
|
TypedefError(*
|
TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)
|
Typedefvoid(*
|
ฟังก์ชันสาธารณะ |
|
---|---|
AddEventHandlerDelegate(LwIPEventHandlerDelegate & aDelegate)
|
Error
การดําเนินการนี้จะเพิ่มผู้รับมอบสิทธิ์เหตุการณ์ไปยังเลเยอร์ของระบบเพื่อขยายความสามารถในการจัดการเหตุการณ์ LwIP
|
CancelTimer(TimerCompleteFunct aOnComplete, void *aAppState)
|
void
การดําเนินการนี้จะยกเลิกตัวจับเวลา 1 ช็อต โดยเริ่มก่อนหน้านี้ผ่าน
StartTimer() |
DispatchEvent(Event aEvent)
|
Error
ส่งเหตุการณ์ที่ระบุเพื่อจัดการโดยอินสแตนซ์นี้
|
DispatchEvents(void)
|
Error
Wrapper ของ Syntactic ครอบคลุมพื้นที่เฉพาะแพลตฟอร์มซึ่งส่งผลต่อ Game Loop ที่กําลังรอคิวที่ให้บริการอินสแตนซ์นี้ ดึงเหตุการณ์ออกจากคิว แล้วส่งเพื่อดําเนินการจัดการ
|
GetPlatformData(void) const
|
void *
การตั้งค่านี้จะส่งคืนข้อมูลแพลตฟอร์มเฉพาะไคลเอ็นต์ที่มอบหมายให้กับอินสแตนซ์ หากเคยตั้งค่าไว้
|
HandleEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
|
Error
วิธีนี้จะนําการแจกจ่ายและการจัดการเหตุการณ์ Layer ของระบบ Weave ตามจริง
|
HandlePlatformTimer(void)
|
Error
จัดการเหตุการณ์การหมดอายุของตัวจับเวลาในแพลตฟอร์ม
|
HandleSelectResult(int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
|
void
จัดการ I/O จากการโทรที่เลือก
|
Init(void *aContext)
|
Error
|
NewTimer(Timer *& aTimerPtr)
|
Error
|
PostEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
|
Error
การตั้งค่านี้จะโพสต์เหตุการณ์ / ข้อความประเภทที่ระบุพร้อมอาร์กิวเมนต์ที่ระบุไปยังคิวกิจกรรมเฉพาะแพลตฟอร์มของอินสแตนซ์นี้
|
PrepareSelect(int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
|
void
เตรียมชุดคําอธิบายไฟล์สําหรับ
select() ให้จะทํางาน |
ScheduleWork(TimerCompleteFunct aComplete, void *aAppState)
|
Error
กําหนดเวลาให้ฟังก์ชันที่มีลายเซ็นเหมือนกับ
TimerCompleteFunct เพื่อเรียกใช้โดยเร็วที่สุดในเทรด Weave |
SetPlatformData(void *aPlatformData)
|
void
ซึ่งจะเป็นการตั้งค่าข้อมูลแพลตฟอร์มเฉพาะไคลเอ็นต์ที่ระบุให้กับอินสแตนซ์สําหรับการเรียกดูในภายหลังโดยแพลตฟอร์มไคลเอ็นต์
|
Shutdown(void)
|
Error
|
StartTimer(uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState)
|
Error
วิธีนี้เริ่มต้นตัวจับเวลา 1 ช็อต
|
State(void) const
|
LayerState
การดําเนินการนี้จะแสดงสถานะปัจจุบันของออบเจ็กต์เลเยอร์
|
WakeSelect(void)
|
void
ปลุกเทรด I/O ที่ตรวจสอบตัวอธิบายไฟล์โดยใช้ select() โดยเขียนไบต์เดียวไปยังไปป์ไลน์การปลุกระบบ
|
ฟังก์ชันสาธารณะแบบคงที่ |
|
---|---|
GetClock_Monotonic(void)
|
uint64_t
ส่งคืนเวลาระบบโมโนโทนในหน่วยไมโครวินาที
|
GetClock_MonotonicHiRes(void)
|
uint64_t
แสดงเวลาของระบบโมโนโทนความละเอียดสูง (ที่เป็นไปได้) ในหน่วยไมโครวินาที
|
GetClock_MonotonicMS(void)
|
uint64_t
แสดงเวลาของระบบโมโนโทนในหน่วยมิลลิวินาที
|
GetClock_RealTime(uint64_t & curTime)
|
Error
แสดงเวลาจริง (พลเรือน) ปัจจุบันในรูปแบบเวลา Unix แบบ Unix
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
แสดงผลเวลาจริง (ล่าสุด) ในปัจจุบันในรูปแบบเวลา Unixsecond Unix
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
ตั้งค่าแนวคิดของแพลตฟอร์มของเวลาจริง (พลเรือน) ในปัจจุบัน
|
ประเภทสาธารณะ
เครื่องจัดการเหตุการณ์
Error(* EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)
ตัวจับเวลาเสร็จสมบูรณ์
void(* TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)
ฟังก์ชันสาธารณะ
AddEventHandler
Error AddEventHandlerDelegate( LwIPEventHandlerDelegate & aDelegate )
การดําเนินการนี้จะเพิ่มผู้รับมอบสิทธิ์เหตุการณ์ไปยังเลเยอร์ของระบบเพื่อขยายความสามารถในการจัดการเหตุการณ์ LwIP
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
ยกเลิกตัวจับเวลา
void CancelTimer( TimerCompleteFunct aOnComplete, void *aAppState )
การดําเนินการนี้จะยกเลิกตัวจับเวลา 1 ช็อต โดยเริ่มก่อนหน้านี้ผ่าน StartTimer()
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
เหตุการณ์ Dispatch
Error DispatchEvent( Event aEvent )
ส่งเหตุการณ์ที่ระบุเพื่อจัดการโดยอินสแตนซ์นี้
การเลิกจัดวางประเภทและอาร์กิวเมนต์จากเหตุการณ์จะจัดการโดย ฮุกเฉพาะแพลตฟอร์ม ซึ่งควรเรียกกลับไปยัง Layer::HandleEvent สําหรับการกระจายจริง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
WEhave_SYSTEM_NO_ERROR สําเร็จ ไม่เช่นนั้นจะแสดงข้อผิดพลาดที่ระบุสาเหตุของการเริ่มต้นไม่สําเร็จ
|
เหตุการณ์การเผยแพร่
Error DispatchEvents( void )
Wrapper ของ Syntactic ครอบคลุมพื้นที่เฉพาะแพลตฟอร์มซึ่งส่งผลต่อ Game Loop ที่กําลังรอคิวที่ให้บริการอินสแตนซ์นี้ ดึงเหตุการณ์ออกจากคิว แล้วส่งเพื่อดําเนินการจัดการ
รายละเอียด | |
---|---|
การคืนสินค้า |
WEhave_SYSTEM_NO_ERROR สําเร็จ ไม่เช่นนั้นจะแสดงข้อผิดพลาดที่ระบุสาเหตุของการเริ่มต้นไม่สําเร็จ
|
รับข้อมูลแพลตฟอร์ม
void * GetPlatformData( void ) const
การตั้งค่านี้จะส่งคืนข้อมูลแพลตฟอร์มเฉพาะไคลเอ็นต์ที่มอบหมายให้กับอินสแตนซ์ หากเคยตั้งค่าไว้
รายละเอียด | |
---|---|
การคืนสินค้า |
ข้อมูลแพลตฟอร์มที่ลูกค้าระบุ หากตั้งค่าไว้ก่อนหน้านี้ ไม่เช่นนั้นจะเป็น NULL
|
แฮนเดิล
Error HandleEvent( Object & aTarget, EventType aEventType, uintptr_t aArgument )
วิธีนี้จะนําการแจกจ่ายและการจัดการเหตุการณ์ Layer ของระบบ Weave ตามจริง
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
ตัวจับเวลาแพลตฟอร์ม
Error HandlePlatformTimer( void )
จัดการเหตุการณ์การหมดอายุของตัวจับเวลาในแพลตฟอร์ม
การเรียก nl::Weave::System::ตัวจับเวลา::HandleTimeouts ตัวจับเวลาเพื่อจัดการกับตัวจับเวลาที่หมดอายุ ระบบคิดว่า API นี้จะเรียกใช้เฉพาะเมื่อชุดข้อความดังกล่าวเป็นเจ้าของออบเจ็กต์ Layer ของระบบ Weave
รายละเอียด | |
---|---|
การคืนสินค้า |
WEhave_SYSTEM_NO_ERROR สําเร็จ รหัสข้อผิดพลาด ไม่เช่นนั้น
|
ผลลัพธ์
void HandleSelectResult( int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet )
จัดการ I/O จากการโทรที่เลือก
วิธีนี้จะบันทึกเหตุการณ์ I/O ที่รอดําเนินการในปลายทางแต่ละรายการที่ใช้งานอยู่ และจะเรียกใช้ฟังก์ชันการจัดการ I/O ที่เกี่ยวข้องสําหรับปลายทางเหล่านั้น
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
เริ่ม
Error Init( void *aContext )
เลเยอร์
Layer( void )
ตัวจับเวลาใหม่
Error NewTimer( Timer *& aTimerPtr )
หลังกิจกรรม
Error PostEvent( Object & aTarget, EventType aEventType, uintptr_t aArgument )
การตั้งค่านี้จะโพสต์เหตุการณ์ / ข้อความประเภทที่ระบุพร้อมอาร์กิวเมนต์ที่ระบุไปยังคิวกิจกรรมเฉพาะแพลตฟอร์มของอินสแตนซ์นี้
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
เตรียมพร้อมเลือก
void PrepareSelect( int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime )
เตรียมชุดคําอธิบายไฟล์สําหรับ select()
ให้จะทํางาน
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
กําหนดเวลางาน
Error ScheduleWork( TimerCompleteFunct aComplete, void *aAppState )
กําหนดเวลาให้ฟังก์ชันที่มีลายเซ็นเหมือนกับ TimerCompleteFunct
เพื่อเรียกใช้โดยเร็วที่สุดในเทรด Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
ข้อมูลแพลตฟอร์ม
void SetPlatformData( void *aPlatformData )
ซึ่งจะเป็นการตั้งค่าข้อมูลแพลตฟอร์มเฉพาะไคลเอ็นต์ที่ระบุให้กับอินสแตนซ์สําหรับการเรียกดูในภายหลังโดยแพลตฟอร์มไคลเอ็นต์
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ปิดการทำงาน
Error Shutdown( void )
เริ่มตัวจับเวลา
Error StartTimer( uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState )
วิธีนี้เริ่มต้นตัวจับเวลา 1 ช็อต
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การคืนสินค้า |
WEhave_SYSTEM_NO_ERROR สําเร็จแล้ว
|
||||||
การคืนสินค้า |
WEhave_SYSTEM_ERROR_NO_MEMORY หากจัดสรรตัวจับเวลาไม่ได้
|
||||||
การคืนสินค้า |
ค่าอื่นๆ ที่ระบุว่าเริ่มตัวจับเวลาไม่สําเร็จ
|
สถานะ
LayerState State( void ) const
การดําเนินการนี้จะแสดงสถานะปัจจุบันของออบเจ็กต์เลเยอร์
เลือกโหมด Wake
void WakeSelect( void )
ปลุกเทรด I/O ที่ตรวจสอบตัวอธิบายไฟล์โดยใช้ select() โดยเขียนไบต์เดียวไปยังไปป์ไลน์การปลุกระบบ
หมายเหตุ: หากมีการเรียก WakeSelect()
จากภายใน HandleSelectResult()
ก็สามารถข้ามการเขียนไปยังท่อปลุกระบบได้ เนื่องจากชุดข้อความ I/O เปิดอยู่
นอกจากนั้น เรายังไม่สนใจว่าการเขียนนี้ล้มเหลวหรือเกิดจากสาเหตุที่เป็นไปได้เพียงข้อเดียว คือไปป์ไลน์จะเต็ม ซึ่งในกรณีนี้ ชุดข้อความการโทรที่เลือกจะยังคงทํางาน
ฟังก์ชันสาธารณะแบบคงที่
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
ส่งคืนเวลาระบบโมโนโทนในหน่วยไมโครวินาที
ฟังก์ชันนี้จะส่งคืนเวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ยุคที่กําหนดเองตามแพลตฟอร์ม ค่าที่แสดงผลรับประกันว่าจะเพิ่มขึ้นเรื่อยๆ (เช่น ไม่ตัดมาใหม่) ระหว่างการรีบูตระบบ นอกจากนี้ แหล่งที่มาของเวลาพื้นฐานยังรับประกันเห็บอย่างต่อเนื่องระหว่างโหมดสลีปในระบบใดๆ ที่ไม่ได้รีสตาร์ทเมื่อตื่นนอน
แม้ว่าบางแพลตฟอร์มอาจเลือกส่งคืนค่าที่วัดเวลานับจากการเปิดเครื่อง แอปพลิเคชันต้องไม่ใช้ขั้นตอนนี้ นอกจากนี้ องค์ประกอบ GetClock_Monotonic() ยังไม่จําเป็นต้องเหมือนกับฟังก์ชัน อื่นๆ ของ GetClock... ดังนั้น การคํานวณเวลาสัมพัทธ์จะใช้ได้เฉพาะกับค่าที่แสดงผลโดยฟังก์ชันเดียวกันเท่านั้น
ฟังก์ชันการทํางานนี้รับประกันได้ว่าชุดข้อความจะปลอดภัยในทุกแพลตฟอร์มที่ใช้ชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ยุคที่กําหนดเองหรือตามแพลตฟอร์ม
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
แสดงเวลาของระบบโมโนโทนความละเอียดสูง (ที่เป็นไปได้) ในหน่วยไมโครวินาที
ฟังก์ชันนี้จะส่งคืนเวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ยุคที่กําหนดเองตามแพลตฟอร์ม ค่าที่แสดงผลรับประกันว่าจะเพิ่มขึ้นเรื่อยๆ (เช่น ไม่ตัดมาใหม่) ระหว่างการรีบูตระบบ อย่างไรก็ตาม ตัวควบคุมอุณหภูมิที่เกี่ยวข้องไม่จําเป็นต้องจับเวลาอย่างต่อเนื่องในระหว่างสถานะการนอนหลับลึกของระบบ
บางแพลตฟอร์มอาจใช้ GetClock_MonotonicHiRes() โดยใช้ตัวจับเวลาความละเอียดสูงที่มีความแม่นยํามากกว่า GetClock_Monotonic() และไม่ขึ้นอยู่กับการปรับนาฬิกาแบบค่อยเป็นค่อยไป (สลิง) ระบบที่ไม่มีตัวจับเวลาดังกล่าวอาจแสดงค่าเหมือนกับ GetClock_Monotonic()
Epoch สําหรับเวลาที่แสดงโดย GetClock_MonotonicHiRes() ไม่จําเป็นต้องเหมือนกับฟังก์ชัน GetClock... อื่นๆ รวมถึง GetClock_Monotonic()
ฟังก์ชันการทํางานนี้รับประกันได้ว่าชุดข้อความจะปลอดภัยในทุกแพลตฟอร์มที่ใช้ชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปในหน่วยไมโครวินาทีนับตั้งแต่ยุคที่กําหนดเองหรือตามแพลตฟอร์ม
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
แสดงเวลาของระบบโมโนโทนในหน่วยมิลลิวินาที
ฟังก์ชันนี้จะส่งคืนเวลาที่ผ่านไปเป็นหน่วยมิลลิวินาที เนื่องจากจะใช้ Epoch ตามแพลตฟอร์มหรือที่กําหนดเองได้ ค่าที่แสดงผลรับประกันว่าจะเพิ่มขึ้นเรื่อยๆ (เช่น ไม่ตัดมาใหม่) ระหว่างการรีบูตระบบ นอกจากนี้ แหล่งที่มาของเวลาพื้นฐานยังรับประกันเห็บอย่างต่อเนื่องระหว่างโหมดสลีปในระบบใดๆ ที่ไม่ได้รีสตาร์ทเมื่อตื่นนอน
แม้ว่าบางแพลตฟอร์มอาจเลือกส่งคืนค่าที่วัดเวลานับจากการเปิดเครื่อง แอปพลิเคชันต้องไม่ใช้ขั้นตอนนี้ นอกจากนี้ องค์ประกอบ GetClock_Monotonic() ยังไม่จําเป็นต้องเหมือนกับฟังก์ชัน อื่นๆ ของ GetClock... ดังนั้น การคํานวณเวลาสัมพัทธ์จะใช้ได้เฉพาะกับค่าที่แสดงผลโดยฟังก์ชันเดียวกันเท่านั้น
ฟังก์ชันการทํางานนี้รับประกันได้ว่าชุดข้อความจะปลอดภัยในทุกแพลตฟอร์มที่ใช้ชุดข้อความ
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาที่ผ่านไปในหน่วยมิลลิวินาที นับตั้งแต่ยุคที่กําหนดเองหรือตามแพลตฟอร์ม
|
รับนาฬิกาแบบเรียลไทม์
Error GetClock_RealTime( uint64_t & curTime )
แสดงเวลาจริง (พลเรือน) ปัจจุบันในรูปแบบเวลา Unix แบบ Unix
เมธอดนี้แสดงแนวคิดแพลตฟอร์มแบบเรียลไทม์ โดยแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที เพื่อให้แน่ใจว่านาฬิกาที่ใช้งานอยู่จะทําเครื่องหมายเห็บที่วินาทีเต็ม (ค่า 1,000,000) เป็นอย่างน้อย แต่ในบางแพลตฟอร์มอาจทําเครื่องหมายเร็วกว่า
หากแพลตฟอร์มที่เกี่ยวข้องติดตามแบบเรียลไทม์ได้ แต่ระบบยังไม่ซิงค์ในขณะนี้ GetClock_RealTime() จะแสดงข้อผิดพลาด WEhave_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
บนแพลตฟอร์มที่ไม่สามารถติดตามได้แบบเรียลไทม์ เมธอด GetClock_RealTime() อาจหายไป ซึ่งทําให้เกิดข้อผิดพลาดในลิงก์ของแอปพลิเคชันใดก็ตามที่อ้างอิงถึง หรือแพลตฟอร์มดังกล่าวอาจระบุการใช้งาน GetClock_RealTime() ที่แสดงข้อผิดพลาด WEhave_SYSTEM_ERROR_NOT_SUPPORTED เสมอ
ฟังก์ชันการทํางานนี้รับประกันได้ว่าชุดข้อความจะปลอดภัยในทุกแพลตฟอร์มที่ใช้ชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
แสดงผลเวลาจริง (ล่าสุด) ในปัจจุบันในรูปแบบเวลา Unixsecond Unix
เมธอดนี้แสดงแนวคิดของแพลตฟอร์มในพื้นที่แบบเรียลไทม์ โดยแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นมิลลิวินาที เพื่อให้แน่ใจว่านาฬิกาที่ใช้งานอยู่จะทําเครื่องหมายเห็บที่วินาทีเต็ม (ค่า 1,000,000) เป็นอย่างน้อย แต่ในบางแพลตฟอร์มอาจทําเครื่องหมายเร็วกว่า
หากแพลตฟอร์มที่เกี่ยวข้องติดตามแบบเรียลไทม์ได้ แต่ระบบยังไม่ซิงค์ในขณะนี้ GetClock_RealTimeMS() จะแสดงข้อผิดพลาด WEhave_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
บนแพลตฟอร์มที่ไม่สามารถติดตามได้แบบเรียลไทม์ เมธอด GetClock_RealTimeMS() อาจหายไป ซึ่งทําให้เกิดข้อผิดพลาดในลิงก์ของแอปพลิเคชันใดก็ตามที่อ้างอิงถึง หรือแพลตฟอร์มดังกล่าวอาจติดตั้งใช้งาน GetClock_RealTimeMS() ซึ่งส่งคืนข้อผิดพลาด WEhave_SYSTEM_ERROR_NOT_SUPPORTED เสมอ
ฟังก์ชันการทํางานนี้รับประกันได้ว่าชุดข้อความจะปลอดภัยในทุกแพลตฟอร์มที่ใช้ชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
ตั้งนาฬิกาแบบเรียลไทม์
Error SetClock_RealTime( uint64_t newCurTime )
ตั้งค่าแนวคิดของแพลตฟอร์มของเวลาจริง (พลเรือน) ในปัจจุบัน
แอปพลิเคชันจะเรียกใช้ฟังก์ชันนี้เพื่อตั้งค่าแพลตฟอร์มแพลตฟอร์มแบบเรียลไทม์ เวลาปัจจุบันใหม่จะแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที
เมื่อตั้งค่าแล้ว นาฬิกาของแพลตฟอร์มที่สําคัญควรติดตามแบบเรียลไทม์พร้อมข้อมูลรายละเอียดอย่างน้อย 2 วินาที
บางแพลตฟอร์มอาจจํากัดว่าแอปพลิเคชันหรือกระบวนการใดจะตั้งค่าแบบเรียลไทม์ได้ หากผู้โทรไม่ได้รับอนุญาตให้เปลี่ยนแบบเรียลไทม์ ฟังก์ชัน SetClock_RealTime() จะแสดงข้อผิดพลาด WEhave_SYSTEM_ERROR_ACCESS_DENIED
บนแพลตฟอร์มที่ไม่สามารถติดตามได้แบบเรียลไทม์หรือไม่สามารถตั้งค่าแบบเรียลไทม์ ฟังก์ชัน SetClock_RealTime() อาจหายไป ซึ่งทําให้เกิดข้อผิดพลาดในลิงก์สําหรับแอปพลิเคชันใดก็ตามที่อ้างอิงฟังก์ชันดังกล่าว หรือแพลตฟอร์มดังกล่าวอาจระบุการใช้งาน SetClock_RealTime() ที่แสดงข้อผิดพลาด WEhave_SYSTEM_ERROR_NOT_SUPPORTED เสมอ
ฟังก์ชันการทํางานนี้รับประกันได้ว่าชุดข้อความจะปลอดภัยในทุกแพลตฟอร์มที่ใช้ชุดข้อความ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|