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

खास जानकारी

फ़ंक्शन

DidInit(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
यह खास तौर पर, प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. यह हुक के इस्तेमाल से जुड़ा होता है.
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.
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
यह फ़ंक्शन, माइक्रोसेकंड यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से काम करता है.
GetClock_RealTimeMS(uint64_t & curTimeMS)
Error
मिलीसेकंड में यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के लिए खास इवेंट / मैसेज पोस्ट हुक है.
SetClock_RealTime(uint64_t newCurTime)
Error
मौजूदा रीयल (सिविल) समय सेट करने के लिए, प्लैटफ़ॉर्म के हिसाब से दिया गया फ़ंक्शन.
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.
WillInit(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के हिसाब से बना, Weave System layer प्री-इनीशियलाइज़ेशन हुक है.
WillShutdown(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.

फ़ंक्शन

DidInit

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

यह खास तौर पर, प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. यह हुक के इस्तेमाल से जुड़ा होता है.

प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.

जानकारी
पैरामीटर
[in,out] aLayer
वीव सिस्टम लेयर इंस्टेंस का रेफ़रंस शुरू किया जा रहा है.
[in,out] aContext
लेयर शुरू करने के तरीके, ::Init को पास किया गया प्लैटफ़ॉर्म के हिसाब से कॉन्टेक्स्ट डेटा.
[in] anError
वीव सिस्टम लेयर ::इनिट तरीके से दिखाई जा रही कुल स्थिति.

DidShutdown

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

यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.

प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.

जानकारी
पैरामीटर
[in,out] aLayer
वीव सिस्टम लेयर के इंस्टेंस के बंद होने का रेफ़रंस.
[in,out] aContext
लेयर शुरू करने के तरीके, ::शटडाउन के लिए पास किया गया प्लैटफ़ॉर्म के हिसाब से कॉन्टेक्स्ट डेटा.
[in] anError
वीव सिस्टम लेयर ::शटडाउन तरीके से लौटाए जा रहे डेटा की पूरी स्थिति.
लौटाए जाने वाले प्रॉडक्ट
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो शटडाउन विफल होने की वजह बताने वाली कोई खास गड़बड़ी. 'मंज़ूरी बाकी है' स्टेटस पर वापस आने पर, शटडाउन को रद्द कर दिया जाएगा.

DispatchEvent

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

यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.

प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS का दावा करके, इसे बदला जा सकता है.

यह तय किए गए इवेंट को हैंडल करने के लिए भेजता है. यह इवेंट के टाइप और आर्ग्युमेंट को, वीव सिस्टम लेयर::HandleEvent के लिए भेजा जाता है, ताकि असल में डेटा भेजा जा सके.

जानकारी
पैरामीटर
[in,out] aLayer
उस लेयर इंस्टेंस का रेफ़रंस जिसके लिए इवेंट / मैसेज भेजे जा रहे हैं.
[in,out] aContext
लेयर शुरू करने के तरीके, ::Init को पास किया गया प्लैटफ़ॉर्म के हिसाब से कॉन्टेक्स्ट डेटा.
[in] anEvent
प्लैटफ़ॉर्म के हिसाब से तैयार किया गया इवेंट ऑब्जेक्ट, जिसे हैंडल करने के लिए भेजा जाएगा.
रिटर्न वैल्यू
#WEAVE_SYSTEM_ERROR_BAD_ARGS
अगर #alayer या इवेंट का टारगेट शून्य है.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
अगर इवेंट टाइप की पहचान नहीं हो पाई है.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
अगर वीव सिस्टम लेयर ऑब्जेक्ट की स्थिति उम्मीद के मुताबिक न हो.
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 शून्य है.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
अगर वीव सिस्टम लेयर ऑब्जेक्ट की स्थिति उम्मीद के मुताबिक न हो.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
अगर किसी इवेंट टाइप की पहचान नहीं हो पाई है.
WEAVE_SYSTEM_NO_ERROR
सफलता पर.

GetClock_Monotonic

uint64_t GetClock_Monotonic(
  void
)

यह प्लैटफ़ॉर्म के लिए खास तौर पर काम करता है. यह माइक्रोसेकंड में सिस्टम का समय बताने के लिए बनाया गया है.

यह उम्मीद की जाती है कि यह फ़ंक्शन, माइक्रोसेकंड में, बीते हुए समय को दिखाएगा, क्योंकि यह एक आर्बिट्रेरी और प्लैटफ़ॉर्म-तय epoch है. प्लैटफ़ॉर्म को लागू करने की जवाबदेही, सिस्टम के फिर से चालू होने के बीच की वैल्यू को लौटाने की होती है. इसका मतलब है कि यह वैल्यू हमेशा बढ़ती है (यानी कभी रैप नहीं होती). इसके अलावा, टाइम सोर्स को सिस्टम के ऐसे किसी भी स्लीप मोड के दौरान लगातार टिक करना ज़रूरी है जिसमें जागने के बाद रीस्टार्ट करने की ज़रूरत नहीं होती.

इस फ़ंक्शन के ज़रिए लौटाए गए समय के लिए, epoch का ऐसे किसी भी अन्य GetClock... फ़ंक्शन के लिए समान होना ज़रूरी नहीं है... फ़ंक्शन, जिसमें GetClock_MonotonicMS() भी शामिल है.

थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
एक आर्बिट्रेरी, प्लैटफ़ॉर्म-परिभाषित epoch के बाद से माइक्रोसेकंड में बीता समय.

GetClock_MonotonicHiRes

uint64_t GetClock_MonotonicHiRes(
  void
)

यह प्लैटफ़ॉर्म के लिए खास तौर पर काम करने वाला फ़ंक्शन है. इसकी मदद से, माइक्रोसेकंड में हाई-रिज़ॉल्यूशन के मोनोटोनिक सिस्टम टाइम का पता लगाया जा सकता है.

यह उम्मीद की जाती है कि यह फ़ंक्शन, माइक्रोसेकंड में, बीते हुए समय को दिखाएगा, क्योंकि यह एक आर्बिट्रेरी और प्लैटफ़ॉर्म-तय epoch है. GetClock_MonotonicHiRes() से लौटाए गए मानों को हमेशा बढ़ाना ज़रूरी है (यानी कि कभी रैप नहीं किया जाएगा). हालांकि, सिस्टम में डीप स्लीप मोड के दौरान, टाइमर को लगातार टिक करने की ज़रूरत नहीं है.

प्लैटफ़ॉर्म को एक बेहतर रिज़ॉल्यूशन वाले टाइमर का इस्तेमाल करके, GetClock_MonotonicHiRes() लागू करने के लिए कहा जाता है. इस टाइमर पर समय के साथ घड़ी में होने वाले बदलाव (स्लविंग) की ज़रूरत नहीं होती. जिन प्लैटफ़ॉर्म पर ऐसा टाइमर सेट नहीं किया गया है उन पर GetClock_MonotonicHiRes(), GetClock_Monotonic() की तरह ही वैल्यू दिखा सकता है.

इस फ़ंक्शन से मिलने वाले समय के लिए, किसी भी अन्य GetClock... फ़ंक्शन के लिए Epoch के लिए वैल्यू देना ज़रूरी नहीं है.

थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
एक आर्बिट्रेरी, प्लैटफ़ॉर्म-परिभाषित epoch के बाद से माइक्रोसेकंड में बीता समय.

GetClock_MonotonicMS

uint64_t GetClock_MonotonicMS(
  void
)

मिलीसेकंड में मोनोटोनिक सिस्टम टाइम पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.

यह फ़ंक्शन, किसी आर्बिट्रेरी और प्लैटफ़ॉर्म के तय किए गए Epoch के हिसाब से, समय के साथ मिलने वाला समय मिलीसेकंड में दिखाता है. प्लैटफ़ॉर्म को लागू करने की जवाबदेही, सिस्टम के फिर से चालू होने के बीच की वैल्यू को लौटाने की होती है. इसका मतलब है कि यह वैल्यू हमेशा बढ़ती है (यानी कभी रैप नहीं होती). इसके अलावा, टाइम सोर्स को सिस्टम के ऐसे किसी भी स्लीप मोड के दौरान लगातार टिक करना ज़रूरी है जिसमें जागने के बाद रीस्टार्ट करने की ज़रूरत नहीं होती.

इस फ़ंक्शन से लौटाए गए समय के लिए epoch का, किसी भी अन्य GetClock... फ़ंक्शन के लिए समान होना ज़रूरी नहीं है, जिसमें GetClock_Monotonic() भी शामिल है.

थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
आर्बिट्रेरी, प्लैटफ़ॉर्म-परिभाषित epoch के बाद से मिलीसेकंड में बीता समय.

GetClock_RealTime

Error GetClock_RealTime(
  uint64_t & curTime
)

यह फ़ंक्शन, माइक्रोसेकंड यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से काम करता है.

इस फ़ंक्शन से उम्मीद की जाती है कि यह लोकल प्लैटफ़ॉर्म के मौजूदा रीयल टाइम अनुमान को दिखाएगा, जिसे माइक्रोसेकंड में स्केल किए गए यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाएगा. इसमें दी गई घड़ी के लिए, कम से कम पूरे सेकंड (वैल्यू 10,00,000) की दर पर सही का निशान लगाना ज़रूरी है. हालांकि, यह तेज़ी से टिक सकता है.

रीयल टाइम में ट्रैकिंग करने की क्षमता रखने वाले प्लैटफ़ॉर्म पर, GetClock_RealTime() को रीयल टाइम के साथ सिंक नहीं होने पर, WEAVE_ सिस्टम_ERROR_REAL_TIME_NOT_SYNCED गड़बड़ी दिखाएगा.

रीयल टाइम में ट्रैक नहीं करने वाले प्लैटफ़ॉर्म को GetClock_RealTime() फ़ंक्शन लागू नहीं करना चाहिए. इसकी वजह से, उन सुविधाओं का लिंक-टाइम काम करना बंद हो जाएगा जो रीयल टाइम के ऐक्सेस पर निर्भर हैं. इसके अलावा, ऐसे प्लैटफ़ॉर्म GetClock_RealTime() लागू करते हैं, जो WEAVE_ सिस्टम_ERROR_NOT_SUPPORTED गड़बड़ी दिखाता है.

थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.

जानकारी
पैरामीटर
[out] curTime
मौजूदा समय, जिसे यूनिक्स समय को माइक्रोसेकंड में स्केल करके दिखाया जाता है.
रिटर्न वैल्यू
WEAVE_SYSTEM_NO_ERROR
अगर तरीका कामयाब हो गया हो.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
अगर प्लैटफ़ॉर्म पर रीयल टाइम में ट्रैकिंग की सुविधा उपलब्ध है, लेकिन फ़िलहाल वह सिंक नहीं है.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
क्या प्लैटफ़ॉर्म, रीयल-टाइम में ट्रैकिंग नहीं कर पा रहा.

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

मिलीसेकंड में यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.

इस फ़ंक्शन से उम्मीद की जाती है कि यह लोकल प्लैटफ़ॉर्म के मौजूदा रीयल टाइम का सिद्धांत दिखाएगा, जिसे मिलीसेकंड में स्केल किए गए यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है.

अनुमानित व्यवहार के बारे में जानने के लिए, GetClock_RealTime() का दस्तावेज़ देखें.

जानकारी
पैरामीटर
[out] curTime
मौजूदा समय, जिसे यूनिक्स समय के हिसाब से मिलीसेकंड में बदला जाता है.
रिटर्न वैल्यू
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
वीव सिस्टम लेयर ऑब्जेक्ट की ओर इशारा करने वाला पॉइंटर, जिससे पोस्ट का अनुरोध किया जा रहा है.
[in] aType
पोस्ट करने के लिए इवेंट का टाइप.
[in,out] anArg
पोस्ट किए जाने वाले इवेंट से जुड़ा आर्ग्युमेंट.
लौटाए जाने वाले प्रॉडक्ट
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो एक गड़बड़ी की वजह से शुरू न हो पाने की वजह बताई जा सकती है.

SetClock_RealTime

Error SetClock_RealTime(
  uint64_t newCurTime
)

मौजूदा रीयल (सिविल) समय सेट करने के लिए, प्लैटफ़ॉर्म के हिसाब से दिया गया फ़ंक्शन.

Weave ने इस फ़ंक्शन को कॉल करके, लोकल प्लैटफ़ॉर्म के बारे में रीयल-टाइम के विचार को सेट किया है. नए मौजूदा समय को यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है. इसे माइक्रोसेकंड में स्केल किया गया यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है.

सेट हो जाने के बाद, मौजूदा प्लैटफ़ॉर्म घड़ी, कम से कम पूरे सेकंड की जानकारी के साथ रीयल टाइम को ट्रैक करेगी.

रीयल-टाइम में ट्रैकिंग की सुविधा देने वाले प्लैटफ़ॉर्म पर, अगर कॉल करने वाले ऐप्लिकेशन के पास मौजूदा समय सेट करने का खास अधिकार नहीं है, तो SetClock_RealTime() फ़ंक्शन को WEAVE_ सिस्टम_ERROR_ACCESS_DENIED गड़बड़ी के तौर पर गड़बड़ी दिखानी चाहिए.

जो प्लैटफ़ॉर्म रीयल टाइम को ट्रैक नहीं कर सकते या जो रीयल टाइम सेट करने की सुविधा नहीं देते उन्हें SetClock_RealTime() फ़ंक्शन लागू नहीं करना चाहिए. इस वजह से, रीयल-टाइम सेटिंग पर निर्भर सुविधाओं के लिंक-टाइम काम नहीं करेंगे. इसके अलावा, ऐसे प्लैटफ़ॉर्म SetClock_RealTime() को लागू करने की सुविधा दे सकते हैं जो WEAVE_ सिस्टम_ERROR_NOT_SUPPORTED गड़बड़ी दिखाता है.

थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.

जानकारी
पैरामीटर
[in] newCurTime
नया मौजूदा समय, जिसे यूनिक्स समय को माइक्रोसेकंड में स्केल करके दिखाया जाता है.
रिटर्न वैल्यू
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 System layer प्री-इनीशियलाइज़ेशन हुक है.

प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.

जानकारी
पैरामीटर
[in,out] aLayer
वीव सिस्टम लेयर इंस्टेंस का रेफ़रंस शुरू किया जा रहा है.
[in,out] aContext
लेयर शुरू करने के तरीके, ::Init को पास किया गया प्लैटफ़ॉर्म के हिसाब से कॉन्टेक्स्ट डेटा.
लौटाए जाने वाले प्रॉडक्ट
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो एक गड़बड़ी की वजह से शुरू न हो पाने की वजह बताई जा सकती है. 'मंज़ूरी नहीं मिली' स्टेटस मिलने पर, शुरू करने की प्रोसेस रद्द हो जाएगी.

WillShutdown

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

यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.

प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.

जानकारी
पैरामीटर
[in,out] aLayer
Weave System लेयर इंस्टेंस के बंद होने का पॉइंटर.
[in,out] aContext
लेयर शुरू करने के तरीके, ::शटडाउन के लिए पास किया गया प्लैटफ़ॉर्म के हिसाब से कॉन्टेक्स्ट डेटा.
लौटाए जाने वाले प्रॉडक्ट
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो शटडाउन विफल होने की वजह बताने वाली कोई खास गड़बड़ी. 'मंज़ूरी बाकी है' स्टेटस पर वापस आने पर, शटडाउन को रद्द कर दिया जाएगा.