nl::Weave::System::Platform::Layer

สรุป

ฟังก์ชัน

DidInit(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
นี่เป็นฮุก Layer หลังการเริ่มต้นของ Weave System เฉพาะแพลตฟอร์ม
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
NL_DLL_EXPORT Error
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
DispatchEvents(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
GetClock_Monotonic(void)
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนโทนในหน่วยไมโครวินาที
GetClock_MonotonicHiRes(void)
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มเพื่อรับเวลาของระบบโมโนโทนิกความละเอียดสูงในหน่วยไมโครวินาที
GetClock_MonotonicMS(void)
uint64_t
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบแบบโมโนโทนในหน่วยมิลลิวินาที
GetClock_RealTime(uint64_t & curTime)
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ในปัจจุบันในรูปแบบเวลา Unix แบบไมโครวินาที
GetClock_RealTimeMS(uint64_t & curTimeMS)
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ปัจจุบันในรูปแบบเวลา Unix มิลลิวินาที
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
NL_DLL_EXPORT Error
นี่คือฮุกกิจกรรมหรือโพสต์ข้อความเฉพาะแพลตฟอร์ม
SetClock_RealTime(uint64_t newCurTime)
Error
ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการตั้งค่าเวลาจริง (Civil) ปัจจุบัน
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
NL_DLL_EXPORT Error
นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม
WillInit(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
นี่คือฮุกของระบบ Weave เฉพาะแพลตฟอร์ม Layer ฮุกสำหรับเริ่มต้นก่อนเริ่มต้น
WillShutdown(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม

ฟังก์ชัน

DidInit

NL_DLL_EXPORT void DidInit(
  Layer & aLayer,
  void *aContext,
  Error aStatus
)

นี่เป็นฮุก Layer หลังการเริ่มต้นของ Weave System เฉพาะแพลตฟอร์ม

ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS

รายละเอียด
พารามิเตอร์
[in,out] aLayer
การอ้างอิงไปยังอินสแตนซ์ Layer ของระบบ Weave ที่กำลังเริ่มต้น
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::Init.
[in] anError
สถานะโดยรวมที่แสดงผลผ่านเมธอด Weave System Layer ::Init

DidShutdown

NL_DLL_EXPORT void DidShutdown(
  Layer & aLayer,
  void *aContext,
  Error aStatus
)

นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม

ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS

รายละเอียด
พารามิเตอร์
[in,out] aLayer
การอ้างอิงไปยังอินสแตนซ์ Layer ของระบบ Weave ที่กำลังปิดเครื่อง
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::ปิด
[in] anError
สถานะโดยรวมที่แสดงผลผ่านวิธีการ Weave System Layer ::ปิด
การส่งคืน
WEAVE_SYSTEM_NO_ERROR เมื่อเสร็จสมบูรณ์ มิเช่นนั้น ข้อผิดพลาดบางอย่างที่ระบุสาเหตุของการปิดเครื่องไม่สำเร็จ การแสดงสถานะที่ไม่สำเร็จจะล้มเลิกการปิดระบบ

DispatchEvent

NL_DLL_EXPORT Error DispatchEvent(
  Layer & aLayer,
  void *aContext,
  Event aEvent
)

นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม

กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS

การดำเนินการนี้จะมอบหมายเหตุการณ์ที่ระบุสำหรับการจัดการ โดยยกเลิกการกำหนดประเภทและอาร์กิวเมนต์จากเหตุการณ์เพื่อส่งให้กับ Weave System Layer::HandleEvent สำหรับการส่งจริง

รายละเอียด
พารามิเตอร์
[in,out] aLayer
การอ้างอิงอินสแตนซ์เลเยอร์ที่มีการส่งเหตุการณ์ / ข้อความ
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::Init.
[in] anEvent
ออบเจ็กต์เหตุการณ์เฉพาะแพลตฟอร์มที่จะส่งไปจัดการ
แสดงผลค่า
#WEAVE_SYSTEM_ERROR_BAD_ARGS
หาก #aLayer หรือเป้าหมายเหตุการณ์เป็น NULL
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
หากไม่รู้จักประเภทเหตุการณ์
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
หากสถานะของออบเจ็กต์ Layer ของระบบ Weave ไม่เป็นไปตามที่คาดไว้
WEAVE_SYSTEM_NO_ERROR
ความสำเร็จ

DispatchEvents

NL_DLL_EXPORT Error DispatchEvents(
  Layer & aLayer,
  void *aContext
)

นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม

กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS

การดำเนินการนี้จะส่งผลต่อการวนซ้ำเหตุการณ์ซึ่งรอคิวที่ให้บริการอินสแตนซ์นี้ โดยจะดึงเหตุการณ์ออกจากคิวนั้น แล้วส่งเหตุการณ์เพื่อจัดการ

รายละเอียด
พารามิเตอร์
[in,out] aLayer
การอ้างอิงอินสแตนซ์เลเยอร์ที่มีการส่งเหตุการณ์ / ข้อความ
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::Init.
แสดงผลค่า
#WEAVE_SYSTEM_ERROR_BAD_ARGS
หาก #aLayer หรือ #aContext มีค่าเป็น NULL
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
หากสถานะของออบเจ็กต์ Layer ของระบบ Weave ไม่เป็นไปตามที่คาดไว้
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
หากไม่รู้จักประเภทเหตุการณ์
WEAVE_SYSTEM_NO_ERROR
ความสำเร็จ

GetClock_Monotonic

uint64_t GetClock_Monotonic(
  void
)

ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบโมโนโทนในหน่วยไมโครวินาที

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

Epoch สำหรับเวลาที่แสดงผลโดยฟังก์ชันนี้ไม่จำเป็นต้องเหมือนกับ Epoch สำหรับฟังก์ชัน GetClock อื่นๆ รวมถึง GetClock_MonotonicMS()

ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ

รายละเอียด
การส่งคืน
เวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม

GetClock_MonotonicHiRes

uint64_t GetClock_MonotonicHiRes(
  void
)

ฟังก์ชันเฉพาะแพลตฟอร์มเพื่อรับเวลาของระบบโมโนโทนิกความละเอียดสูงในหน่วยไมโครวินาที

ฟังก์ชันนี้คาดว่าจะแสดงผลเวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม ค่าที่แสดงผลโดย GetClock_MonotonicHiRes() ต้องเพิ่มขึ้นตลอดเวลา (เช่น ไม่ตัดคำ) แต่ไม่จำเป็นต้องใช้ตัวจับเวลาที่อยู่เบื้องหลังเพื่อทำเครื่องหมายอย่างต่อเนื่องในช่วงสถานะหลับลึกของระบบ

ขอแนะนำให้แพลตฟอร์มใช้ GetClock_MonotonicHiRes() โดยใช้ตัวจับเวลาความละเอียดสูงที่ไม่ต้องปรับนาฬิกาทีละน้อย (แกว่ง) บนแพลตฟอร์มที่ไม่มีตัวจับเวลา GetClock_MonotonicHiRes() สามารถแสดงผลค่าเดียวกับ GetClock_Monotonic()

Epoch สำหรับเวลาที่แสดงผลโดยฟังก์ชันนี้ไม่จำเป็นต้องเป็นค่าเดียวกันกับฟังก์ชัน GetClock อื่นๆ...

ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ

รายละเอียด
การส่งคืน
เวลาที่ผ่านไปในหน่วยไมโครวินาทีตั้งแต่ Epoch ที่กำหนดเองตามแพลตฟอร์ม

GetClock_MonotonicMS

uint64_t GetClock_MonotonicMS(
  void
)

ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาของระบบแบบโมโนโทนในหน่วยมิลลิวินาที

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

ไม่จำเป็นต้องระบุ Epoch สำหรับเวลาที่ฟังก์ชันนี้แสดงผลให้เหมือนกับเวลาในฟังก์ชัน GetClock อื่นๆ รวมถึง GetClock_Monotonic()

ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ

รายละเอียด
การส่งคืน
เวลาที่ผ่านไปในหน่วยมิลลิวินาทีตั้งแต่ Epoch ที่แพลตฟอร์มกำหนดตามอำเภอใจ

GetClock_RealTime

Error GetClock_RealTime(
  uint64_t & curTime
)

ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ในปัจจุบันในรูปแบบเวลา Unix แบบไมโครวินาที

ฟังก์ชันนี้คาดว่าจะแสดงผลค่าเรียลไทม์ปัจจุบันของแพลตฟอร์มท้องถิ่น โดยแสดงเป็นค่าเวลาของ Unix ที่ปรับขนาดเป็นไมโครวินาที ต้องจับเวลาที่อัตราอย่างน้อย 1 วินาทีเป็นอย่างน้อย (ค่า 1,000,000) แต่อาจเลือกเร็วกว่า

บนแพลตฟอร์มที่สามารถติดตามได้แบบเรียลไทม์ GetClock_RealTime() ต้องส่งคืนข้อผิดพลาด WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED เมื่อใดก็ตามที่ระบบไม่ได้ซิงโครไนซ์กับเรียลไทม์

แพลตฟอร์มที่สามารถติดตามข้อมูลแบบเรียลไทม์ไม่ได้ไม่ควรใช้ฟังก์ชัน GetClock_RealTime() ซึ่งเป็นการบังคับให้ฟีเจอร์ต้องทำงานล้มเหลวด้านเวลาการลิงก์ของฟีเจอร์ที่ต้องเข้าถึงแบบเรียลไทม์ หรือแพลตฟอร์มดังกล่าวอาจจัดเตรียมการใช้งาน GetClock_RealTime() ที่ส่งคืนข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED

ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ

รายละเอียด
พารามิเตอร์
[out] curTime
เวลาปัจจุบันซึ่งแสดงเป็นเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที
แสดงผลค่า
WEAVE_SYSTEM_NO_ERROR
วิธีการนี้สำเร็จหรือไม่
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
แพลตฟอร์มนั้นสามารถติดตามแบบเรียลไทม์ได้ แต่ยังไม่มีการซิงค์ในขณะนี้
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
หากแพลตฟอร์มติดตามแบบเรียลไทม์ไม่ได้

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการรับเวลาจริง (พลเมือง) ปัจจุบันในรูปแบบเวลา Unix มิลลิวินาที

ฟังก์ชันนี้คาดว่าจะแสดงผลค่าเรียลไทม์ปัจจุบันของแพลตฟอร์มท้องถิ่น โดยแสดงเป็นค่าเวลาของ Unix ที่ปรับขนาดเป็นมิลลิวินาที

โปรดดูรายละเอียดเกี่ยวกับการทำงานที่ควรจะเป็นในเอกสารประกอบสำหรับ GetClock_RealTime()

รายละเอียด
พารามิเตอร์
[out] curTime
เวลาปัจจุบันซึ่งแสดงเป็นเวลา Unix ที่ปรับขนาดเป็นมิลลิวินาที
แสดงผลค่า
WEAVE_SYSTEM_NO_ERROR
วิธีการนี้สำเร็จหรือไม่
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
แพลตฟอร์มนั้นสามารถติดตามแบบเรียลไทม์ได้ แต่ยังไม่มีการซิงค์ในขณะนี้
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
หากแพลตฟอร์มติดตามแบบเรียลไทม์ไม่ได้

PostEvent

NL_DLL_EXPORT Error PostEvent(
  Layer & aLayer,
  void *aContext,
  Object & aTarget,
  EventType aType,
  uintptr_t aArgument
)

นี่คือฮุกกิจกรรมหรือโพสต์ข้อความเฉพาะแพลตฟอร์ม

กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS

การดำเนินการนี้จะโพสต์กิจกรรม / ข้อความของประเภทที่ระบุด้วยอาร์กิวเมนต์ที่ระบุไปยังกิจกรรม / คิวข้อความเฉพาะแพลตฟอร์มของอินสแตนซ์นี้

รายละเอียด
พารามิเตอร์
[in,out] aLayer
ตัวชี้ไปยังอินสแตนซ์เลเยอร์ที่มีการโพสต์เหตุการณ์ / ข้อความ
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::Init.
[in,out] aTarget
ตัวชี้ไปยังออบเจ็กต์ Layer ของระบบ Weave ที่สร้างคำขอโพสต์
[in] aType
ประเภทของกิจกรรมที่จะโพสต์
[in,out] anArg
อาร์กิวเมนต์ที่เชื่อมโยงกับกิจกรรมที่จะโพสต์
การส่งคืน
WEAVE_SYSTEM_NO_ERROR เมื่อเริ่มต้นสำเร็จ หรือมีข้อผิดพลาดที่เฉพาะเจาะจงที่ระบุสาเหตุของความล้มเหลวในการเริ่มต้น

SetClock_RealTime

Error SetClock_RealTime(
  uint64_t newCurTime
)

ฟังก์ชันเฉพาะแพลตฟอร์มสำหรับการตั้งค่าเวลาจริง (Civil) ปัจจุบัน

Weave เรียกใช้ฟังก์ชันนี้เพื่อกำหนดแนวความคิดของแพลตฟอร์มท้องถิ่นเกี่ยวกับเรียลไทม์ปัจจุบัน เวลาปัจจุบันใหม่จะแสดงเป็นค่าเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที

เมื่อตั้งค่าแล้ว นาฬิกาแพลตฟอร์มเบื้องหลังควรติดตามแบบเรียลไทม์ด้วยความละเอียดอย่างน้อยทั้งวินาที

ในแพลตฟอร์มที่รองรับการติดตามแบบเรียลไทม์ ฟังก์ชัน SetClock_RealTime() ต้องส่งคืนข้อผิดพลาด WEAVE_SYSTEM_ERROR_ACCESS_DENIED หากแอปพลิเคชันการโทรไม่มีสิทธิ์ตั้งเวลาปัจจุบัน

แพลตฟอร์มที่สามารถติดตามข้อมูลแบบเรียลไทม์ไม่ได้ หรือไม่เสนอความสามารถในการตั้งค่าแบบเรียลไทม์ ไม่ควรใช้ฟังก์ชัน SetClock_RealTime() ซึ่งเป็นการบังคับให้ฟีเจอร์ล้มเหลวในเวลาลิงก์ของฟีเจอร์ที่ต้องใช้การตั้งค่าแบบเรียลไทม์ หรือแพลตฟอร์มดังกล่าวอาจมีการติดตั้งใช้งาน SetClock_RealTime() ซึ่งแสดงผลข้อผิดพลาด WEAVE_SYSTEM_ERROR_NOT_SUPPORTED

ฟังก์ชันนี้คาดว่าจะใช้ได้กับชุดข้อความบนแพลตฟอร์มทุกชนิดที่ใช้การแยกชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] newCurTime
เวลาปัจจุบันใหม่ซึ่งแสดงเป็นเวลา Unix ที่ปรับขนาดเป็นไมโครวินาที
แสดงผลค่า
WEAVE_SYSTEM_NO_ERROR
วิธีการนี้สำเร็จหรือไม่
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
หากแพลตฟอร์มติดตามแบบเรียลไทม์ไม่ได้
#WEAVE_SYSTEM_ERROR_ACCESS_DENIED
หากแอปพลิเคชันการโทรไม่มีสิทธิ์ตั้งเวลาปัจจุบัน

StartTimer

NL_DLL_EXPORT Error StartTimer(
  Layer & aLayer,
  void *aContext,
  uint32_t aMilliseconds
)

นี่คือฮุกเหตุการณ์ / การส่งข้อความเฉพาะแพลตฟอร์ม

กรณีนี้อาจลบล้างได้โดยยืนยันคําจํากัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS

รายละเอียด
พารามิเตอร์
[in,out] aLayer
การอ้างอิงอินสแตนซ์เลเยอร์ที่มีการส่งเหตุการณ์ / ข้อความ
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::Init.
[in] aMilliseconds
จำนวนมิลลิวินาทีที่จะตั้งให้ตัวจับเวลา
แสดงผลค่า
WEAVE_SYSTEM_NO_ERROR
ประสบความสำเร็จเสมอเว้นแต่จะมีการลบล้าง

WillInit

NL_DLL_EXPORT Error WillInit(
  Layer & aLayer,
  void *aContext
)

นี่คือฮุกของระบบ Weave เฉพาะแพลตฟอร์ม Layer ฮุกสำหรับเริ่มต้นก่อนเริ่มต้น

ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS

รายละเอียด
พารามิเตอร์
[in,out] aLayer
การอ้างอิงไปยังอินสแตนซ์ Layer ของระบบ Weave ที่กำลังเริ่มต้น
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::Init.
การส่งคืน
WEAVE_SYSTEM_NO_ERROR เมื่อเริ่มต้นสำเร็จ หรือมีข้อผิดพลาดที่เฉพาะเจาะจงที่ระบุสาเหตุของความล้มเหลวในการเริ่มต้น การแสดงสถานะที่ไม่สำเร็จจะล้มเลิกการเริ่มต้น

WillShutdown

NL_DLL_EXPORT Error WillShutdown(
  Layer & aLayer,
  void *aContext
)

นี่คือฮุกก่อนปิดระบบ Weave System Layer ของแต่ละแพลตฟอร์ม

ซึ่งอาจลบล้างได้โดยยืนยันคำจำกัดความของตัวประมวลผลล่วงหน้า WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS

รายละเอียด
พารามิเตอร์
[in,out] aLayer
ตัวชี้ไปยังอินสแตนซ์ Layer ของระบบ Weave ที่กำลังปิดเครื่อง
[in,out] aContext
ข้อมูลบริบทเฉพาะแพลตฟอร์มที่ส่งไปยังวิธีการเริ่มต้นเลเยอร์ ::ปิด
การส่งคืน
WEAVE_SYSTEM_NO_ERROR เมื่อเสร็จสมบูรณ์ มิเช่นนั้น ข้อผิดพลาดบางอย่างที่ระบุสาเหตุของการปิดเครื่องไม่สำเร็จ การแสดงสถานะที่ไม่สำเร็จจะล้มเลิกการปิดระบบ