नाम और विवरण © Microsoft Corporation, Windows SDK की हेडर फ़ाइलों और Microsoft Learn के दस्तावेज़ों से लिए गए हैं, जो CC BY 4.0 लाइसेंस के तहत प्रकाशित हैं। जब Microsoft ने विवरणों का अनुवाद किया हो, तब वे आपकी भाषा में दिखाए जाते हैं।Microsoft Learn पर सिस्टम त्रुटि कोड
आम त्रुटियाँ
Windows Update, इंस्टॉलेशन और फ़ाइलें
जो प्रोग्राम खुलते नहीं या बंद हो जाते हैं
ब्लू स्क्रीन (bug checks)
यह कैसे काम करता है
Windows त्रुटियों को चार अलग परिवारों की संख्याओं से बताता है। 5 या 1603 जैसे Win32 कोड वे हैं जो GetLastError लौटाता है। 0x80070005 जैसे HRESULT COM, Windows Update और इंस्टॉलरों के होते हैं। 0xC0000005 जैसे NTSTATUS कर्नेल से आते हैं और किसी प्रोग्राम के बंद होने पर दिखते हैं। 0xD1 जैसे bug check ब्लू स्क्रीन के होते हैं। यह टूल चारों परिवारों में एक साथ खोजता है, उन नामों और टेक्स्ट के साथ जो Microsoft Windows SDK में प्रकाशित करता है।
कई HRESULT के अंदर एक Win32 कोड या NTSTATUS होता है। जब मान में FACILITY_WIN32 हो, जैसे 0x80070005 में, तो टूल उसमें निहित Win32 कोड और उसका विवरण भी दिखाता है, जो वास्तव में त्रुटि को समझाता है। इसके अलावा यह मान के बिट अलग करता है: गंभीरता, facility जो बताता है कि किस कंपोनेंट ने इसे उत्पन्न किया, और उस facility के भीतर का कोड।
उदाहरण
0x80070005FACILITY_WIN32 (7) · 5 → ERROR_ACCESS_DENIED0x8007 से शुरू होने वाला HRESULT अपने अंतिम चार अंकों में Win32 कोड रखता है: 0x0005 यानी 5, एक्सेस अस्वीकृत।-10737418190xC0000005 · STATUS_ACCESS_VIOLATIONइवेंट व्यूअर और प्रक्रियाओं के निकास कोड अक्सर मान को चिह्न-सहित दशमलव के रूप में दिखाते हैं। यह एक्सेस उल्लंघन वाला वही NTSTATUS है।16030x80070643 · ERROR_INSTALL_FAILUREइंस्टॉलेशन विफल होने पर Windows Installer 1603 के साथ समाप्त होता है, और Windows Update उसी त्रुटि को HRESULT 0x80070643 के रूप में बताता है।उपयोग के मामले
- समाधान खोजने से पहले Windows Update, Microsoft Store या किसी इंस्टॉलर की त्रुटि को समझना।
- किसी प्रक्रिया के निकास कोड या इवेंट व्यूअर में दिखने वाले मान को स्थिरांक के नाम में बदलना।
- स्टॉप कोड से किसी ब्लू स्क्रीन का bug check पहचानना।
- Windows API के विरुद्ध प्रोग्रामिंग करते समय ERROR_ACCESS_DENIED या E_INVALIDARG जैसे स्थिरांक का मान खोजना।
- अनुवादित दिख रही त्रुटि का मूल अंग्रेज़ी टेक्स्ट देखना, ताकि उसे फ़ोरम और दस्तावेज़ों में खोजा जा सके।
अक्सर पूछे जाने वाले प्रश्न
एक ही संख्या दो अलग त्रुटियों के रूप में क्यों दिखती है?
हर परिवार अपने कोड अलग गिनता है। 0x7B Win32 त्रुटि 123 (गलत फ़ाइल नाम) भी है और ब्लू स्क्रीन का bug check INACCESSIBLE_BOOT_DEVICE भी। संदर्भ बताता है कि कौन सा है: अगर वह ब्लू स्क्रीन से आया है तो bug check है; अगर किसी प्रोग्राम या कमांड ने लौटाया है तो Win32।
Win32 कोड को HRESULT में कैसे बदलें?
HRESULT_FROM_WIN32 मैक्रो से: कोड को हेक्साडेसिमल में लेकर उसके आगे 0x8007 लगाया जाता है, जो त्रुटि बिट को 1 और WIN32 facility को 7 कर देता है। 5 बन जाता है 0x80070005, और 1603, यानी 0x643, बन जाता है 0x80070643। वापस जाने के लिए अंतिम चार अंक लिए जाते हैं।
ऋणात्मक संख्या क्यों दिखती है?
त्रुटि वाले HRESULT और NTSTATUS में सबसे ऊँचा बिट 1 होता है, इसलिए चिह्न-सहित पूर्णांक के रूप में दिखाने पर ऋणात्मक संख्या मिलती है। -2147024891 है 0x80070005 और -1073741819 है 0xC0000005। टूल दोनों रूप स्वीकार करता है।
कुछ विवरण अंग्रेज़ी में क्यों हैं?
अनुवादित विवरण वे हैं जो Microsoft, Win32 कोड के लिए Microsoft Learn पर प्रकाशित करता है। HRESULT, NTSTATUS और उन Win32 कोड के टेक्स्ट, जिनका Learn ने आपकी भाषा में अनुवाद नहीं किया, अंग्रेज़ी में दिखाए जाते हैं, जैसे वे Windows SDK में हैं।
अगर कोड नहीं मिलता तो क्या करें?
प्रोग्राम अपने कोड खुद परिभाषित कर सकते हैं, खासकर वे जिनमें बिट C 1 है या जिनका facility Windows का नहीं है, और ऐसे कोड SDK में नहीं होते। ऐसे में टूल जो facility दिखाता है उसे देखें, ताकि पता चले कि किस कंपोनेंट ने त्रुटि उत्पन्न की, और कोड को उस उत्पाद के दस्तावेज़ों में खोजें।