विंडोज़ मेटाफ़ाइल: Difference between revisions

From Vigyanwiki
No edit summary
(Undo revision 257880 by Neeraja (talk))
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Short description|File format for images}}
{{Short description|File format for images}}
'''विंडोज़ मेटाफ़ाइल (डब्लूएमएफ)''' एक इमेज फाइल फॉर्मेट है जिसे मूल रूप से 1990 के दशक में माइक्रोसॉफ्ट विंडोज़ के लिए डिज़ाइन किया गया था। मूल विंडोज़ मेटाफ़ाइल प्रारूप डिवाइस-स्वतंत्र नहीं था (हालांकि प्लेसमेंट हेडर के साथ इसे और अधिक बनाया जा सकता था) और इसमें [[वेक्टर ग्राफिक्स]] और बिटमैप दोनों घटक शामिल हो सकते हैं। यह एसवीजी फाइलों की तरह ही कार्य करता है। WMF फ़ाइलों को बाद में एन्हांस्ड मेटाफ़ाइल्स (EMF फ़ाइलें) द्वारा प्रतिस्थापित किया गया, जो डिवाइस की स्वतंत्रता प्रदान करती थी। EMF फ़ाइलों को फिर EMF+ फ़ाइलों के माध्यम से बढ़ाया गया।
'''विंडोज़ मेटाफ़ाइल (डब्लूएमएफ)''' एक इमेज फाइल फॉर्मेट है जिसे मूल रूप से 1990 के दशक में माइक्रोसॉफ्ट विंडोज़ के लिए डिज़ाइन किया गया था। मूल विंडोज़ मेटाफ़ाइल प्रारूप डिवाइस-स्वतंत्र नहीं था (हालांकि प्लेसमेंट हेडर के साथ इसे और अधिक बनाया जा सकता था) और इसमें [[वेक्टर ग्राफिक्स]] और बिटमैप दोनों घटक सम्मिलित हो सकते हैं। यह एसवीजी फाइलों की तरह ही कार्य करता है। WMF फ़ाइलों को बाद में एन्हांस्ड मेटाफ़ाइल्स (EMF फ़ाइलें) द्वारा प्रतिस्थापित किया गया, जो डिवाइस की स्वतंत्रता प्रदान करती थी। EMF फ़ाइलों को फिर EMF+ फ़ाइलों के माध्यम से बढ़ाया गया।




अनिवार्य रूप से, एक मेटाफ़ाइल स्क्रीन पर एक छवि प्रदर्शित करने के लिए ड्राइंग कमांड, प्रॉपर्टी परिभाषा और ग्राफिक्स ऑब्जेक्ट से युक्त रिकॉर्ड की एक सूची संग्रहीत करता है।<ref name="wmfspecdef">{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=16}}</ref> उपयोग किए गए ड्राइंग कमांड माइक्रोसॉफ्ट विंडोज़ में ड्राइंग के लिए उपयोग किए जाने वाले ग्राफिक्स डिवाइस इंटरफ़ेस (जीडीआई) एपीआई के कमांड से निकटता से संबंधित हैं।
अनिवार्य रूप से, एक मेटाफ़ाइल स्क्रीन पर एक छवि प्रदर्शित करने के लिए ड्राइंग कमांड, प्रॉपर्टी परिभाषा और ग्राफिक्स ऑब्जेक्ट से युक्त रिकॉर्ड की एक सूची संग्रहीत करता है।<ref name="wmfspecdef">{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=16}}</ref> उपयोग किए गए ड्राइंग कमांड माइक्रोसॉफ्ट विंडोज़ में ड्राइंग के लिए उपयोग किए जाने वाले ग्राफिक्स डिवाइस इंटरफ़ेस (जीडीआई) एपीआई के कमांड से निकटता से संबंधित हैं।


मेटाफ़ाइल्स के तीन प्रमुख प्रकार हैं - WMF एक 16-बिट प्रारूप है जिसे विंडोज़ 3.0 में पेश किया गया है। यह Word, PowerPoint और प्रकाशक जैसे Microsoft Office अनुप्रयोगों के लिए मूल वेक्टर प्रारूप है। 2017 के अनुसार विंडोज मेटाफ़ाइल प्रारूप विनिर्देश का संशोधन 14 ऑनलाइन पढ़ने या पीडीएफ के रूप में डाउनलोड करने के लिए उपलब्ध है।<ref name="v15">{{cite web|url=http://msdn.microsoft.com/en-us/library/cc250370.aspx|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format|publisher=[[MSDN]]|date=2015-06-30|access-date=2015-07-26}}</ref> ईएमएफ फाइलें, जिन्होंने डब्लूएमएफ फाइलों को प्रतिस्थापित किया, उसी सिद्धांत पर काम करती हैं, केवल यह एक 32-बिट फ़ाइल प्रारूप है जो "टिप्पणी" रिकॉर्ड के भीतर निजी डेटा को एम्बेड करने की भी अनुमति देता है।<ref name="emfspecdef">{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|page=17}}</ref> ईएमएफ+ ईएमएफ फाइलों का एक विस्तार है और इन टिप्पणी रिकॉर्ड में एम्बेडेड है, जो विंडोज़ जीडीआई+ के समान कमांड, ऑब्जेक्ट और गुणों का उपयोग करके छवियों और टेक्स्ट की अनुमति देता है।<ref name="emfplusspecdef">{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMFPLUS/%5bMS-EMFPLUS%5d.pdf|title=<nowiki>[MS-EMFPLUS]:</nowiki> Enhanced Metafile Format Plus Extensions|publisher=Microsoft|page=19}}</ref>
मेटाफ़ाइल्स के तीन प्रमुख प्रकार हैं - WMF एक 16-बिट प्रारूप है जिसे विंडोज़ 3.0 में प्रस्तुत किया गया है। यह वर्ड, पावर पॉइंट और प्रकाशक जैसे माइक्रोसॉफ़्ट ऑफिस अनुप्रयोगों के लिए मूल वेक्टर प्रारूप है। 2017 के अनुसार विंडोज मेटाफ़ाइल प्रारूप विनिर्देश का संशोधन 14 ऑनलाइन पढ़ने या पीडीएफ के रूप में डाउनलोड करने के लिए उपलब्ध है।<ref name="v15">{{cite web|url=http://msdn.microsoft.com/en-us/library/cc250370.aspx|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format|publisher=[[MSDN]]|date=2015-06-30|access-date=2015-07-26}}</ref> ईएमएफ फाइलें, जिन्होंने डब्लूएमएफ फाइलों को प्रतिस्थापित किया, उसी सिद्धांत पर काम करती हैं, केवल यह एक 32-बिट फ़ाइल प्रारूप है जो "टिप्पणी" रिकॉर्ड के भीतर निजी डेटा को एम्बेड करने की भी अनुमति देता है।<ref name="emfspecdef">{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|page=17}}</ref> ईएमएफ+ ईएमएफ फाइलों का एक विस्तार है और इन टिप्पणी रिकॉर्ड में एम्बेडेड है, जो विंडोज़ जीडीआई+ के समान कमांड, ऑब्जेक्ट और गुणों का उपयोग करके छवियों और टेक्स्ट की अनुमति देता है।<ref name="emfplusspecdef">{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMFPLUS/%5bMS-EMFPLUS%5d.pdf|title=<nowiki>[MS-EMFPLUS]:</nowiki> Enhanced Metafile Format Plus Extensions|publisher=Microsoft|page=19}}</ref>






==इतिहास==
==इतिहास==
मूल 16-बिट WMF फ़ाइल स्वरूप 1992 के विंडोज़ 3.1 एसडीके दस्तावेज़ीकरण के खंड 4 में पूरी तरह से निर्दिष्ट किया गया था<ref>Microsoft Windows 3.1 Programmers Reference, Volume 4 Resources, Microsoft Press 1992, {{ISBN|1-55615-494-1}}, chapter 3 pp. 21-45</ref> (कम से कम यदि अन्य खंडों में व्यक्तिगत कार्यों और संरचनाओं के विवरण के साथ जोड़ा जाए), लेकिन वह विनिर्देश कुछ विवरणों के बारे में अस्पष्ट था। इन मैनुअलों को किताबों की दुकानों में उपलब्ध मुद्रित पुस्तकों के रूप में प्रकाशित किया गया था, जिसमें कोई क्लिक-थ्रू ईयूएलए या अन्य असामान्य लाइसेंसिंग प्रतिबंध नहीं थे (केवल एक सामान्य चेतावनी है कि यदि सॉफ्टवेयर बंडल के हिस्से के रूप में खरीदा जाता है, तो सॉफ्टवेयर एक के अधीन होगा)।
मूल 16-बिट WMF फ़ाइल स्वरूप 1992 के विंडोज़ 3.1 एसडीके प्रलेखन के खंड 4 में पूरी तरह से निर्दिष्ट किया गया था<ref>Microsoft Windows 3.1 Programmers Reference, Volume 4 Resources, Microsoft Press 1992, {{ISBN|1-55615-494-1}}, chapter 3 pp. 21-45</ref> (कम से कम यदि अन्य खंडों में व्यक्तिगत कार्यों और संरचनाओं के विवरण के साथ जोड़ा जाए), लेकिन वह विनिर्देश कुछ विवरणों के बारे में अस्पष्ट था। इन मैनुअलों को किताबों की दुकानों में उपलब्ध मुद्रित पुस्तकों के रूप में प्रकाशित किया गया था, जिसमें कोई क्लिक-थ्रू ईयूएलए या अन्य असामान्य लाइसेंसिंग प्रतिबंध नहीं थे (केवल एक सामान्य चेतावनी है कि यदि सॉफ्टवेयर बंडल के हिस्से के रूप में खरीदा जाता है, तो सॉफ्टवेयर एक के अधीन होगा)।
 
समय के साथ उस ऐतिहासिक विनिर्देश के अस्तित्व को काफी हद तक भुला दिया गया और कुछ वैकल्पिक कार्यान्वयनों ने मौजूदा WMF फ़ाइलों से फ़ाइल प्रारूप का पता लगाने के लिए रिवर्स इंजीनियरिंग का सहारा लिया, जो कठिन और त्रुटि प्रवण था।<ref>{{cite web | url=http://wvware.sourceforge.net/caolan/support.html | title=विंडो मेटाफ़ाइल (डब्ल्यूएमएफ) संदर्भ| quote=''ये ऑपकोड लागू नहीं किए गए हैं, इस कारण से कि मुझे नहीं पता कि वे क्या हैं, कोई ज्ञात दस्तावेज नहीं है''| author=Caolan McNamara | access-date=2008-06-01}}</ref> सितंबर 2006 में, माइक्रोसॉफ़्ट ने WMF फ़ाइल प्रारूप विनिर्देश को अधिक पूर्ण रूप में फिर से प्रकाशित किया<ref>{{cite web | url=http://msdn.microsoft.com/en-us/library/cc215212.aspx | title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification | access-date=2008-06-01 }}</ref> [[माइक्रोसॉफ्ट ओपन विशिष्टता वादा]] के संदर्भ में, फ़ाइल प्रारूप कार्यान्वयनकर्ताओं पर पेटेंट अधिकारों का दावा नहीं करने का वादा किया गया है।<ref name="osp">{{cite web | url=http://www.microsoft.com/interop/osp/ | title=माइक्रोसॉफ्ट ओपन विशिष्टता वादा| website=[[Microsoft]] | access-date=2008-06-01 }}</ref>
 
माइक्रोसॉफ्ट ने बाद में 32-बिट ईएमएफ फाइलों के पक्ष में डब्लूएमएफ फाइलों को खारिज कर दिया क्योंकि डब्लूएमएफ फाइलों में डिवाइस स्वतंत्रता के साथ वास्तविक समस्याएं थीं, प्लेसेबल फ़ाइल हेडर के उपयोग के बावजूद जो मूलभूत डिवाइस स्वतंत्रता प्रदान करती थी। माइक्रोसॉफ्ट ने पाया कि जो डेवलपर्स प्रारूप का उपयोग करते हैं, वे मेटाफ़ाइल्स में एप्लिकेशन, स्थान, या स्केलिंग टिप्पणियां [एम्बेडिंग] कर रहे थे... अन्य ने मेटाफ़ाइल में हेडर जोड़े जो विभिन्न एप्लिकेशन-विशिष्ट जानकारी प्रदान करते थे, जिससे प्रमुख संगतता समस्याएं पैदा हुईं। एक प्रारूप जो Win32 API पर आधारित था और जिसके साथ उन्होंने डिवाइस की स्वतंत्रता अंतर्निहित की थी। इन्हें एनटी मेटाफ़ाइल्स के रूप में भी जाना जाता था। विंडोज़ एक्सपी और जीडीआई+ की रिलीज़ के साथ, रिकॉर्ड्स के सेट को काफी बढ़ाना पड़ा और इसलिए माइक्रोसॉफ्ट ने मौजूदा ईएमएफ फ़ाइल प्रारूप के विस्तार के रूप में ईएमएफ+ प्रभावशील किया था।<ref name="rfc7903">{{cite IETF|title = Windows Image Media Types|rfc = 7903|sectionname = Windows Metafiles|page = 1|last1 = Leonard|first1 = Sean|date = September 2016|publisher = [[Internet Engineering Task Force|IETF]]|access-date = February 8, 2020|issn = 2070-1721|doi = 10.17487/RFC7903}}</ref>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


समय के साथ उस ऐतिहासिक विनिर्देश के अस्तित्व को काफी हद तक भुला दिया गया और कुछ वैकल्पिक कार्यान्वयनों ने मौजूदा WMF फ़ाइलों से फ़ाइल प्रारूप का पता लगाने के लिए रिवर्स इंजीनियरिंग का सहारा लिया, जो कठिन और त्रुटि प्रवण था।<ref>{{cite web | url=http://wvware.sourceforge.net/caolan/support.html | title=विंडो मेटाफ़ाइल (डब्ल्यूएमएफ) संदर्भ| quote=''ये ऑपकोड लागू नहीं किए गए हैं, इस कारण से कि मुझे नहीं पता कि वे क्या हैं, कोई ज्ञात दस्तावेज नहीं है''| author=Caolan McNamara | access-date=2008-06-01}}</ref> सितंबर 2006 में, Microsoft ने WMF फ़ाइल प्रारूप विनिर्देश को अधिक पूर्ण रूप में फिर से प्रकाशित किया<ref>{{cite web | url=http://msdn.microsoft.com/en-us/library/cc215212.aspx | title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification | access-date=2008-06-01 }}</ref> [[माइक्रोसॉफ्ट ओपन विशिष्टता वादा]] के संदर्भ में, फ़ाइल प्रारूप कार्यान्वयनकर्ताओं पर पेटेंट अधिकारों का दावा नहीं करने का वादा किया गया है।<ref name="osp">{{cite web | url=http://www.microsoft.com/interop/osp/ | title=माइक्रोसॉफ्ट ओपन विशिष्टता वादा| website=[[Microsoft]] | access-date=2008-06-01 }}</ref>


माइक्रोसॉफ्ट ने बाद में [[32-बिट]] ईएमएफ फाइलों के पक्ष में डब्लूएमएफ फाइलों को खारिज कर दिया क्योंकि डब्लूएमएफ फाइलों में डिवाइस स्वतंत्रता के साथ वास्तविक समस्याएं थीं, प्लेसेबल फ़ाइल हेडर के उपयोग के बावजूद जो बुनियादी डिवाइस स्वतंत्रता प्रदान करती थी। माइक्रोसॉफ्ट ने पाया कि जो डेवलपर्स प्रारूप का उपयोग करते हैं, वे मेटाफ़ाइल्स में एप्लिकेशन, स्थान, या स्केलिंग टिप्पणियां [एम्बेडिंग] कर रहे थे... अन्य ने मेटाफ़ाइल में हेडर जोड़े जो विभिन्न एप्लिकेशन-विशिष्ट जानकारी प्रदान करते थे, जिससे प्रमुख संगतता समस्याएं पैदा हुईं। एक प्रारूप जो Win32 API पर आधारित था और जिसके साथ उन्होंने डिवाइस की स्वतंत्रता अंतर्निहित की थी। इन्हें एनटी मेटाफ़ाइल्स के रूप में भी जाना जाता था। विंडोज़ एक्सपी और जीडीआई+ की रिलीज़ के साथ, रिकॉर्ड्स के सेट को काफी बढ़ाना पड़ा और इसलिए माइक्रोसॉफ्ट ने मौजूदा ईएमएफ फ़ाइल प्रारूप के विस्तार के रूप में ईएमएफ+ प्रभावशील किया था।
==मेटाफ़ाइल संरचना==
==मेटाफ़ाइल संरचना==
[[File:Microsoft Metafile comparisons.svg|thumb|विंडोज़ मेटाफ़ाइल्स की तुलना - ध्यान दें कि WMF फ़ाइलों में EMF+ रिकॉर्ड शामिल हो सकते हैं]]WMF, EMF और EMF+ फ़ाइलें सभी रिकॉर्ड की एक श्रृंखला से बनी होती हैं जिन्हें ग्राफिकल आउटपुट उत्पन्न करने के लिए चलाया जाता है। कुछ रिकॉर्ड वस्तुओं को परिभाषित करते हैं जो ग्राफिकल वस्तुओं को निर्दिष्ट कर सकते हैं जिनका उपयोग यह निर्धारित करने के लिए किया जाता है कि ग्राफिक्स कैसे बनाया जाना चाहिए (उदाहरण के लिए पेन लाइनों का रंग और चौड़ाई निर्दिष्ट करते हैं)। इनमें से प्रत्येक ऑब्जेक्ट को मेटाफ़ाइल्स में संग्रहीत किया जाता है और एक ऑब्जेक्ट तालिका में रखा जाता है, जो मेटाफ़ाइल को संसाधित करते समय ग्राफिक ऑब्जेक्ट्स के उपयोग को ट्रैक करता है। ऑब्जेक्ट तालिका मेटाफ़ाइल के भीतर परिभाषित ग्राफ़िकल ऑब्जेक्ट संरचनाओं के अनुक्रमितों की एक सहयोगी सरणी है।
[[File:Microsoft Metafile comparisons.svg|thumb|विंडोज़ मेटाफ़ाइल्स की तुलना - ध्यान दें कि WMF फ़ाइलों में EMF+ रिकॉर्ड सम्मिलित हो सकते हैं]]WMF, EMF और EMF+ फ़ाइलें सभी रिकॉर्ड की एक श्रृंखला से बनी होती हैं जिन्हें ग्राफिकल आउटपुट उत्पन्न करने के लिए चलाया जाता है। कुछ रिकॉर्ड वस्तुओं को परिभाषित करते हैं जो ग्राफिकल वस्तुओं को निर्दिष्ट कर सकते हैं जिनका उपयोग यह निर्धारित करने के लिए किया जाता है कि ग्राफिक्स कैसे बनाया जाना चाहिए (उदाहरण के लिए पेन लाइनों का रंग और चौड़ाई निर्दिष्ट करते हैं)। इनमें से प्रत्येक ऑब्जेक्ट को मेटाफ़ाइल्स में संग्रहीत किया जाता है और एक ऑब्जेक्ट तालिका में रखा जाता है, जो मेटाफ़ाइल को संसाधित करते समय ग्राफिक ऑब्जेक्ट्स के उपयोग को ट्रैक करता है। ऑब्जेक्ट तालिका मेटाफ़ाइल के भीतर परिभाषित ग्राफ़िकल ऑब्जेक्ट संरचनाओं के अनुक्रमितों की एक सहयोगी सरणी है।


WMF और EMF फ़ाइलें EMF फ़ाइलों में EMF+ रिकॉर्ड से भिन्न तरीके से ऑब्जेक्ट प्रोसेसिंग को संभालती हैं। चूंकि WMF और EMF फ़ाइल को संसाधित किया जा रहा है, किसी ऑब्जेक्ट को परिभाषित करने के बाद रिकॉर्ड्स को ऑब्जेक्ट तालिका में पढ़ा जाता है। यदि कोई ऑब्जेक्ट हटा दिया जाता है तो ऑब्जेक्ट को तालिका से मुक्त कर दिया जाता है और पहचानकर्ता का पुन: उपयोग किया जा सकता है। विशेष रूप से किसी ऑब्जेक्ट का उपयोग तब तक नहीं किया जाएगा जब तक कि इसे रिकॉर्ड प्लेबैक के दौरान विशेष रूप से नहीं चुना जाता है।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|page=187|section=3.1.4.1 WMF Object Table}}</ref><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Windows Metafile Format Specification|publisher=Microsoft|page=212-214|section=3.1.1.1 EMF Object Table}}</ref> यह EMF+ फ़ाइलों के लिए भिन्न है, जो हैशमैप के माध्यम से एक सहयोगी सरणी का भी उपयोग करता है जो ऑब्जेक्ट को ऑब्जेक्ट पहचानकर्ता के साथ रिकॉर्ड करता है। हालाँकि, WMF और EMF फ़ाइलों के विपरीत, जो किसी ऑब्जेक्ट को हटा सकती हैं, जब एक नया ऑब्जेक्ट बनाया जाता है जिसका इंडेक्स मौजूदा ऑब्जेक्ट के समान होता है, तो तालिका में प्रविष्टि को नए ऑब्जेक्ट से बदल दिया जाता है। ईएमएफ फ़ाइल को उपयोग करने से पहले विशेष रूप से किसी ऑब्जेक्ट का चयन करने की आवश्यकता नहीं होती है।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMFPLUS/%5bMS-EMFPLUS%5d.pdf|pages=204–205|title=<nowiki>[MS-EMFPLUS]:</nowiki> Enhanced Metafile Format Plus Extensions|publisher=Microsoft}}</ref>
WMF और EMF फ़ाइलें EMF फ़ाइलों में EMF+ रिकॉर्ड से भिन्न तरीके से ऑब्जेक्ट प्रोसेसिंग को संभालती हैं। चूंकि WMF और EMF फ़ाइल को संसाधित किया जा रहा है, किसी ऑब्जेक्ट को परिभाषित करने के बाद रिकॉर्ड्स को ऑब्जेक्ट तालिका में पढ़ा जाता है। यदि कोई ऑब्जेक्ट हटा दिया जाता है तो ऑब्जेक्ट को तालिका से मुक्त कर दिया जाता है और पहचानकर्ता का पुन: उपयोग किया जा सकता है। विशेष रूप से किसी ऑब्जेक्ट का उपयोग तब तक नहीं किया जाएगा जब तक कि इसे रिकॉर्ड प्लेबैक के दौरान विशेष रूप से नहीं चुना जाता है।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|page=187|section=3.1.4.1 WMF Object Table}}</ref><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Windows Metafile Format Specification|publisher=Microsoft|page=212-214|section=3.1.1.1 EMF Object Table}}</ref> यह EMF+ फ़ाइलों के लिए भिन्न है, जो हैशमैप के माध्यम से एक सहयोगी सरणी का भी उपयोग करता है जो ऑब्जेक्ट को ऑब्जेक्ट पहचानकर्ता के साथ रिकॉर्ड करता है। हालाँकि, WMF और EMF फ़ाइलों के विपरीत, जो किसी ऑब्जेक्ट को हटा सकती हैं, जब एक नया ऑब्जेक्ट बनाया जाता है जिसका इंडेक्स मौजूदा ऑब्जेक्ट के समान होता है, तो तालिका में प्रविष्टि को नए ऑब्जेक्ट से बदल दिया जाता है। ईएमएफ फ़ाइल को उपयोग करने से पहले विशेष रूप से किसी ऑब्जेक्ट का चयन करने की आवश्यकता नहीं होती है।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMFPLUS/%5bMS-EMFPLUS%5d.pdf|pages=204–205|title=<nowiki>[MS-EMFPLUS]:</nowiki> Enhanced Metafile Format Plus Extensions|publisher=Microsoft}}</ref>
Line 44: Line 67:
| free =
| free =
}}
}}
[[File:WMF-structure.svg|thumb|left|मूल और रखने योग्य विंडोज़ मेटाफ़ाइलों की संरचनाएँ<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=17|section=Figure 1: Structures of original and placeable Windows metafiles}}</ref>]]WMF फ़ाइलें मूल रूप से डिवाइस स्वतंत्र होने के लिए डिज़ाइन नहीं की गई थीं, जिसका अर्थ है कि आप फ़ाइल को आउटपुट डिवाइस पर प्लेबैक नहीं कर सकते थे जो मूल डिवाइस से भिन्न था जिस पर फ़ाइल रिकॉर्ड की गई थी। इस समस्या का आंशिक समाधान [[एल्डस कॉर्पोरेशन]] द्वारा आविष्कार किया गया था, जिसने एक अतिरिक्त प्लेसेबल हेडर जोड़ा, जिसे एपीएम हेडर कहा जाता है।<ref name="aldus">{{citation|title=Q66949: INFO: Windows Metafile Functions & Aldus Placeable Metafiles|publisher=Microsoft|url=https://jeffpar.github.io/kbarchive/kb/066/Q66949/|via=KnowledgeBase Archive: An Archive of Early Microsoft KnowledgeBase }}</ref> जिसमें एक बाउंडिंग आयत, एक मेटाफ़ाइल संस्करण, मेटाफ़ाइल आकार, मेटाफ़ाइल में ऑब्जेक्ट की संख्या और मेटाफ़ाइल में सबसे बड़े एकल रिकॉर्ड का आकार जोड़ा गया।<ref name="wmfstructure">{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=17|section=1.3.1 Metafile Structure}}</ref><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.3 META_PLACEABLE Record|page=115}}</ref> इसे बाद में [[माइक्रोसॉफ्ट]] द्वारा विंडोज 2000 में शुरू करके WMF प्रारूप में शामिल किया गया।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=55|quote=<55> Section 2.3.2.3: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, and Windows 95: This feature is not supported.}}</ref>
[[File:WMF-structure.svg|thumb|left|मूल और रखने योग्य विंडोज़ मेटाफ़ाइलों की संरचनाएँ<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=17|section=Figure 1: Structures of original and placeable Windows metafiles}}</ref>]]WMF फ़ाइलें मूल रूप से डिवाइस स्वतंत्र होने के लिए डिज़ाइन नहीं की गई थीं, जिसका अर्थ है कि आप फ़ाइल को आउटपुट डिवाइस पर प्लेबैक नहीं कर सकते थे जो मूल डिवाइस से भिन्न था जिस पर फ़ाइल रिकॉर्ड की गई थी। इस समस्या का आंशिक समाधान [[एल्डस कॉर्पोरेशन]] द्वारा आविष्कार किया गया था, जिसने एक अतिरिक्त प्लेसेबल हेडर जोड़ा, जिसे एपीएम हेडर कहा जाता है।<ref name="aldus">{{citation|title=Q66949: INFO: Windows Metafile Functions & Aldus Placeable Metafiles|publisher=Microsoft|url=https://jeffpar.github.io/kbarchive/kb/066/Q66949/|via=KnowledgeBase Archive: An Archive of Early Microsoft KnowledgeBase }}</ref> जिसमें एक बाउंडिंग आयत, एक मेटाफ़ाइल संस्करण, मेटाफ़ाइल आकार, मेटाफ़ाइल में ऑब्जेक्ट की संख्या और मेटाफ़ाइल में सबसे बड़े एकल रिकॉर्ड का आकार जोड़ा गया।<ref name="wmfstructure">{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=17|section=1.3.1 Metafile Structure}}</ref><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.3 META_PLACEABLE Record|page=115}}</ref> इसे बाद में [[माइक्रोसॉफ्ट]] द्वारा विंडोज 2000 में प्रारंभ करके WMF प्रारूप में सम्मिलित किया गया।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=55|quote=<55> Section 2.3.2.3: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, and Windows 95: This feature is not supported.}}</ref>
WMF फ़ाइलें रिकॉर्ड की एक श्रृंखला द्वारा संरचित होती हैं, जो कई नियंत्रण रिकॉर्ड से शुरू होती हैं: हेडर रिकॉर्ड,<ref name="wmfstructure"/><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.2 MTF_HEADERRECORD Record|page=114}}</ref> उपर्युक्त वैकल्पिक स्थानयोग्य रिकॉर्ड, <ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.2 MTF_HEADERRECORD Record|page=114}}</ref> और फ़ाइल रिकॉर्ड के अंत तक समाप्त हो गया।<ref name="wmfstructure"/><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.1 MTF_EOF Record|page=114}}</ref>
WMF फ़ाइलें रिकॉर्ड की एक श्रृंखला द्वारा संरचित होती हैं, जो कई नियंत्रण रिकॉर्ड से प्रारंभ होती हैं: हेडर रिकॉर्ड,<ref name="wmfstructure"/><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.2 MTF_HEADERRECORD Record|page=114}}</ref> उपर्युक्त वैकल्पिक स्थानयोग्य रिकॉर्ड, <ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.2 MTF_HEADERRECORD Record|page=114}}</ref> और फ़ाइल रिकॉर्ड के अंत तक समाप्त हो गया।<ref name="wmfstructure"/><ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|section=2.3.2.1 MTF_EOF Record|page=114}}</ref>
नियंत्रण रिकॉर्ड द्वारा संपुटित वे रिकॉर्ड होते हैं जो स्वयं छवि बनाते हैं। ये रिकॉर्ड प्लेबैक डिवाइस संदर्भ के रूप में जाने जाते हैं, जो गुणों और वस्तुओं का संग्रह है जो डिवाइस के ग्राफिकल वातावरण को बनाते हैं क्योंकि मेटाफ़ाइल को इस आउटपुट डिवाइस पर वापस चलाया जा रहा है।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf | title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification | section=1.1 Glossary|page=13|access-date=2020-01-24|publisher=Microsoft}}</ref> नियंत्रण रिकॉर्ड के अलावा अन्य रिकॉर्ड को बड़े पैमाने पर बिटमैप रिकॉर्ड, ड्राइंग रिकॉर्ड, ऑब्जेक्ट रिकॉर्ड, राज्य रिकॉर्ड और एस्केप रिकॉर्ड में समूहीकृत किया जा सकता है।
नियंत्रण रिकॉर्ड द्वारा संपुटित वे रिकॉर्ड होते हैं जो स्वयं छवि बनाते हैं। ये रिकॉर्ड प्लेबैक डिवाइस संदर्भ के रूप में जाने जाते हैं, जो गुणों और वस्तुओं का संग्रह है जो डिवाइस के ग्राफिकल वातावरण को बनाते हैं क्योंकि मेटाफ़ाइल को इस आउटपुट डिवाइस पर वापस चलाया जा रहा है।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf | title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification | section=1.1 Glossary|page=13|access-date=2020-01-24|publisher=Microsoft}}</ref> नियंत्रण रिकॉर्ड के अलावा अन्य रिकॉर्ड को बड़े पैमाने पर बिटमैप रिकॉर्ड, ड्राइंग रिकॉर्ड, ऑब्जेक्ट रिकॉर्ड, राज्य रिकॉर्ड और एस्केप रिकॉर्ड में समूहीकृत किया जा सकता है।


Line 295: Line 318:
| मेटा_ सेटविंडोवॉर्ग
| मेटा_ सेटविंडोवॉर्ग
|प्लेबैक डिवाइस संदर्भ में आउटपुट विंडो मूल को परिभाषित करता है
|प्लेबैक डिवाइस संदर्भ में आउटपुट विंडो मूल को परिभाषित करता है
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|-
|
|
|}
|}


Line 3,209: Line 325:


निम्नलिखित एस्केप रिकॉर्ड एक WMF फ़ाइल बनाते हैं।
निम्नलिखित एस्केप रिकॉर्ड एक WMF फ़ाइल बनाते हैं।
{| class="wikitable"
{| class="wikitable"
|- valign="bottom"
|- valign="bottom"
! Name
! नाम
! Description
! विवरण
|-
|-
| ABORTDOC
| ABORTDOC
| Stops processing the current document. <ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.2. ABORTDOC Record|pages=158–159|access-date=2020-01-28}}</ref>
| वर्तमान आलेख को संसाधित करना बंद कर देता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.2. ABORTDOC Record|pages=158–159|access-date=2020-01-28}}</ref>
|-
|-
| BEGIN_PATH
| BEGIN_PATH
| Oपेनs a path.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.3. BEGIN_PATH Record|page=159|access-date=2020-01-28}}</ref>
| एक रास्ता खोलता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.3. BEGIN_PATH Record|page=159|access-date=2020-01-28}}</ref>
|-
|-
| CHECK_JPEGFORMAT
| CHECK_JPEGFORMAT
| Determines whether it can handle the given [[JPEG]] image.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.4. CHECK_JPEGFORMAT Record|pages=159–160|access-date=2020-01-28}}</ref>
| निर्धारित करता है कि यह दी गई JPEG छवि को संभाल सकता है या नहीं<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.4. CHECK_JPEGFORMAT Record|pages=159–160|access-date=2020-01-28}}</ref>
|-
|-
| CHECK_PNGFORMAT
| CHECK_PNGFORMAT
| Determines whether it can handle the given [[Portable Network Graphics|PNG]] image.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.5. CHECK_PNGFORMAT Record|page=160|access-date=2020-01-28}}</ref>
| निर्धारित करता है कि यह दी गई पीएनजी छवि को संभाल सकता है या नहीं<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.5. CHECK_PNGFORMAT Record|page=160|access-date=2020-01-28}}</ref>
|-
|-
| क्लिप_TO_PATH
| CLIP_TO_PATH
| Applies a function to the current [[PostScript]] क्लिपping path.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.6. CLIP_TO_PATH Record|page=160|access-date=2020-01-28}}</ref>
| किसी फ़ंक्शन को वर्तमान पोस्टस्क्रिप्ट क्लिपिंग पथ पर लागू करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.6. CLIP_TO_PATH Record|page=160|access-date=2020-01-28}}</ref>
|-
|-
| CLOSE_CHANNEL
| CLOSE_CHANNEL
| Same as ENDDOC.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.7. CLOSE_CHANNEL Record|page=162|access-date=2020-01-28}}</ref>
| ENDDOC के समान<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.7. CLOSE_CHANNEL Record|page=162|access-date=2020-01-28}}</ref>
|-
|-
| DOWNLOAD_FACE
| DOWNLOAD_FACE
| Sets the फ्रंट face name on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.8. DOWNLOAD_FACE Record|pages=162–163|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर फ़ॉन्ट फेस नाम सेट करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.8. DOWNLOAD_FACE Record|pages=162–163|access-date=2020-01-28}}</ref>
|-
|-
| DOWNLOAD_HEADER
| DOWNLOAD_HEADER
| Downloads sets of PostScript procedures.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.9. DOWNLOAD_HEADER Record|pages=158–159|access-date=2020-01-28}}</ref>
| पोस्टस्क्रिप्ट प्रक्रियाओं के सेट डाउनलोड करें<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.9. DOWNLOAD_HEADER Record|pages=158–159|access-date=2020-01-28}}</ref>
|-
|-
| DRAW_पेटर्नRECT
| DRAW_PATTERNRECT
| Draws a रेक्टेंगल with a defined पेटर्न.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.10. DRAW_PATTERNRECT Record|pages=163–164|access-date=2020-01-28}}</ref>
| एक परिभाषित पैटर्न के साथ एक आयत बनाता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.10. DRAW_PATTERNRECT Record|pages=163–164|access-date=2020-01-28}}</ref>
|-
|-
| ENCAPSULATED_POSTSCRIPT
| ENCAPSULATED_POSTSCRIPT
| Sends arbitrary [[encapsulated PostScript]] (EPS) data directly to the printer driver.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.11. ENCAPSULATED_POSTSCRIPT Record|page=164|access-date=2020-01-28}}</ref>
| मनमाना इनकैप्सुलेटेड पोस्टस्क्रिप्ट (ईपीएस) डेटा सीधे प्रिंटर ड्राइवर को भेजता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.11. ENCAPSULATED_POSTSCRIPT Record|page=164|access-date=2020-01-28}}</ref>
|-
|-
| END_PATH
| END_PATH
| Ends a path.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.12. END_PATH Record|pages=164–165|access-date=2020-01-28}}</ref>
| एक रास्ता ख़त्म हो जाता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.12. END_PATH Record|pages=164–165|access-date=2020-01-28}}</ref>
|-
|-
| ENDDOC
| ENDDOC
| Notifies the printer driver that a new print job is ending.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.13. ENDDOC Record|pages=165|access-date=2020-01-28}}</ref>
| प्रिंटर ड्राइवर को सूचित करता है कि नया प्रिंट कार्य समाप्त हो रहा है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.13. ENDDOC Record|pages=165|access-date=2020-01-28}}</ref>
|-
|-
| EPS_PRINTING
| EPS_PRINTING
| Indicates the start and end of EPS printing.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.14. EPS_PRINTING Record|pages=165–166|access-date=2020-01-28}}</ref>
| ईपीएस प्रिंटिंग की प्रारंभ और समाप्ति को दर्शाता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.14. EPS_PRINTING Record|pages=165–166|access-date=2020-01-28}}</ref>
|-
|-
| एक्सटेक्स्टआउट
| EXTTEXTOUT
| Draws text using the currently सेलेक्टed फ्रंट, background color, and text color.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.15. EXTTEXTOUT Record|pages=166–167|access-date=2020-01-28}}</ref>
| वर्तमान में चयनित फ़ॉन्ट, पृष्ठभूमि रंग और टेक्स्ट रंग का उपयोग करके टेक्स्ट बनाता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.15. EXTTEXTOUT Record|pages=166–167|access-date=2020-01-28}}</ref>
|-
|-
| GET_COLORTABLE
| GET_COLORTABLE
| Gets color table values from the printer driver.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.16. GET_COLORTABLE Record|pages=167–168|access-date=2020-01-28}}</ref>
| प्रिंटर ड्राइवर से रंग तालिका मान प्राप्त करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.16. GET_COLORTABLE Record|pages=167–168|access-date=2020-01-28}}</ref>
|-
|-
| GET_DEVICEUNITS
| GET_DEVICEUNITS
| Gets the device units currently configured on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.17. GET_DEVICEUNITS Record|page=168|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर वर्तमान में कॉन्फ़िगर की गई डिवाइस इकाइयों को प्राप्त करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.17. GET_DEVICEUNITS Record|page=168|access-date=2020-01-28}}</ref>
|-
|-
| GET_EXTENDED_TEXTMETRICS
| GET_EXTENDED_TEXTMETRICS
| Gets the extended text metrics that are currently configured on the printer driver.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.18. GET_EXTENDED_TEXTMETRICS Record|pages=168–169|access-date=2020-01-28}}</ref>
| विस्तारित टेक्स्ट मेट्रिक्स प्राप्त करता है जो वर्तमान में प्रिंटर ड्राइवर पर कॉन्फ़िगर किया गया है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.18. GET_EXTENDED_TEXTMETRICS Record|pages=168–169|access-date=2020-01-28}}</ref>
|-
|-
| GET_FACENAME
| GET_FACENAME
| Gets the फ्रंट face name currently configured on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.19. GET_FACENAME Record|page=169|access-date=2020-01-28}}</ref>
| वर्तमान में आउटपुट डिवाइस पर कॉन्फ़िगर किया गया फ़ॉन्ट फेस नाम प्राप्त करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.19. GET_FACENAME Record|page=169|access-date=2020-01-28}}</ref>
|-
|-
| GET_PAIRKERNTABLE
| GET_PAIRKERNTABLE
| Gets the [[kerning|फ्रंट kern]] table currently defined on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.20. GET_PAIRKERNTABLE Record|pages=169–170|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर वर्तमान में परिभाषित फ़ॉन्ट कर्न तालिका प्राप्त करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.20. GET_PAIRKERNTABLE Record|pages=169–170|access-date=2020-01-28}}</ref>
|-
|-
| GET_PHYSPAGESIZE
| GET_PHYSPAGESIZE
| Retrieves the physical page size currently सेलेक्टed on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.21. GET_PHYSPAGESIZE Record|page=170|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर वर्तमान में चयनित भौतिक पृष्ठ आकार को पुनः प्राप्त करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.21. GET_PHYSPAGESIZE Record|page=170|access-date=2020-01-28}}</ref>
|-
|-
| GET_PRINTINGOFFSET
| GET_PRINTINGOFFSET
| Retrieves the offset from the upper-left corner of the physical page where the actual printing or drawing begins.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.22. GET_PRINTINGOFFSET Record|pages=170–171|access-date=2020-01-28}}</ref>
| भौतिक पृष्ठ के ऊपरी-बाएँ कोने से ऑफ़सेट पुनर्प्राप्त करता है जहाँ वास्तविक मुद्रण या ड्राइंग शुरू होती है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.22. GET_PRINTINGOFFSET Record|pages=170–171|access-date=2020-01-28}}</ref>
|-
|-
| GET_PS_FEATURESETTING
| GET_PS_FEATURESETTING
| Queries the printer driver for information about PostScript features supported on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.23. GET_PS_FEATURESETTING Record|page=171|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर समर्थित पोस्टस्क्रिप्ट सुविधाओं के बारे में जानकारी के लिए प्रिंटर ड्राइवर से पूछताछ करें<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.23. GET_PS_FEATURESETTING Record|page=171|access-date=2020-01-28}}</ref>
|-
|-
| GET_SCALINGFACTOR
| GET_SCALINGFACTOR
| Retrieves the scaling factors for the x-axis and the y-axis of a printer.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.24. GET_SCALINGFACTOR Record|pages=171–172|access-date=2020-01-28}}</ref>
| प्रिंटर के x-अक्ष और y-अक्ष के लिए स्केलिंग कारक पुनर्प्राप्त करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.24. GET_SCALINGFACTOR Record|pages=171–172|access-date=2020-01-28}}</ref>
|-
|-
| मेटा_ESCAPE_ENHANCED_मेटाFILE
| META_ESCAPE_ENHANCED_METAFILE
| Used to embed an EMF मेटाfile within a WMF मेटाfile.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.25. META_ESCAPE_ENHANCED_METAFILE Record|pages=172–173|access-date=2020-01-28}}</ref>
| WMF मेटाफ़ाइल के भीतर EMF मेटाफ़ाइल को एम्बेड करने के लिए उपयोग किया जाता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.25. META_ESCAPE_ENHANCED_METAFILE Record|pages=172–173|access-date=2020-01-28}}</ref>
|-
|-
| मेटाFILE_DRIVER
| METAFILE_DRIVER
| Queries the printer driver about its support for मेटाfiles on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.26. METAFILE_DRIVER Record|pages=173–174|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर मेटाफ़ाइल्स के लिए इसके समर्थन के बारे में प्रिंटर ड्राइवर से पूछताछ करें<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.26. METAFILE_DRIVER Record|pages=173–174|access-date=2020-01-28}}</ref>
|-
|-
| NEWFRAME
| NEWFRAME
| Notifies the printer driver that the application has finished writing to a page.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.27. NEWFRAME Record|pages=174–175|access-date=2020-01-28}}</ref>
| प्रिंटर ड्राइवर को सूचित करता है कि एप्लिकेशन ने एक पृष्ठ पर लिखना समाप्त कर दिया है<<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.27. NEWFRAME Record|pages=174–175|access-date=2020-01-28}}</ref>
|-
|-
| NEXTBAND
| NEXTBAND
| Notifies the printer driver that the application has finished writing to a band.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.28. NEXTBAND Record|pages=174–175|access-date=2020-01-28}}</ref>
| प्रिंटर ड्राइवर को सूचित करता है कि एप्लिकेशन ने बैंड पर लिखना समाप्त कर दिया है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.28. NEXTBAND Record|pages=174–175|access-date=2020-01-28}}</ref>
|-
|-
| PASSTHROUGH
| PASSTHROUGH
| Passes through arbitrary data to the printer driver.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.29. PASSTHROUGH Record|page=175|access-date=2020-01-28}}</ref>
| प्रिंटर ड्राइवर को मनमाना डेटा भेजता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.29. PASSTHROUGH Record|page=175|access-date=2020-01-28}}</ref>
|-
|-
| POSTSCRIPT_DATA
| POSTSCRIPT_DATA
| Sends arbitrary PostScript data to the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.30. POSTSCRIPT_DATA Record|page=176|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर मनमाना पोस्टस्क्रिप्ट डेटा भेजता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.30. POSTSCRIPT_DATA Record|page=176|access-date=2020-01-28}}</ref>
|-
|-
| POSTSCRIPT_IDENTIFY
| POSTSCRIPT_IDENTIFY
| Sets the printer driver to either PostScript-centric or GDI-centric mode.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.31. POSTSCRIPT_IDENTIFY Record|pages=176–177|access-date=2020-01-28}}</ref>
| प्रिंटर ड्राइवर को या तो पोस्टस्क्रिप्ट-केंद्रित या GDI-केंद्रित मोड पर सेट करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.31. POSTSCRIPT_IDENTIFY Record|pages=176–177|access-date=2020-01-28}}</ref>
|-
|-
| POSTSCRIPT_IGNORE
| POSTSCRIPT_IGNORE
| Notifies the output device to ignore PostScript data.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.32. POSTSCRIPT_IGNORE Record|page=177|access-date=2020-01-28}}</ref>
| पोस्टस्क्रिप्ट डेटा को अनदेखा करने के लिए आउटपुट डिवाइस को सूचित करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.32. POSTSCRIPT_IGNORE Record|page=177|access-date=2020-01-28}}</ref>
|-
|-
| POSTSCRIPT_INJECTION
| POSTSCRIPT_INJECTION
| Inserts a block of raw data into a PostScript stream.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.33. POSTSCRIPT_INJECTION Record|pages=177–178|access-date=2020-01-28}}</ref>
| पोस्टस्क्रिप्ट स्ट्रीम में कच्चे डेटा का एक ब्लॉक सम्मिलित करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.33. POSTSCRIPT_INJECTION Record|pages=177–178|access-date=2020-01-28}}</ref>
|-
|-
| POSTSCRIPT_PASSTHROUGH
| POSTSCRIPT_PASSTHROUGH
| Sends arbitrary data directly to a printer driver, which is expected to process this data only when in PostScript mode.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.34. POSTSCRIPT_PASSTHROUGH Record|page=178|access-date=2020-01-28}}</ref>
| मनमाना डेटा सीधे एक प्रिंटर ड्राइवर को भेजता है, जिससे उम्मीद की जाती है कि वह इस डेटा को केवल पोस्टस्क्रिप्ट मोड में ही संसाधित करेगा<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.34. POSTSCRIPT_PASSTHROUGH Record|page=178|access-date=2020-01-28}}</ref>
|-
|-
| Oपेन_CHANNEL
| OPEN_CHANNEL
| Acts the same as STARTDOC, with a NULL document and output filename, and data in raw mode.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.35. OPEN_CHANNEL Record|page=179|access-date=2020-01-28}}</ref>
| STARTDOC के समान कार्य करता है, एक NULL आलेख और आउटपुट फ़ाइल नाम और कच्चे मोड में डेटा के साथ<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.35. OPEN_CHANNEL Record|page=179|access-date=2020-01-28}}</ref>
|-
|-
| QUERY_डिबSUPPORT
| QUERY_DIBSUPPORT
| Queries the printer driver about its support for डिबs on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.36. QUERY_DIBSUPPORT Record|pages=179–180|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर DIB के लिए उसके समर्थन के बारे में प्रिंटर ड्राइवर से पूछताछ करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.36. QUERY_DIBSUPPORT Record|pages=179–180|access-date=2020-01-28}}</ref>
|-
|-
| QUERY_ESCSUPPORT
| QUERY_ESCSUPPORT
| Queries the printer driver to determine whether a specific WMF escape function is supported on the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.37. QUERY_ESCSUPPORT Record|page=180|access-date=2020-01-28}}</ref>
| यह निर्धारित करने के लिए प्रिंटर ड्राइवर से पूछताछ करें कि आउटपुट डिवाइस पर एक विशिष्ट WMF एस्केप फ़ंक्शन समर्थित है या नहीं<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.37. QUERY_ESCSUPPORT Record|page=180|access-date=2020-01-28}}</ref>
|-
|-
| SET_COLORTABLE
| SET_COLORTABLE
| Sets color table values.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.38. SET_COLORTABLE Record|pages=180–181|access-date=2020-01-28}}</ref>
| रंग तालिका मान सेट करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.38. SET_COLORTABLE Record|pages=180–181|access-date=2020-01-28}}</ref>
|-
|-
| SET_COPYCOUNT
| SET_COPYCOUNT
| Sets the number of coपाईs.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.39. SET_COPYCOUNT Record|page=181|access-date=2020-01-28}}</ref>
| प्रतियों की संख्या निर्धारित करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.39. SET_COPYCOUNT Record|page=181|access-date=2020-01-28}}</ref>
|-
|-
| SET_LINECAP
| SET_LINECAP
| Specifies the line-ending mode to use in drawing to the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.40. SET_LINECAP Record|pages=181–182|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर ड्राइंग में उपयोग करने के लिए लाइन-एंडिंग मोड निर्दिष्ट करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.40. SET_LINECAP Record|pages=181–182|access-date=2020-01-28}}</ref>
|-
|-
| SET_LINEJOIN
| SET_LINEJOIN
| Specifies the line-joining mode to use in drawing to the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.41. SET_LINEJOIN Record|pages=182–183|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर ड्राइंग में उपयोग करने के लिए लाइन-ज्वाइनिंग मोड निर्दिष्ट करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.41. SET_LINEJOIN Record|pages=182–183|access-date=2020-01-28}}</ref>
|-
|-
| SET_MITERLIMIT
| SET_MITERLIMIT
| Sets the limit for the length of miter joins to use in drawing to the output device.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.42. SET_MITERLIMIT Record|page=183|access-date=2020-01-28}}</ref>
| आउटपुट डिवाइस पर ड्राइंग में उपयोग के लिए मेटर जॉइन की लंबाई की सीमा निर्धारित करता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.42. SET_MITERLIMIT Record|page=183|access-date=2020-01-28}}</ref>
|-
|-
| SPCLPASSTHROUGH2
| SPCLPASSTHROUGH2
| Enables documents to include private procedures and other arbitrary data in documents.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.43. SPCLPASSTHROUGH2 Record|pages=183–184|access-date=2020-01-28}}</ref>
| आलेखों को आलेखों में निजी प्रक्रियाओं और अन्य मनमाने डेटा को शामिल करने में सक्षम बनाता है<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.43. SPCLPASSTHROUGH2 Record|pages=183–184|access-date=2020-01-28}}</ref>
|-
|-
| STARTDOC
| STARTDOC
| Notifies the printer driver that a new print job is starting.<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.44. STARTDOC Record|page=184|access-date=2020-01-28}}</ref>
| प्रिंटर ड्राइवर को सूचित करता है कि एक नया प्रिंट कार्य प्रारंभ हो रहा है।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|section=2.3.6.44. STARTDOC Record|page=184|access-date=2020-01-28}}</ref>
|}
|}
एबॉर्ट एस्केप रिकॉर्ड के आसपास एस्केप रिकॉर्ड में एक [[विंडोज़ मेटाफ़ाइल भेद्यता]] पाई गई थी, जो एबॉर्ट प्रक्रिया कोड को रिकॉर्ड के भीतर ही संग्रहीत करता है। इससे विंडोज़ सिस्टम प्रभावित हुआ (देखें)। {{CVE|2005-4560}}) और [[ वाइन (सॉफ़्टवेयर) ]] (देखें {{CVE|2006-0106}}). [[सिकुनिया]] के अनुसार, भेद्यता विशेष रूप से तैयार किए गए SETABORTPROC 'एस्केप' रिकॉर्ड वाले विंडोज मेटाफ़ाइल फ़ाइलों ('.wmf') को संभालने में त्रुटि के कारण होती है। WMF फ़ाइल का रेंडरिंग विफल होने पर ऐसे रिकॉर्ड मनमाने उपयोगकर्ता-परिभाषित फ़ंक्शन को निष्पादित करने की अनुमति देते हैं।<ref name=secunia>{{cite web|archive-url=https://web.archive.org/web/20060102123654/http://secunia.com/advisories/18255/|archive-date=January 2, 2006|url=http://secunia.com/advisories/18255/|title=Microsoft Windows WMF "SETABORTPROC" मनमाना कोड निष्पादन|id=Secunia Advisory: SA18255|publisher=[[Secunia]]}}</ref> Windows 3.1 SDK दस्तावेज़ के अनुसार, WMF भेद्यता की खोज से बहुत पहले, SETABORTPROC एस्केप अप्रचलित हो गया था और Windows 3.1 में उसी नाम के फ़ंक्शन द्वारा प्रतिस्थापित कर दिया गया था।<ref>{{citation|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/print/pscript-supported-escapes|title=Pscript-Supported Escapes|publisher=Microsoft|access-date=2020-01-28}}</ref> हालाँकि, अप्रचलित एस्केप कोड को विंडोज 3.0 के लिए लिखे गए (या कम से कम बैकवर्ड संगत) 16 बिट प्रोग्राम के साथ संगतता के लिए बरकरार रखा गया था। यह परिवर्तन लगभग उसी समय हुआ जब Microsoft Windows NT के लिए GDI का 32 बिट पुनः कार्यान्वयन बना रहा था, और यह संभावना है कि इस प्रयास के दौरान भेद्यता उत्पन्न हुई।
 
एबॉर्ट एस्केप रिकॉर्ड के आसपास एस्केप रिकॉर्ड में एक [[विंडोज़ मेटाफ़ाइल भेद्यता]] पाई गई थी, जो एबॉर्ट प्रक्रिया कोड को रिकॉर्ड के भीतर ही संग्रहीत करता है। इससे विंडोज़ सिस्टम प्रभावित हुआ (देखें)। {{CVE|2005-4560}}) और [[ वाइन (सॉफ़्टवेयर) ]] (देखें {{CVE|2006-0106}}). [[सिकुनिया]] के अनुसार, भेद्यता विशेष रूप से तैयार किए गए सेटबोर्टप्रोक 'एस्केप' रिकॉर्ड वाले विंडोज मेटाफ़ाइल फ़ाइलों ('.wmf') को संभालने में त्रुटि के कारण होती है। WMF फ़ाइल का रेंडरिंग विफल होने पर ऐसे रिकॉर्ड मनमाने उपयोगकर्ता-परिभाषित फ़ंक्शन को निष्पादित करने की अनुमति देते हैं।<ref name=secunia>{{cite web|archive-url=https://web.archive.org/web/20060102123654/http://secunia.com/advisories/18255/|archive-date=January 2, 2006|url=http://secunia.com/advisories/18255/|title=Microsoft Windows WMF "SETABORTPROC" मनमाना कोड निष्पादन|id=Secunia Advisory: SA18255|publisher=[[Secunia]]}}</ref> विंडोज़ 3.1 SDK प्रलेखन के अनुसार, WMF भेद्यता की खोज से बहुत पहले, सेटबोर्टप्रोक एस्केप अप्रचलित हो गया था और विंडोज़ 3.1 में उसी नाम के फ़ंक्शन द्वारा प्रतिस्थापित कर दिया गया था।<ref>{{citation|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/print/pscript-supported-escapes|title=Pscript-Supported Escapes|publisher=Microsoft|access-date=2020-01-28}}</ref> हालाँकि, अप्रचलित एस्केप कोड को विंडोज 3.0 के लिए लिखे गए (या कम से कम बैकवर्ड संगत) 16 बिट प्रोग्राम के साथ संगतता के लिए बरकरार रखा गया था। यह परिवर्तन लगभग उसी समय हुआ जब माइक्रोसॉफ़्ट विंडोज़ NT के लिए GDI का 32 बिट पुनः कार्यान्वयन बना रहा था, और यह संभावना है कि इस प्रयास के दौरान भेद्यता उत्पन्न हुई।


[[स्टीव गिब्सन (कंप्यूटर प्रोग्रामर)]] द्वारा माइक्रोसॉफ्ट पर जानबूझकर उनके कोड में पिछले दरवाजे (कंप्यूटिंग) को लागू करने का आरोप लगाने के बाद,<ref>{{cite podcast|url=https://media.grc.com/sn/sn-022.mp3|title=The Windows MetaFile Backdoor?|website=GRC Security Now!|publisher=[[Gibson Research Corporation]]|date=January 12, 2006|access-date=2020-01-28}}</ref><ref>{{citation|title = Re: You won't want to miss tonight's Security Now!, #22|first=Steve|last=Gibson|author-link=Steve Gibson (computer programmer)|date=January 12, 2006|work=grc.news.feedback|url=https://www.grc.com/x/news.exe?cmd=article&group=grc.news.feedback&item=60006|access-date=2020-01-28}}</ref> [[मार्क रुसिनोविच]] ने एक खंडन प्रदान किया, और कहा कि:
[[स्टीव गिब्सन (कंप्यूटर प्रोग्रामर)]] द्वारा माइक्रोसॉफ्ट पर जानबूझकर उनके कोड में पिछले दरवाजे (कंप्यूटिंग) को लागू करने का आरोप लगाने के बाद,<ref>{{cite podcast|url=https://media.grc.com/sn/sn-022.mp3|title=The Windows MetaFile Backdoor?|website=GRC Security Now!|publisher=[[Gibson Research Corporation]]|date=January 12, 2006|access-date=2020-01-28}}</ref><ref>{{citation|title = Re: You won't want to miss tonight's Security Now!, #22|first=Steve|last=Gibson|author-link=Steve Gibson (computer programmer)|date=January 12, 2006|work=grc.news.feedback|url=https://www.grc.com/x/news.exe?cmd=article&group=grc.news.feedback&item=60006|access-date=2020-01-28}}</ref> [[मार्क रुसिनोविच]] ने एक खंडन प्रदान किया, और कहा कि:


{{quote|...things were different when the format was architected. In the Windows 3.1 “large” memory model code is inherently location-independent and Windows was never patched, so both Windows and an application could simply copy an application function into the WMF file and assume it would work when played back by the same application in a later run session. In any case, its not clear that the developers envisioned applications creating on-disk metafiles with abort procedures. Also, as Microsoft’s Stephen Toulouse pointed out in [https://web.archive.org/web/20060116042756/http://blogs.technet.com/msrc/archive/2006/01/13/417431.aspx Microsoft’s rebuttal] to Steve’s claims, the security landscape in the early 1990s was very different than today and all code, including that stored in a WMF file, was inherently trusted.<ref>{{citation|url=https://techcommunity.microsoft.com/t5/windows-blog-archive/inside-the-wmf-backdoor/ba-p/723489|first=Mark|last=Russinovich|author-link=Mark Russinovich|title=Inside the WMF Backdoor|publisher=Microsoft|work=TechNet|via=Microsoft Tech Community|date=January 18, 2006}}</ref>}}
{{quote|...things were different when the format was architected. In the Windows 3.1 “large” memory model code is inherently location-independent and Windows was never patched, so both Windows and an application could simply copy an application function into the WMF file and assume it would work when played back by the same application in a later run session. In any case, its not clear that the developers envisioned applications creating on-disk metafiles with abort procedures. Also, as Microsoft’s Stephen Toulouse pointed out in [https://web.archive.org/web/20060116042756/http://blogs.technet.com/msrc/archive/2006/01/13/417431.aspx Microsoft’s rebuttal] to Steve’s claims, the security landscape in the early 1990s was very different than today and all code, including that stored in a WMF file, was inherently trusted.<ref>{{citation|url=https://techcommunity.microsoft.com/t5/windows-blog-archive/inside-the-wmf-backdoor/ba-p/723489|first=Mark|last=Russinovich|author-link=Mark Russinovich|title=Inside the WMF Backdoor|publisher=Microsoft|work=TechNet|via=Microsoft Tech Community|date=January 18, 2006}}</ref>
 
 
 
...जब प्रारूप तैयार किया गया था तो चीजें अलग थीं। विंडोज़ 3.1 में "बड़ी" मेमोरी मॉडल कोड स्वाभाविक रूप से स्थान-स्वतंत्र है और विंडोज़ को कभी भी पैच नहीं किया गया था, इसलिए विंडोज़ और एक एप्लिकेशन दोनों बस एक एप्लिकेशन फ़ंक्शन को डब्लूएमएफ फ़ाइल में कॉपी कर सकते हैं और मान सकते हैं कि यह उसी एप्लिकेशन द्वारा चलाए जाने पर काम करेगा। बाद में चलने वाला सत्र। किसी भी मामले में, यह स्पष्ट नहीं है कि डेवलपर्स ने निरस्त प्रक्रियाओं के साथ ऑन-डिस्क मेटाफ़ाइल्स बनाने वाले अनुप्रयोगों की कल्पना की थी। इसके अलावा, जैसा कि माइक्रोसॉफ्ट के स्टीफन टूलूज़ ने [https://web.archive.org/web/20060116042756/http://blogs.technet.com/msrc/archive/2006/01/13/417431.aspx माइक्रोसॉफ्ट के खंडन में बताया है स्टीव के दावों के अनुसार, 1990 के दशक की प्रारम्भ में सुरक्षा परिदृश्य आज की तुलना में बहुत अलग था और WMF फ़ाइल में संग्रहीत सहित सभी कोड, स्वाभाविक रूप से भरोसेमंद थे}}


सिमेंटेक सिक्योरिटी रिस्पांस, यूएसए के पीटर फेरी भी गिब्सन से असहमत थे, उन्होंने कहा:
सिमेंटेक सिक्योरिटी रिस्पांस, यूएसए के पीटर फेरी भी गिब्सन से असहमत थे, उन्होंने कहा:


{{quote|Gibson claimed that a thread is created to run the SetAbortProc handler. In fact, no thread is created to run the handler – it is a callback, which is called by the parser, and the parser has to wait until the callback returns, otherwise the whole point of the function (to abort the printing) is lost. By his own admission, Gibson did not read the documentation (in fact, he claimed that he couldn’t find it, although it is freely available on Microsoft’s Web site), and he claimed that the device context is not available to the function handler. Of course the device context is available to the function handler &mdash; it is one of the two parameters that is passed to it (see above), and it is required in order to abort the printing. Finally, Gibson claimed that the control flow could not return to Windows. It is simply a matter of the function returning and discarding the parameters that were passed on the stack. If the record is well formed, Windows will continue to parse the file, as before. ... Gibson admits that he was guessing about a number of things. Unfortunately, he guessed poorly. I guess we know better now.<ref>{{citation|title=Inside the Windows Meta File Format|publisher=[[Virus Bulletin]]|date=February 2, 2006|first=Peter|surname=Ferrie|url=https://www.symantec.com/avcenter/reference/inside.the.windows.meta.file.format.pdf|via=[[NortonLifeLock|Symantec]]|access-date=2020-01-24}}</ref>}}
{{quote|Gibson claimed that a thread is created to run the SetAbortProc handler. In fact, no thread is created to run the handler – it is a callback, which is called by the parser, and the parser has to wait until the callback returns, otherwise the whole point of the function (to abort the printing) is lost. By his own admission, Gibson did not read the documentation (in fact, he claimed that he couldn’t find it, although it is freely available on Microsoft’s Web site), and he claimed that the device context is not available to the function handler. Of course the device context is available to the function handler &mdash; it is one of the two parameters that is passed to it (see above), and it is required in order to abort the printing. Finally, Gibson claimed that the control flow could not return to Windows. It is simply a matter of the function returning and discarding the parameters that were passed on the stack. If the record is well formed, Windows will continue to parse the file, as before. ... Gibson admits that he was guessing about a number of things. Unfortunately, he guessed poorly. I guess we know better now.<ref>{{citation|title=Inside the Windows Meta File Format|publisher=[[Virus Bulletin]]|date=February 2, 2006|first=Peter|surname=Ferrie|url=https://www.symantec.com/avcenter/reference/inside.the.windows.meta.file.format.pdf|via=[[NortonLifeLock|Symantec]]|access-date=2020-01-24}}</ref>
 
 
गिब्सन ने दावा किया कि SetAbortProc हैंडलर को चलाने के लिए एक थ्रेड बनाया गया है। वास्तव में, हैंडलर को चलाने के लिए कोई थ्रेड नहीं बनाया गया है - यह एक कॉलबैक है, जिसे पार्सर द्वारा कॉल किया जाता है, और पार्सर को कॉलबैक वापस आने तक इंतजार करना पड़ता है, अन्यथा फ़ंक्शन का पूरा बिंदु (प्रिंटिंग को रद्द करने के लिए) खो जाता है . अपने स्वयं के प्रवेश से, गिब्सन ने दस्तावेज़ नहीं पढ़ा (वास्तव में, उन्होंने दावा किया कि वह इसे नहीं ढूंढ सके, हालांकि यह माइक्रोसॉफ्ट की वेब साइट पर मुफ्त में उपलब्ध है), और उन्होंने दावा किया कि डिवाइस संदर्भ फ़ंक्शन हैंडलर के लिए उपलब्ध नहीं है . बेशक डिवाइस संदर्भ फ़ंक्शन हैंडलर के लिए उपलब्ध है &mdash; यह उन दो मापदंडों में से एक है जो इसे पास किया गया है (ऊपर देखें), और प्रिंटिंग को रद्द करने के लिए यह आवश्यक है। अंत में, गिब्सन ने दावा किया कि नियंत्रण प्रवाह विंडोज़ पर वापस नहीं आ सका। यह केवल फ़ंक्शन के लौटने और स्टैक पर पारित किए गए पैरामीटर को त्यागने का मामला है। यदि रिकॉर्ड अच्छी तरह से बना है, तो विंडोज़ पहले की तरह फ़ाइल को पार्स करना जारी रखेगा। ... गिब्सन स्वीकार करते हैं कि वह कई चीजों के बारे में अनुमान लगा रहे थे। दुर्भाग्य से, उसने ख़राब अनुमान लगाया। मुझे लगता है कि हम अब बेहतर जानते हैं}}
 
 
 
 
 
 
 
 
 
 
 


===ईएमएफ===
===ईएमएफ===
Line 3,376: Line 510:
| free =
| free =
}}
}}
[[File:EMF headers.svg|thumb|upright=1.5|विंडोज़ एन्हांस्ड मेटाफ़ाइल हेडर]]ईएमएफ फाइलों में हेडर के तीन संभावित संस्करण हैं। मूल हेडर केवल छवियों के लिए एक कंटेनर है, दूसरा और तीसरा संस्करण मूल हेडर को समाहित करता है और इसमें एक पिक्सेल प्रारूप रिकॉर्ड और ओपनजीएल रिकॉर्ड के लिए समर्थन शामिल है, और तीसरा संस्करण दूसरे हेडर एक्सटेंशन को समाहित करता है और ईएमएफ की सटीकता और स्केलेबिलिटी को बढ़ाता है। मीट्रिक प्रणाली का उपयोग करके डिवाइस की सतहों की दूरी मापने की क्षमता जोड़ता है।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=17–18|section=1.3.1. Metafile Structure}}</ref>
[[File:EMF headers.svg|thumb|upright=1.5|विंडोज़ एन्हांस्ड मेटाफ़ाइल हेडर]]ईएमएफ फाइलों में हेडर के तीन संभावित संस्करण हैं। मूल हेडर केवल छवियों के लिए एक कंटेनर है, दूसरा और तीसरा संस्करण मूल हेडर को समाहित करता है और इसमें एक पिक्सेल प्रारूप रिकॉर्ड और ओपनजीएल रिकॉर्ड के लिए समर्थन सम्मिलित है, और तीसरा संस्करण दूसरे हेडर एक्सटेंशन को समाहित करता है और ईएमएफ की सटीकता और स्केलेबिलिटी को बढ़ाता है। मीट्रिक प्रणाली का उपयोग करके डिवाइस की सतहों की दूरी मापने की क्षमता जोड़ता है।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=17–18|section=1.3.1. Metafile Structure}}</ref>
प्रत्येक EMF हेडर एक EMR_HEADER रिकॉर्ड से शुरू होता है, और उस डिवाइस के प्रासंगिक गुणों को रिकॉर्ड करता है जिस पर मेटाफ़ाइल छवि रिकॉर्ड की गई थी। मूल ईएमएफ हेडर में 80 बाइट हेडर और एक वैकल्पिक चर लंबाई विवरण स्ट्रिंग है।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|page=120|section=2.3.4.2.1 EmfMetafileHeader Record}}</ref> अन्य मेटाफ़ाइलों में एक्सटेंशन फ़ील्ड होते हैं, जो मूल हेडर को समाहित करते हैं। <code>EmfमेटाfileHeaderExtension1</code> एक रिकॉर्ड है जो सीधे मूल ईएमएफ हेडर के बाद डाला जाता है, यह निर्दिष्ट करता है कि हेडर के भीतर एक पिक्सेल प्रारूप डिस्क्रिप्टर और डिस्क्रिप्टर ऑब्जेक्ट का ऑफसेट है या नहीं, साथ ही एक फ़ील्ड जो निर्दिष्ट करता है कि मेटाफ़ाइल में [[ओपन]]जीएल रिकॉर्ड मौजूद हैं या नहीं।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=57–58|section=2.2.10 HeaderExtension1 Object}}</ref> पिक्सेल प्रारूप डिस्क्रिप्टर ड्राइंग सतह की क्षमताओं को निर्दिष्ट करता है और क्या पिक्सेल [[आरजीबीए रंग मॉडल]] में एन्कोड किया गया है या रंग तालिका में एक सूचकांक है।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=68–71|section=2.2.22 PixelFormatDescriptor Object}}</ref> <code>EmfमेटाfileHeaderExtension2</code> एक रिकॉर्ड है जो सीधे इसके बाद डाला जाता है <code>EmfमेटाfileHeaderExtension1</code> रिकॉर्ड करें, और इसमें डिवाइस की सतह को माइक्रोमीटर में मापने के लिए X और Y मान वाले दो फ़ील्ड शामिल हैं।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=122–124|section=2.3.4.2.3 EmfMetafileHeaderExtension2 Record}}</ref>
प्रत्येक EMF हेडर एक EMR_HEADER रिकॉर्ड से प्रारंभ होता है, और उस डिवाइस के प्रासंगिक गुणों को रिकॉर्ड करता है जिस पर मेटाफ़ाइल छवि रिकॉर्ड की गई थी। मूल ईएमएफ हेडर में 80 बाइट हेडर और एक वैकल्पिक चर लंबाई विवरण स्ट्रिंग है।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|page=120|section=2.3.4.2.1 EmfMetafileHeader Record}}</ref> अन्य मेटाफ़ाइलों में एक्सटेंशन फ़ील्ड होते हैं, जो मूल हेडर को समाहित करते हैं। <code>EmfमेटाfileHeaderExtension1</code> एक रिकॉर्ड है जो सीधे मूल ईएमएफ हेडर के बाद डाला जाता है, यह निर्दिष्ट करता है कि हेडर के भीतर एक पिक्सेल प्रारूप डिस्क्रिप्टर और डिस्क्रिप्टर ऑब्जेक्ट का ऑफसेट है या नहीं, साथ ही एक फ़ील्ड जो निर्दिष्ट करता है कि मेटाफ़ाइल में [[ओपन]]जीएल रिकॉर्ड मौजूद हैं या नहीं।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=57–58|section=2.2.10 HeaderExtension1 Object}}</ref> पिक्सेल प्रारूप डिस्क्रिप्टर ड्राइंग सतह की क्षमताओं को निर्दिष्ट करता है और क्या पिक्सेल [[आरजीबीए रंग मॉडल]] में एन्कोड किया गया है या रंग तालिका में एक सूचकांक है।<ref>{{citation|url= https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=68–71|section=2.2.22 PixelFormatDescriptor Object}}</ref> <code>EmfमेटाfileHeaderExtension2</code> एक रिकॉर्ड है जो सीधे इसके बाद डाला जाता है <code>EmfमेटाfileHeaderExtension1</code> रिकॉर्ड करें, और इसमें डिवाइस की सतह को माइक्रोमीटर में मापने के लिए X और Y मान वाले दो फ़ील्ड सम्मिलित हैं।<ref>{{citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-EMF/%5bMS-EMF%5d.pdf|title=<nowiki>[MS-EMF]:</nowiki> Enhanced Metafile Format|publisher=Microsoft|pages=122–124|section=2.3.4.2.3 EmfMetafileHeaderExtension2 Record}}</ref>
WMF फ़ाइलों की तरह, रिकॉर्ड को फ़ंक्शन द्वारा वर्गीकृत किया जा सकता है, हालाँकि WMF फ़ाइलों की तुलना में EMF फ़ाइलों में अधिक रिकॉर्ड प्रकार होते हैं। रिकॉर्ड्स को नियंत्रण, बिटमैप, क्लिपिंग, टिप्पणी, ड्राइंग, एस्केप, ऑब्जेक्ट निर्माण, ऑब्जेक्ट हेरफेर, ओपनजीएल, पथ ब्रैकेट, स्थिति और ट्रांसफ़ॉर्म रिकॉर्ड के रूप में वर्गीकृत किया जा सकता है।
WMF फ़ाइलों की तरह, रिकॉर्ड को फ़ंक्शन द्वारा वर्गीकृत किया जा सकता है, हालाँकि WMF फ़ाइलों की तुलना में EMF फ़ाइलों में अधिक रिकॉर्ड प्रकार होते हैं। रिकॉर्ड्स को नियंत्रण, बिटमैप, क्लिपिंग, टिप्पणी, ड्राइंग, एस्केप, ऑब्जेक्ट निर्माण, ऑब्जेक्ट हेरफेर, ओपनजीएल, पथ ब्रैकेट, स्थिति और ट्रांसफ़ॉर्म रिकॉर्ड के रूप में वर्गीकृत किया जा सकता है।


===ईएमएफ+===
===ईएमएफ+===


Windows XP की रिलीज़ के साथ, उन्नत मेटाफ़ाइल प्रारूप प्लस एक्सटेंशन (EMF+) प्रारूप पेश किया गया था। EMF+ GDI+ API पर कॉल को उसी तरह क्रमबद्ध करने का एक तरीका प्रदान करता है जैसे WMF/EMF GDI पर कॉल को संग्रहीत करता है।
विंडोज़ XP की रिलीज़ के साथ, उन्नत मेटाफ़ाइल प्रारूप प्लस एक्सटेंशन (EMF+) प्रारूप प्रस्तुत किया गया था। EMF+ GDI+ API पर कॉल को उसी तरह क्रमबद्ध करने का एक तरीका प्रदान करता है जैसे WMF/EMF GDI पर कॉल को संग्रहीत करता है।


विंडोज़ मेटाफ़ाइल्स के संपीड़ित संस्करण भी हैं जिन्हें संपीड़ित विंडोज़ मेटाफ़ाइल (डब्लूएमजेड) और संपीड़ित विंडोज़ एन्हांस्ड मेटाफ़ाइल (ईएमजेड) के रूप में जाना जाता है।<ref>{{cite web | url=http://support.microsoft.com/kb/895083 | archive-url=https://web.archive.org/web/20140419204933/http://support.microsoft.com/kb/895083 | url-status=dead | archive-date=2014-04-19 | title=जब आप मैक प्रेजेंटेशन के लिए पावरपॉइंट में एक चित्र सम्मिलित करने का प्रयास करते हैं तो आपको "यह फ़ाइल एक असमर्थित ग्राफ़िक प्रारूप है" त्रुटि संदेश प्राप्त होता है| publisher=[[Microsoft]] | access-date=2014-04-19}}</ref> जो मूल रूप से [[gzip]] संपीड़ित WMF और EMF फ़ाइलें हैं।
विंडोज़ मेटाफ़ाइल्स के संपीड़ित संस्करण भी हैं जिन्हें संपीड़ित विंडोज़ मेटाफ़ाइल (डब्लूएमजेड) और संपीड़ित विंडोज़ एन्हांस्ड मेटाफ़ाइल (ईएमजेड) के रूप में जाना जाता है।<ref>{{cite web | url=http://support.microsoft.com/kb/895083 | archive-url=https://web.archive.org/web/20140419204933/http://support.microsoft.com/kb/895083 | url-status=dead | archive-date=2014-04-19 | title=जब आप मैक प्रेजेंटेशन के लिए पावरपॉइंट में एक चित्र सम्मिलित करने का प्रयास करते हैं तो आपको "यह फ़ाइल एक असमर्थित ग्राफ़िक प्रारूप है" त्रुटि संदेश प्राप्त होता है| publisher=[[Microsoft]] | access-date=2014-04-19}}</ref> जो मूल रूप से [[gzip]] संपीड़ित WMF और EMF फ़ाइलें हैं।
Line 3,388: Line 522:
== कार्यान्वयन ==
== कार्यान्वयन ==


WMF प्रारूप को [[छवि]] को पुनर्स्थापित करने के लिए Windows GDI परत द्वारा निष्पादित करने के लिए डिज़ाइन किया गया था, लेकिन चूंकि WMF बाइनरी फ़ाइलों में GDI ग्राफिक प्राइमेटिव की परिभाषा होती है जो इस छवि का निर्माण करती है, इसलिए वैकल्पिक पुस्तकालयों को डिज़ाइन करना संभव है जो WMF बाइनरी प्रस्तुत करते हैं फ़ाइलें या उन्हें अन्य ग्राफ़िक प्रारूपों में परिवर्तित करें।
WMF प्रारूप को [[छवि]] को पुनर्स्थापित करने के लिए विंडोज़ GDI परत द्वारा निष्पादित करने के लिए डिज़ाइन किया गया था, लेकिन चूंकि WMF बाइनरी फ़ाइलों में GDI ग्राफिक प्राइमेटिव की परिभाषा होती है जो इस छवि का निर्माण करती है, इसलिए वैकल्पिक पुस्तकालयों को डिज़ाइन करना संभव है जो WMF बाइनरी प्रस्तुत करते हैं फ़ाइलें या उन्हें अन्य ग्राफ़िक प्रारूपों में परिवर्तित करें।


== यह भी देखें ==
== यह भी देखें ==
Line 3,400: Line 534:


== बाहरी संबंध ==
== बाहरी संबंध ==
* [https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wmf/4813e7fd-52d0-4f42-965f-228c8b7488d2 Windows मेटाfile Format Specification from Microsoft]
* [https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wmf/4813e7fd-52d0-4f42-965f-228c8b7488d2 विंडोज़ मेटाfile Format Specification from माइक्रोसॉफ़्ट]
* [https://docs.microsoft.com/en-us/windows/desktop/gdi/metafiles मेटाfiles – Windows applications]
* [https://docs.microsoft.com/en-us/windows/desktop/gdi/metafiles मेटाfiles – विंडोज़ applications]
* [https://www.fileformat.info/format/wmf/ File Format Summary at fileformat.info]
* [https://www.fileformat.info/format/wmf/ File Format Summary at fileformat.info]
* [https://www.companionsoftware.com/support/windows-metafile-faq/ Windows मेटाfile FAQ]
* [https://www.companionsoftware.com/support/windows-metafile-faq/ विंडोज़ मेटाfile FAQ]


{{Graphics file formats}}
{{Graphics file formats}}
[[Category: ग्राफ़िक्स फ़ाइल स्वरूप]] [[Category: वेक्टर ग्राफिक्स]] [[Category: माइक्रोसॉफ्ट विंडोज़ मल्टीमीडिया तकनीक]]


[[Category: Machine Translated Page]]
[[Category:Collapse templates]]
[[Category:Created On 10/07/2023]]
[[Category:Created On 10/07/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with reference errors]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:ग्राफ़िक्स फ़ाइल स्वरूप]]
[[Category:माइक्रोसॉफ्ट विंडोज़ मल्टीमीडिया तकनीक]]
[[Category:वेक्टर ग्राफिक्स]]

Latest revision as of 13:38, 14 September 2023

विंडोज़ मेटाफ़ाइल (डब्लूएमएफ) एक इमेज फाइल फॉर्मेट है जिसे मूल रूप से 1990 के दशक में माइक्रोसॉफ्ट विंडोज़ के लिए डिज़ाइन किया गया था। मूल विंडोज़ मेटाफ़ाइल प्रारूप डिवाइस-स्वतंत्र नहीं था (हालांकि प्लेसमेंट हेडर के साथ इसे और अधिक बनाया जा सकता था) और इसमें वेक्टर ग्राफिक्स और बिटमैप दोनों घटक सम्मिलित हो सकते हैं। यह एसवीजी फाइलों की तरह ही कार्य करता है। WMF फ़ाइलों को बाद में एन्हांस्ड मेटाफ़ाइल्स (EMF फ़ाइलें) द्वारा प्रतिस्थापित किया गया, जो डिवाइस की स्वतंत्रता प्रदान करती थी। EMF फ़ाइलों को फिर EMF+ फ़ाइलों के माध्यम से बढ़ाया गया।


अनिवार्य रूप से, एक मेटाफ़ाइल स्क्रीन पर एक छवि प्रदर्शित करने के लिए ड्राइंग कमांड, प्रॉपर्टी परिभाषा और ग्राफिक्स ऑब्जेक्ट से युक्त रिकॉर्ड की एक सूची संग्रहीत करता है।[1] उपयोग किए गए ड्राइंग कमांड माइक्रोसॉफ्ट विंडोज़ में ड्राइंग के लिए उपयोग किए जाने वाले ग्राफिक्स डिवाइस इंटरफ़ेस (जीडीआई) एपीआई के कमांड से निकटता से संबंधित हैं।

मेटाफ़ाइल्स के तीन प्रमुख प्रकार हैं - WMF एक 16-बिट प्रारूप है जिसे विंडोज़ 3.0 में प्रस्तुत किया गया है। यह वर्ड, पावर पॉइंट और प्रकाशक जैसे माइक्रोसॉफ़्ट ऑफिस अनुप्रयोगों के लिए मूल वेक्टर प्रारूप है। 2017 के अनुसार विंडोज मेटाफ़ाइल प्रारूप विनिर्देश का संशोधन 14 ऑनलाइन पढ़ने या पीडीएफ के रूप में डाउनलोड करने के लिए उपलब्ध है।[2] ईएमएफ फाइलें, जिन्होंने डब्लूएमएफ फाइलों को प्रतिस्थापित किया, उसी सिद्धांत पर काम करती हैं, केवल यह एक 32-बिट फ़ाइल प्रारूप है जो "टिप्पणी" रिकॉर्ड के भीतर निजी डेटा को एम्बेड करने की भी अनुमति देता है।[3] ईएमएफ+ ईएमएफ फाइलों का एक विस्तार है और इन टिप्पणी रिकॉर्ड में एम्बेडेड है, जो विंडोज़ जीडीआई+ के समान कमांड, ऑब्जेक्ट और गुणों का उपयोग करके छवियों और टेक्स्ट की अनुमति देता है।[4]


इतिहास

मूल 16-बिट WMF फ़ाइल स्वरूप 1992 के विंडोज़ 3.1 एसडीके प्रलेखन के खंड 4 में पूरी तरह से निर्दिष्ट किया गया था[5] (कम से कम यदि अन्य खंडों में व्यक्तिगत कार्यों और संरचनाओं के विवरण के साथ जोड़ा जाए), लेकिन वह विनिर्देश कुछ विवरणों के बारे में अस्पष्ट था। इन मैनुअलों को किताबों की दुकानों में उपलब्ध मुद्रित पुस्तकों के रूप में प्रकाशित किया गया था, जिसमें कोई क्लिक-थ्रू ईयूएलए या अन्य असामान्य लाइसेंसिंग प्रतिबंध नहीं थे (केवल एक सामान्य चेतावनी है कि यदि सॉफ्टवेयर बंडल के हिस्से के रूप में खरीदा जाता है, तो सॉफ्टवेयर एक के अधीन होगा)।

समय के साथ उस ऐतिहासिक विनिर्देश के अस्तित्व को काफी हद तक भुला दिया गया और कुछ वैकल्पिक कार्यान्वयनों ने मौजूदा WMF फ़ाइलों से फ़ाइल प्रारूप का पता लगाने के लिए रिवर्स इंजीनियरिंग का सहारा लिया, जो कठिन और त्रुटि प्रवण था।[6] सितंबर 2006 में, माइक्रोसॉफ़्ट ने WMF फ़ाइल प्रारूप विनिर्देश को अधिक पूर्ण रूप में फिर से प्रकाशित किया[7] माइक्रोसॉफ्ट ओपन विशिष्टता वादा के संदर्भ में, फ़ाइल प्रारूप कार्यान्वयनकर्ताओं पर पेटेंट अधिकारों का दावा नहीं करने का वादा किया गया है।[8]

माइक्रोसॉफ्ट ने बाद में 32-बिट ईएमएफ फाइलों के पक्ष में डब्लूएमएफ फाइलों को खारिज कर दिया क्योंकि डब्लूएमएफ फाइलों में डिवाइस स्वतंत्रता के साथ वास्तविक समस्याएं थीं, प्लेसेबल फ़ाइल हेडर के उपयोग के बावजूद जो मूलभूत डिवाइस स्वतंत्रता प्रदान करती थी। माइक्रोसॉफ्ट ने पाया कि जो डेवलपर्स प्रारूप का उपयोग करते हैं, वे मेटाफ़ाइल्स में एप्लिकेशन, स्थान, या स्केलिंग टिप्पणियां [एम्बेडिंग] कर रहे थे... अन्य ने मेटाफ़ाइल में हेडर जोड़े जो विभिन्न एप्लिकेशन-विशिष्ट जानकारी प्रदान करते थे, जिससे प्रमुख संगतता समस्याएं पैदा हुईं। एक प्रारूप जो Win32 API पर आधारित था और जिसके साथ उन्होंने डिवाइस की स्वतंत्रता अंतर्निहित की थी। इन्हें एनटी मेटाफ़ाइल्स के रूप में भी जाना जाता था। विंडोज़ एक्सपी और जीडीआई+ की रिलीज़ के साथ, रिकॉर्ड्स के सेट को काफी बढ़ाना पड़ा और इसलिए माइक्रोसॉफ्ट ने मौजूदा ईएमएफ फ़ाइल प्रारूप के विस्तार के रूप में ईएमएफ+ प्रभावशील किया था।[9]












मेटाफ़ाइल संरचना

विंडोज़ मेटाफ़ाइल्स की तुलना - ध्यान दें कि WMF फ़ाइलों में EMF+ रिकॉर्ड सम्मिलित हो सकते हैं

WMF, EMF और EMF+ फ़ाइलें सभी रिकॉर्ड की एक श्रृंखला से बनी होती हैं जिन्हें ग्राफिकल आउटपुट उत्पन्न करने के लिए चलाया जाता है। कुछ रिकॉर्ड वस्तुओं को परिभाषित करते हैं जो ग्राफिकल वस्तुओं को निर्दिष्ट कर सकते हैं जिनका उपयोग यह निर्धारित करने के लिए किया जाता है कि ग्राफिक्स कैसे बनाया जाना चाहिए (उदाहरण के लिए पेन लाइनों का रंग और चौड़ाई निर्दिष्ट करते हैं)। इनमें से प्रत्येक ऑब्जेक्ट को मेटाफ़ाइल्स में संग्रहीत किया जाता है और एक ऑब्जेक्ट तालिका में रखा जाता है, जो मेटाफ़ाइल को संसाधित करते समय ग्राफिक ऑब्जेक्ट्स के उपयोग को ट्रैक करता है। ऑब्जेक्ट तालिका मेटाफ़ाइल के भीतर परिभाषित ग्राफ़िकल ऑब्जेक्ट संरचनाओं के अनुक्रमितों की एक सहयोगी सरणी है।

WMF और EMF फ़ाइलें EMF फ़ाइलों में EMF+ रिकॉर्ड से भिन्न तरीके से ऑब्जेक्ट प्रोसेसिंग को संभालती हैं। चूंकि WMF और EMF फ़ाइल को संसाधित किया जा रहा है, किसी ऑब्जेक्ट को परिभाषित करने के बाद रिकॉर्ड्स को ऑब्जेक्ट तालिका में पढ़ा जाता है। यदि कोई ऑब्जेक्ट हटा दिया जाता है तो ऑब्जेक्ट को तालिका से मुक्त कर दिया जाता है और पहचानकर्ता का पुन: उपयोग किया जा सकता है। विशेष रूप से किसी ऑब्जेक्ट का उपयोग तब तक नहीं किया जाएगा जब तक कि इसे रिकॉर्ड प्लेबैक के दौरान विशेष रूप से नहीं चुना जाता है।[10][11] यह EMF+ फ़ाइलों के लिए भिन्न है, जो हैशमैप के माध्यम से एक सहयोगी सरणी का भी उपयोग करता है जो ऑब्जेक्ट को ऑब्जेक्ट पहचानकर्ता के साथ रिकॉर्ड करता है। हालाँकि, WMF और EMF फ़ाइलों के विपरीत, जो किसी ऑब्जेक्ट को हटा सकती हैं, जब एक नया ऑब्जेक्ट बनाया जाता है जिसका इंडेक्स मौजूदा ऑब्जेक्ट के समान होता है, तो तालिका में प्रविष्टि को नए ऑब्जेक्ट से बदल दिया जाता है। ईएमएफ फ़ाइल को उपयोग करने से पहले विशेष रूप से किसी ऑब्जेक्ट का चयन करने की आवश्यकता नहीं होती है।[12]


डब्लूएमएफ

Windows Metafile
Filename extension
.wmf
Internet media type
image/wmf[9]
Uniform Type Identifier (UTI)com.microsoft.wmf[9]
Type of formatVector graphics
Extended toEMF
मूल और रखने योग्य विंडोज़ मेटाफ़ाइलों की संरचनाएँ[13]

WMF फ़ाइलें मूल रूप से डिवाइस स्वतंत्र होने के लिए डिज़ाइन नहीं की गई थीं, जिसका अर्थ है कि आप फ़ाइल को आउटपुट डिवाइस पर प्लेबैक नहीं कर सकते थे जो मूल डिवाइस से भिन्न था जिस पर फ़ाइल रिकॉर्ड की गई थी। इस समस्या का आंशिक समाधान एल्डस कॉर्पोरेशन द्वारा आविष्कार किया गया था, जिसने एक अतिरिक्त प्लेसेबल हेडर जोड़ा, जिसे एपीएम हेडर कहा जाता है।[14] जिसमें एक बाउंडिंग आयत, एक मेटाफ़ाइल संस्करण, मेटाफ़ाइल आकार, मेटाफ़ाइल में ऑब्जेक्ट की संख्या और मेटाफ़ाइल में सबसे बड़े एकल रिकॉर्ड का आकार जोड़ा गया।[15][16] इसे बाद में माइक्रोसॉफ्ट द्वारा विंडोज 2000 में प्रारंभ करके WMF प्रारूप में सम्मिलित किया गया।[17]

WMF फ़ाइलें रिकॉर्ड की एक श्रृंखला द्वारा संरचित होती हैं, जो कई नियंत्रण रिकॉर्ड से प्रारंभ होती हैं: हेडर रिकॉर्ड,[15][18] उपर्युक्त वैकल्पिक स्थानयोग्य रिकॉर्ड, [19] और फ़ाइल रिकॉर्ड के अंत तक समाप्त हो गया।[15][20] नियंत्रण रिकॉर्ड द्वारा संपुटित वे रिकॉर्ड होते हैं जो स्वयं छवि बनाते हैं। ये रिकॉर्ड प्लेबैक डिवाइस संदर्भ के रूप में जाने जाते हैं, जो गुणों और वस्तुओं का संग्रह है जो डिवाइस के ग्राफिकल वातावरण को बनाते हैं क्योंकि मेटाफ़ाइल को इस आउटपुट डिवाइस पर वापस चलाया जा रहा है।[21] नियंत्रण रिकॉर्ड के अलावा अन्य रिकॉर्ड को बड़े पैमाने पर बिटमैप रिकॉर्ड, ड्राइंग रिकॉर्ड, ऑब्जेक्ट रिकॉर्ड, राज्य रिकॉर्ड और एस्केप रिकॉर्ड में समूहीकृत किया जा सकता है।

बिटमैप रिकॉर्ड

बिटमैप रिकॉर्ड बिटमैप छवियों का प्रबंधन और आउटपुट करते हैं।

नाम विवरण
मेटा_बीआईटीबीएलटी निर्दिष्ट करता है कि बिट ब्लॉक स्थानांतरण कैसे करें। ये रिकॉर्ड स्रोत या क्षेत्र के रूप में उपयोग करने के लिए एक बिटमैप निर्दिष्ट कर सकते हैं।[22]
मेटा_डिब्बिट बी एल टी निर्दिष्ट करता है कि डिवाइस-स्वतंत्र बिटमैप छवि का बिट ब्लॉक ट्रांसफर कैसे किया जाए। ये रिकॉर्ड स्रोत या क्षेत्र के रूप में उपयोग करने के लिए एक बिटमैप निर्दिष्ट कर सकते हैं।[23]
मेटा_डिबSTRETCHBITBLT यह निर्दिष्ट करता है कि डिवाइस-स्वतंत्र बिटमैप छवि का बिट ब्लॉक स्थानांतरण कैसे किया जाए, लेकिन छवि के विस्तार या संकुचन की अनुमति देता है। ये रिकॉर्ड स्रोत या क्षेत्र के रूप में उपयोग करने के लिए एक बिटमैप निर्दिष्ट कर सकते हैं।[24]
मेटा_सेटडिबटोडेव डिवाइस-स्वतंत्र बिटमैप छवि में पिक्सेल के ब्लॉक को सेट करने के लिए रंग निर्दिष्ट करता है। ये रिकॉर्ड स्रोत या क्षेत्र के रूप में उपयोग करने के लिए एक बिटमैप निर्दिष्ट कर सकते हैं।[25]
मेटा_स्ट्रेचबीएलटी निर्दिष्ट करता है कि बिट ब्लॉक ट्रांसफर कैसे किया जाए, लेकिन छवि के विस्तार या संकुचन की अनुमति देता है।[26]
मेटा_स्ट्रेचडीआईबी यह निर्दिष्ट करता है कि डिवाइस-स्वतंत्र बिटमैप छवि का बिट ब्लॉक स्थानांतरण कैसे किया जाए, लेकिन छवि के विस्तार या संकुचन की अनुमति देता है। ये रिकॉर्ड स्रोत या क्षेत्र के रूप में उपयोग करने के लिए एक बिटमैप निर्दिष्ट कर सकते हैं.[27]


ड्राइंग रिकॉर्ड

ड्राइंग रिकॉर्ड ग्राफ़िक्स आउटपुट उत्पन्न करते हैं।

नाम विवरण
मेटा_ARC एक अण्डाकार चाप खींचता है[28]
मेटा_कॉर्ड एक कॉर्ड खींचता है[29]
मेटा_एलिप्स एक अण्डाकार चाप खींचता है[30]
मेटा_एक्सफ़्लुडफ़िल किसी क्षेत्र को ब्रश से भर देता है[31]
मेटा_एक्सटेक्स्टआउट प्लेबैक डिवाइस संदर्भ के फ़ॉन्ट, पृष्ठभूमि रंग और टेक्स्ट रंग के साथ टेक्स्ट बनाएं[32]
मेटा_फिलरेजिओन किसी क्षेत्र को निर्दिष्ट ब्रश से भरता है[33]
मेटा_फ्लूडफिल किसी क्षेत्र को ब्रश से भर देता है[34]
मेटा_फ्रेमरीजन ब्रश से पृष्ठ के एक क्षेत्र के चारों ओर बॉर्डर बनाता है[35]
मेटा_इन्वर्टरीजन ग्राफ़िक के एक क्षेत्र को उल्टे रंगों से पेंट करता है[36]
मेटा_लिनेटो प्लेबैक डिवाइस संदर्भ में परिभाषित ड्राइंग स्थिति से एक निर्दिष्ट बिंदु तक एक आधी खुली रेखा खींचता है[37]
मेटा_पेंटरीजन प्लेबैक डिवाइस संदर्भ में निर्दिष्ट वर्तमान ब्रश के साथ एक क्षेत्र को पेंट करें[38]
मेटा_पीएटीबीएलटी प्लेबैक डिवाइस संदर्भ में निर्दिष्ट वर्तमान ब्रश के साथ एक क्षेत्र को पेंट करें और फिर रैस्टर ऑपरेशन का उपयोग करके ब्रश के रंग और सतह के रंगों को संयोजित करें[39]
मेटा_पाई एक दीर्घवृत्त और दो रेडियल के प्रतिच्छेदन से घिरा पाई के आकार का पच्चर बनाएं - लाइन को प्लेबैक डिवाइस संदर्भ के माध्यम से पेन सेट के माध्यम से सेट किया जाता है, और पाई आकार से घिरा क्षेत्र प्लेबैक डिवाइस के वर्तमान ब्रश द्वारा भरा जाता है[40]
मेटा_पॉलीलाइन एक निर्दिष्ट सरणी में बिंदुओं को जोड़कर रेखाखंडों की एक श्रृंखला बनाता है[41]
मेटा_पॉलीगॉन सीधी रेखाओं से जुड़े दो या दो से अधिक शीर्षों वाले बहुभुज को पेंट करता है । बहुभुज को पेन का उपयोग करके रेखांकित किया जाता है और ब्रश और बहुभुज भरण मोड का उपयोग करके भरा जाता है जो प्लेबैक डिवाइस संदर्भ में परिभाषित होते हैं[42]
मेटा_पॉलीपॉलीगॉन बंद बहुभुजों की एक श्रृंखला को पेंट करता है, जो ओवरलैप हो सकते हैं। प्रत्येक बहुभुज को पेन का उपयोग करके रेखांकित किया जाता है और ब्रश और बहुभुज भरण मोड का उपयोग करके भरा जाता है जो प्लेबैक डिवाइस संदर्भ में परिभाषित होते हैं[43]
मेटा_रेक्टेंगल एक आयत को पेंट करता है, जिसे पेन का उपयोग करके रेखांकित किया जाता है और ब्रश का उपयोग करके भरा जाता है और प्लेबैक डिवाइस संदर्भ में परिभाषित ब्रश का उपयोग करके भरा जाता है[44]
मेटा_राउंडरेक्ट गोल कोनों वाले एक आयत को पेंट करता है। आयत को पेन का उपयोग करके रेखांकित किया जाता है और ब्रश का उपयोग करके भरा जाता है और प्लेबैक डिवाइस संदर्भ में परिभाषित ब्रश का उपयोग करके भरा जाता है[45]
मेटा_सेटपिक्सेल निर्दिष्ट निर्देशांक पर पिक्सेल को निर्दिष्ट रंग पर सेट करता है।[46]
मेटा_टेक्स्टआउट प्लेबैक डिवाइस संदर्भ में परिभाषित फ़ॉन्ट, पृष्ठभूमि रंग और टेक्स्ट रंग का उपयोग करके निर्दिष्ट स्थान पर एक वर्ण स्ट्रिंग आउटपुट करता है[47]


ऑब्जेक्ट रिकॉर्ड

ऑब्जेक्ट रिकॉर्ड ग्राफ़िक्स ऑब्जेक्ट बनाते और प्रबंधित करते हैं। WMF फ़ाइलों में ऑब्जेक्ट की दो व्यापक श्रेणियाँ हैं - ग्राफ़िक्स ऑब्जेक्ट और संरचना ऑब्जेक्ट। WMF में संरचना वस्तुएं स्पष्ट रूप से बनाई या हटाई नहीं जाती हैं, वे जटिल संरचनाओं के बजाय होती हैं। उदाहरण के लिए, BitmapCoreHeader में डिवाइस-स्वतंत्र बिटमैप के आयाम और रंग प्रारूप के बारे में जानकारी होती है,[48] जो स्वयं एक डिवाइस इंडिपेंडेंट बिटमैप ऑब्जेक्ट का हिस्सा है।[49] हालाँकि, एक ग्राफ़िक्स ऑब्जेक्ट, ग्राफ़िक्स आउटपुट के लिए पैरामीटर निर्दिष्ट करता है और WMF के प्लेबैक के दौरान यह प्लेबैक डिवाइस संदर्भ सेट करता है।[50] ग्राफ़िक्स ऑब्जेक्ट ब्रश हो सकते हैं (ब्रश की शैली, रंग और पैटर्न को परिभाषित करता है जो ग्राफ़िक के एक क्षेत्र को कैसे पेंट करना है परिभाषित करता है), फ़ॉन्ट (गुणों को परिभाषित करता है जो टेक्स्ट को प्रदर्शित करने के तरीके को प्रभावित करता है), पैलेट (रंगों को डिवाइस-स्वतंत्र मान के रूप में निर्दिष्ट करता है), एक एप्लिकेशन द्वारा परिभाषित), पेन (एक रेखा की ग्राफिकल विशेषताओं को निर्दिष्ट करता है), और क्षेत्र (जो रेखा और वक्र खंडों को निर्दिष्ट करते हैं जो एक आकृति को परिभाषित करते हैं)।[50]

नाम विवरण
मेटा_क्रिएटब्रशइंडिरेक्ट लॉगब्रश (तार्किक ब्रश) ऑब्जेक्ट से एक ब्रश ऑब्जेक्ट बनाता है[51]
मेटा_क्रिएटफ्रंटइंडिरेक्ट फ़ॉन्ट ऑब्जेक्ट से ब्रश ऑब्जेक्ट बनाता है[52]
मेटा_क्रिएटपैलेट एक पैलेट ऑब्जेक्ट बनाता है
मेटा_क्रिएटपेटर्नब्रश[53] लॉगब्रश (तार्किक ब्रश) ऑब्जेक्ट से एक ब्रश ऑब्जेक्ट बनाता है[54]
मेटा_क्रिएटपेनइंडिरेक्ट पेन ऑब्जेक्ट बनाता है[55]
मेटा_क्रिएटरीजन एक क्षेत्र वस्तु बनाता है.[56]
मेटा_डिलीटऑब्जेक्ट किसी ऑब्जेक्ट को हटाएँ[57]
मेटा_क्रिएटब्रशइंडिरेक्ट लॉगब्रश (तार्किक ब्रश) ऑब्जेक्ट से एक ब्रश ऑब्जेक्ट बनाता है[58]
मेटा_डिबक्रिएटपेटर्नब्रश डिवाइस-स्वतंत्र बिटमैप से ब्रश ऑब्जेक्ट बनाता है[59]
मेटा_सेलेक्टक्लिपरीजन उस क्षेत्र ऑब्जेक्ट को निर्दिष्ट करता है जो वर्तमान क्लिपिंग क्षेत्र होगा[60]
मेटा_सेलेक्टऑब्जेक्ट उस ऑब्जेक्ट का चयन करता है जो प्लेबैक डिवाइस संदर्भ के लिए वर्तमान ऑब्जेक्ट होगा, जो पैलेट ऑब्जेक्ट को छोड़कर सभी ग्राफिक्स ऑब्जेक्ट पर काम करता है, जिसे मेटा_सेलेक्टपैलेट के साथ सेट किया जाना चाहिए[61]
मेटा_सेलेक्टपैलेट प्लेबैक डिवाइस संदर्भ के लिए तार्किक पैलेट का चयन करता है[62]


राज्य अभिलेख

राज्य रिकॉर्ड प्लेबैक डिवाइस संदर्भ के ग्राफ़िक्स गुणों का प्रबंधन करते हैं।[63]

नाम विवरण
मेटा_ एनिमेटपैलेट निर्दिष्ट पैलेट ऑब्जेक्ट के साथ प्लेबैक डिवाइस संदर्भ में परिभाषित तार्किक पैलेट में प्रविष्टियों को फिर से परिभाषित करता है
मेटा_ एक्सक्लुडेक्लिप्रेक्ट प्लेबैक डिवाइस संदर्भ में परिभाषित क्लिपिंग क्षेत्र को निर्दिष्ट आयत को घटाकर मौजूदा क्लिपिंग क्षेत्र पर सेट करता है
मेटा_ इंटरसेक्टक्लिप्रेक्ट प्लेबैक डिवाइस संदर्भ में परिभाषित क्लिपिंग क्षेत्र को मौजूदा क्लिपिंग क्षेत्र और एक निर्दिष्ट आयत के प्रतिच्छेदन पर सेट करता है
मेटा_ मोवेटो प्लेबैक डिवाइस संदर्भ में आउटपुट स्थिति को एक निर्दिष्ट बिंदु पर सेट करता है
मेटा_ ऑफसेटक्लिप्रगन निर्दिष्ट ऑफसेट द्वारा प्लेबैक डिवाइस संदर्भ में परिभाषित क्लिपिंग क्षेत्र को स्थानांतरित करता है
मेटा_ ऑफ़सेटव्यूपोर्टोर्ग निर्दिष्ट क्षैतिज और ऊर्ध्वाधर ऑफसेट द्वारा प्लेबैक डिवाइस संदर्भ में व्यूपोर्ट मूल को स्थानांतरित करता है
मेटा_ ऑफ़सेटविंडोवॉर्ग निर्दिष्ट क्षैतिज और ऊर्ध्वाधर ऑफसेट द्वारा आउटपुट विंडो मूल को प्लेबैक डिवाइस संदर्भ में ले जाता है
मेटा_ रियलाइज़ेप्लेट तार्किक पैलेट से प्रविष्टियों को मैप करता है जिसे प्लेबैक डिवाइस संदर्भ में सिस्टम पैलेट में परिभाषित किया गया है
मेटा_ आकार बदलने वाला पैलेट प्लेबैक डिवाइस संदर्भ में परिभाषित तार्किक पैलेट के आकार को फिर से परिभाषित करता है
मेटा_ रीस्टोरेडसी पहले से सहेजे गए डिवाइस संदर्भ से प्लेबैक डिवाइस संदर्भ को पुनर्स्थापित करता है
मेटा_ सेवडीसी बाद में पुनर्प्राप्ति के लिए प्लेबैक डिवाइस संदर्भ को सहेजता है
मेटा_ स्केलव्यूपोर्टटेक्स्ट निर्दिष्ट गुणकों और विभाजकों द्वारा गठित अनुपातों का उपयोग करके प्लेबैक डिवाइस संदर्भ में परिभाषित व्यूपोर्ट के क्षैतिज और ऊर्ध्वाधर विस्तार को मापता है
मेटा_ स्केलविंडोटेक्स्ट आउटपुट विंडो के क्षैतिज और ऊर्ध्वाधर विस्तार को मापता है जिसे निर्दिष्ट गुणकों और विभाजकों द्वारा गठित अनुपातों का उपयोग करके प्लेबैक डिवाइस संदर्भ में परिभाषित किया गया है
मेटा_ सेटबीकेकलर प्लेबैक डिवाइस संदर्भ में पृष्ठभूमि रंग को एक निर्दिष्ट रंग पर सेट करता है
मेटा_ सेटबीकेमोड प्लेबैक डिवाइस संदर्भ में बैकग्राउंड मिक्स मोड सेट करता है
मेटा_ सेटलेआउट प्लेबैक डिवाइस संदर्भ में लेआउट ओरिएंटेशन को परिभाषित करता है
मेटा_ सेटमैपमोड प्लेबैक डिवाइस संदर्भ में मैपिंग मोड को परिभाषित करता है
मेटा_ सेटमैपरफ्लैग्स उस एल्गोरिदम को परिभाषित करता है जिसका उपयोग फ़ॉन्ट मैपर तब करता है जब वह तार्किक फ़ॉन्ट को भौतिक फ़ॉन्ट में मैप करता है
मेटा_ सेटपालेंट्रीज़ तार्किक पैलेट में प्रविष्टियों की एक श्रृंखला में आरजीबी रंग मानों को परिभाषित करता है जिसे प्लेबैक डिवाइस संदर्भ में परिभाषित किया गया है
मेटा_ सेटपॉलीफ़िलमोड बहुभुज भरने वाले ग्राफ़िक्स संचालन के लिए प्लेबैक डिवाइस संदर्भ में बहुभुज भरण मोड को परिभाषित करता है
मेटा_ सेट्रेलैब्स अप्रयुक्त रिकार्ड
मेटा_ सेटरोप2 प्लेबैक डिवाइस संदर्भ में अग्रभूमि रैस्टर ऑपरेशन मिक्सिंग मोड को परिभाषित करता है
मेटा_ सेटस्ट्रेचबीएलटीमोड प्लेबैक डिवाइस संदर्भ में बिटमैप स्ट्रेचिंग मोड को परिभाषित करता है
मेटा_ सेटटेक्स्टलाइन प्लेबैक डिवाइस संदर्भ में टेक्स्ट-संरेखण मानों को परिभाषित करता है
मेटा_ सेटटेक्सचरएक्सट्रा प्लेबैक डिवाइस संदर्भ में पाठ औचित्य के लिए अंतर-वर्ण रिक्ति को परिभाषित करता है
मेटा_ सेटटेक्स्टकलर प्लेबैक डिवाइस संदर्भ में टेक्स्ट अग्रभूमि रंग को परिभाषित करता है
मेटा_ सेटटेक्स्टजस्टिफिकेशन उचित पाठ की एक स्ट्रिंग में वर्णों को तोड़ने के लिए जोड़े जाने वाले स्थान की मात्रा को परिभाषित करता है।
मेटा_ सेटव्यूपोर्टटेक्स्ट प्लेबैक डिवाइस संदर्भ में व्यूपोर्ट के क्षैतिज और ऊर्ध्वाधर विस्तार को परिभाषित करता है।
मेटा_ सेटव्यूपोर्टओआरजी प्लेबैक डिवाइस संदर्भ में व्यूपोर्ट मूल को परिभाषित करता है
मेटा_ सेटविंडोटेक्स्ट प्लेबैक डिवाइस संदर्भ में आउटपुट विंडो के क्षैतिज और ऊर्ध्वाधर विस्तार को परिभाषित करता है
मेटा_ सेटविंडोवॉर्ग प्लेबैक डिवाइस संदर्भ में आउटपुट विंडो मूल को परिभाषित करता है


एस्केप रिकॉर्ड

WMF जेनेरिक एस्केप रिकॉर्ड

एस्केप रिकॉर्ड उन रिकॉर्ड्स के माध्यम से मेटाफ़ाइल कार्यक्षमता को बढ़ाने का एक साधन है जिन्हें अन्यथा WMF रिकॉर्ड प्रकार के रूप में परिभाषित नहीं किया गया है। प्रत्येक एस्केप रिकॉर्ड में एक रिकॉर्ड फ़ंक्शन, एक एस्केप फ़ंक्शन और संभावित रूप से एस्केप डेटा होता है।

निम्नलिखित एस्केप रिकॉर्ड एक WMF फ़ाइल बनाते हैं।

नाम विवरण
ABORTDOC वर्तमान आलेख को संसाधित करना बंद कर देता है[64]
BEGIN_PATH एक रास्ता खोलता है[65]
CHECK_JPEGFORMAT निर्धारित करता है कि यह दी गई JPEG छवि को संभाल सकता है या नहीं[66]
CHECK_PNGFORMAT निर्धारित करता है कि यह दी गई पीएनजी छवि को संभाल सकता है या नहीं[67]
CLIP_TO_PATH किसी फ़ंक्शन को वर्तमान पोस्टस्क्रिप्ट क्लिपिंग पथ पर लागू करता है[68]
CLOSE_CHANNEL ENDDOC के समान[69]
DOWNLOAD_FACE आउटपुट डिवाइस पर फ़ॉन्ट फेस नाम सेट करता है[70]
DOWNLOAD_HEADER पोस्टस्क्रिप्ट प्रक्रियाओं के सेट डाउनलोड करें[71]
DRAW_PATTERNRECT एक परिभाषित पैटर्न के साथ एक आयत बनाता है[72]
ENCAPSULATED_POSTSCRIPT मनमाना इनकैप्सुलेटेड पोस्टस्क्रिप्ट (ईपीएस) डेटा सीधे प्रिंटर ड्राइवर को भेजता है[73]
END_PATH एक रास्ता ख़त्म हो जाता है[74]
ENDDOC प्रिंटर ड्राइवर को सूचित करता है कि नया प्रिंट कार्य समाप्त हो रहा है[75]
EPS_PRINTING ईपीएस प्रिंटिंग की प्रारंभ और समाप्ति को दर्शाता है[76]
EXTTEXTOUT वर्तमान में चयनित फ़ॉन्ट, पृष्ठभूमि रंग और टेक्स्ट रंग का उपयोग करके टेक्स्ट बनाता है[77]
GET_COLORTABLE प्रिंटर ड्राइवर से रंग तालिका मान प्राप्त करता है[78]
GET_DEVICEUNITS आउटपुट डिवाइस पर वर्तमान में कॉन्फ़िगर की गई डिवाइस इकाइयों को प्राप्त करता है[79]
GET_EXTENDED_TEXTMETRICS विस्तारित टेक्स्ट मेट्रिक्स प्राप्त करता है जो वर्तमान में प्रिंटर ड्राइवर पर कॉन्फ़िगर किया गया है[80]
GET_FACENAME वर्तमान में आउटपुट डिवाइस पर कॉन्फ़िगर किया गया फ़ॉन्ट फेस नाम प्राप्त करता है[81]
GET_PAIRKERNTABLE आउटपुट डिवाइस पर वर्तमान में परिभाषित फ़ॉन्ट कर्न तालिका प्राप्त करता है[82]
GET_PHYSPAGESIZE आउटपुट डिवाइस पर वर्तमान में चयनित भौतिक पृष्ठ आकार को पुनः प्राप्त करता है[83]
GET_PRINTINGOFFSET भौतिक पृष्ठ के ऊपरी-बाएँ कोने से ऑफ़सेट पुनर्प्राप्त करता है जहाँ वास्तविक मुद्रण या ड्राइंग शुरू होती है[84]
GET_PS_FEATURESETTING आउटपुट डिवाइस पर समर्थित पोस्टस्क्रिप्ट सुविधाओं के बारे में जानकारी के लिए प्रिंटर ड्राइवर से पूछताछ करें[85]
GET_SCALINGFACTOR प्रिंटर के x-अक्ष और y-अक्ष के लिए स्केलिंग कारक पुनर्प्राप्त करता है[86]
META_ESCAPE_ENHANCED_METAFILE WMF मेटाफ़ाइल के भीतर EMF मेटाफ़ाइल को एम्बेड करने के लिए उपयोग किया जाता है[87]
METAFILE_DRIVER आउटपुट डिवाइस पर मेटाफ़ाइल्स के लिए इसके समर्थन के बारे में प्रिंटर ड्राइवर से पूछताछ करें[88]
NEWFRAME प्रिंटर ड्राइवर को सूचित करता है कि एप्लिकेशन ने एक पृष्ठ पर लिखना समाप्त कर दिया है<[89]
NEXTBAND प्रिंटर ड्राइवर को सूचित करता है कि एप्लिकेशन ने बैंड पर लिखना समाप्त कर दिया है[90]
PASSTHROUGH प्रिंटर ड्राइवर को मनमाना डेटा भेजता है[91]
POSTSCRIPT_DATA आउटपुट डिवाइस पर मनमाना पोस्टस्क्रिप्ट डेटा भेजता है[92]
POSTSCRIPT_IDENTIFY प्रिंटर ड्राइवर को या तो पोस्टस्क्रिप्ट-केंद्रित या GDI-केंद्रित मोड पर सेट करता है[93]
POSTSCRIPT_IGNORE पोस्टस्क्रिप्ट डेटा को अनदेखा करने के लिए आउटपुट डिवाइस को सूचित करता है[94]
POSTSCRIPT_INJECTION पोस्टस्क्रिप्ट स्ट्रीम में कच्चे डेटा का एक ब्लॉक सम्मिलित करता है[95]
POSTSCRIPT_PASSTHROUGH मनमाना डेटा सीधे एक प्रिंटर ड्राइवर को भेजता है, जिससे उम्मीद की जाती है कि वह इस डेटा को केवल पोस्टस्क्रिप्ट मोड में ही संसाधित करेगा[96]
OPEN_CHANNEL STARTDOC के समान कार्य करता है, एक NULL आलेख और आउटपुट फ़ाइल नाम और कच्चे मोड में डेटा के साथ[97]
QUERY_DIBSUPPORT आउटपुट डिवाइस पर DIB के लिए उसके समर्थन के बारे में प्रिंटर ड्राइवर से पूछताछ करता है[98]
QUERY_ESCSUPPORT यह निर्धारित करने के लिए प्रिंटर ड्राइवर से पूछताछ करें कि आउटपुट डिवाइस पर एक विशिष्ट WMF एस्केप फ़ंक्शन समर्थित है या नहीं[99]
SET_COLORTABLE रंग तालिका मान सेट करता है[100]
SET_COPYCOUNT प्रतियों की संख्या निर्धारित करता है[101]
SET_LINECAP आउटपुट डिवाइस पर ड्राइंग में उपयोग करने के लिए लाइन-एंडिंग मोड निर्दिष्ट करता है[102]
SET_LINEJOIN आउटपुट डिवाइस पर ड्राइंग में उपयोग करने के लिए लाइन-ज्वाइनिंग मोड निर्दिष्ट करता है[103]
SET_MITERLIMIT आउटपुट डिवाइस पर ड्राइंग में उपयोग के लिए मेटर जॉइन की लंबाई की सीमा निर्धारित करता है[104]
SPCLPASSTHROUGH2 आलेखों को आलेखों में निजी प्रक्रियाओं और अन्य मनमाने डेटा को शामिल करने में सक्षम बनाता है[105]
STARTDOC प्रिंटर ड्राइवर को सूचित करता है कि एक नया प्रिंट कार्य प्रारंभ हो रहा है।[106]

एबॉर्ट एस्केप रिकॉर्ड के आसपास एस्केप रिकॉर्ड में एक विंडोज़ मेटाफ़ाइल भेद्यता पाई गई थी, जो एबॉर्ट प्रक्रिया कोड को रिकॉर्ड के भीतर ही संग्रहीत करता है। इससे विंडोज़ सिस्टम प्रभावित हुआ (देखें)। CVE-2005-4560) और वाइन (सॉफ़्टवेयर) (देखें CVE-2006-0106). सिकुनिया के अनुसार, भेद्यता विशेष रूप से तैयार किए गए सेटबोर्टप्रोक 'एस्केप' रिकॉर्ड वाले विंडोज मेटाफ़ाइल फ़ाइलों ('.wmf') को संभालने में त्रुटि के कारण होती है। WMF फ़ाइल का रेंडरिंग विफल होने पर ऐसे रिकॉर्ड मनमाने उपयोगकर्ता-परिभाषित फ़ंक्शन को निष्पादित करने की अनुमति देते हैं।[107] विंडोज़ 3.1 SDK प्रलेखन के अनुसार, WMF भेद्यता की खोज से बहुत पहले, सेटबोर्टप्रोक एस्केप अप्रचलित हो गया था और विंडोज़ 3.1 में उसी नाम के फ़ंक्शन द्वारा प्रतिस्थापित कर दिया गया था।[108] हालाँकि, अप्रचलित एस्केप कोड को विंडोज 3.0 के लिए लिखे गए (या कम से कम बैकवर्ड संगत) 16 बिट प्रोग्राम के साथ संगतता के लिए बरकरार रखा गया था। यह परिवर्तन लगभग उसी समय हुआ जब माइक्रोसॉफ़्ट विंडोज़ NT के लिए GDI का 32 बिट पुनः कार्यान्वयन बना रहा था, और यह संभावना है कि इस प्रयास के दौरान भेद्यता उत्पन्न हुई।

स्टीव गिब्सन (कंप्यूटर प्रोग्रामर) द्वारा माइक्रोसॉफ्ट पर जानबूझकर उनके कोड में पिछले दरवाजे (कंप्यूटिंग) को लागू करने का आरोप लगाने के बाद,[109][110] मार्क रुसिनोविच ने एक खंडन प्रदान किया, और कहा कि:

...things were different when the format was architected. In the Windows 3.1 “large” memory model code is inherently location-independent and Windows was never patched, so both Windows and an application could simply copy an application function into the WMF file and assume it would work when played back by the same application in a later run session. In any case, its not clear that the developers envisioned applications creating on-disk metafiles with abort procedures. Also, as Microsoft’s Stephen Toulouse pointed out in Microsoft’s rebuttal to Steve’s claims, the security landscape in the early 1990s was very different than today and all code, including that stored in a WMF file, was inherently trusted.[111]


...जब प्रारूप तैयार किया गया था तो चीजें अलग थीं। विंडोज़ 3.1 में "बड़ी" मेमोरी मॉडल कोड स्वाभाविक रूप से स्थान-स्वतंत्र है और विंडोज़ को कभी भी पैच नहीं किया गया था, इसलिए विंडोज़ और एक एप्लिकेशन दोनों बस एक एप्लिकेशन फ़ंक्शन को डब्लूएमएफ फ़ाइल में कॉपी कर सकते हैं और मान सकते हैं कि यह उसी एप्लिकेशन द्वारा चलाए जाने पर काम करेगा। बाद में चलने वाला सत्र। किसी भी मामले में, यह स्पष्ट नहीं है कि डेवलपर्स ने निरस्त प्रक्रियाओं के साथ ऑन-डिस्क मेटाफ़ाइल्स बनाने वाले अनुप्रयोगों की कल्पना की थी। इसके अलावा, जैसा कि माइक्रोसॉफ्ट के स्टीफन टूलूज़ ने [https://web.archive.org/web/20060116042756/http://blogs.technet.com/msrc/archive/2006/01/13/417431.aspx माइक्रोसॉफ्ट के खंडन में बताया है स्टीव के दावों के अनुसार, 1990 के दशक की प्रारम्भ में सुरक्षा परिदृश्य आज की तुलना में बहुत अलग था और WMF फ़ाइल में संग्रहीत सहित सभी कोड, स्वाभाविक रूप से भरोसेमंद थे

सिमेंटेक सिक्योरिटी रिस्पांस, यूएसए के पीटर फेरी भी गिब्सन से असहमत थे, उन्होंने कहा:

Gibson claimed that a thread is created to run the SetAbortProc handler. In fact, no thread is created to run the handler – it is a callback, which is called by the parser, and the parser has to wait until the callback returns, otherwise the whole point of the function (to abort the printing) is lost. By his own admission, Gibson did not read the documentation (in fact, he claimed that he couldn’t find it, although it is freely available on Microsoft’s Web site), and he claimed that the device context is not available to the function handler. Of course the device context is available to the function handler — it is one of the two parameters that is passed to it (see above), and it is required in order to abort the printing. Finally, Gibson claimed that the control flow could not return to Windows. It is simply a matter of the function returning and discarding the parameters that were passed on the stack. If the record is well formed, Windows will continue to parse the file, as before. ... Gibson admits that he was guessing about a number of things. Unfortunately, he guessed poorly. I guess we know better now.[112]


गिब्सन ने दावा किया कि SetAbortProc हैंडलर को चलाने के लिए एक थ्रेड बनाया गया है। वास्तव में, हैंडलर को चलाने के लिए कोई थ्रेड नहीं बनाया गया है - यह एक कॉलबैक है, जिसे पार्सर द्वारा कॉल किया जाता है, और पार्सर को कॉलबैक वापस आने तक इंतजार करना पड़ता है, अन्यथा फ़ंक्शन का पूरा बिंदु (प्रिंटिंग को रद्द करने के लिए) खो जाता है . अपने स्वयं के प्रवेश से, गिब्सन ने दस्तावेज़ नहीं पढ़ा (वास्तव में, उन्होंने दावा किया कि वह इसे नहीं ढूंढ सके, हालांकि यह माइक्रोसॉफ्ट की वेब साइट पर मुफ्त में उपलब्ध है), और उन्होंने दावा किया कि डिवाइस संदर्भ फ़ंक्शन हैंडलर के लिए उपलब्ध नहीं है . बेशक डिवाइस संदर्भ फ़ंक्शन हैंडलर के लिए उपलब्ध है — यह उन दो मापदंडों में से एक है जो इसे पास किया गया है (ऊपर देखें), और प्रिंटिंग को रद्द करने के लिए यह आवश्यक है। अंत में, गिब्सन ने दावा किया कि नियंत्रण प्रवाह विंडोज़ पर वापस नहीं आ सका। यह केवल फ़ंक्शन के लौटने और स्टैक पर पारित किए गए पैरामीटर को त्यागने का मामला है। यदि रिकॉर्ड अच्छी तरह से बना है, तो विंडोज़ पहले की तरह फ़ाइल को पार्स करना जारी रखेगा। ... गिब्सन स्वीकार करते हैं कि वह कई चीजों के बारे में अनुमान लगा रहे थे। दुर्भाग्य से, उसने ख़राब अनुमान लगाया। मुझे लगता है कि हम अब बेहतर जानते हैं







ईएमएफ

Enhanced Metafile
Filename extension
.emf
Internet media type
image/emf[9]
Uniform Type Identifier (UTI)com.microsoft.emf[9]
Type of formatVector graphics
Extended fromWMF
Extended toEMF+
विंडोज़ एन्हांस्ड मेटाफ़ाइल हेडर

ईएमएफ फाइलों में हेडर के तीन संभावित संस्करण हैं। मूल हेडर केवल छवियों के लिए एक कंटेनर है, दूसरा और तीसरा संस्करण मूल हेडर को समाहित करता है और इसमें एक पिक्सेल प्रारूप रिकॉर्ड और ओपनजीएल रिकॉर्ड के लिए समर्थन सम्मिलित है, और तीसरा संस्करण दूसरे हेडर एक्सटेंशन को समाहित करता है और ईएमएफ की सटीकता और स्केलेबिलिटी को बढ़ाता है। मीट्रिक प्रणाली का उपयोग करके डिवाइस की सतहों की दूरी मापने की क्षमता जोड़ता है।[113]

प्रत्येक EMF हेडर एक EMR_HEADER रिकॉर्ड से प्रारंभ होता है, और उस डिवाइस के प्रासंगिक गुणों को रिकॉर्ड करता है जिस पर मेटाफ़ाइल छवि रिकॉर्ड की गई थी। मूल ईएमएफ हेडर में 80 बाइट हेडर और एक वैकल्पिक चर लंबाई विवरण स्ट्रिंग है।[114] अन्य मेटाफ़ाइलों में एक्सटेंशन फ़ील्ड होते हैं, जो मूल हेडर को समाहित करते हैं। EmfमेटाfileHeaderExtension1 एक रिकॉर्ड है जो सीधे मूल ईएमएफ हेडर के बाद डाला जाता है, यह निर्दिष्ट करता है कि हेडर के भीतर एक पिक्सेल प्रारूप डिस्क्रिप्टर और डिस्क्रिप्टर ऑब्जेक्ट का ऑफसेट है या नहीं, साथ ही एक फ़ील्ड जो निर्दिष्ट करता है कि मेटाफ़ाइल में ओपनजीएल रिकॉर्ड मौजूद हैं या नहीं।[115] पिक्सेल प्रारूप डिस्क्रिप्टर ड्राइंग सतह की क्षमताओं को निर्दिष्ट करता है और क्या पिक्सेल आरजीबीए रंग मॉडल में एन्कोड किया गया है या रंग तालिका में एक सूचकांक है।[116] EmfमेटाfileHeaderExtension2 एक रिकॉर्ड है जो सीधे इसके बाद डाला जाता है EmfमेटाfileHeaderExtension1 रिकॉर्ड करें, और इसमें डिवाइस की सतह को माइक्रोमीटर में मापने के लिए X और Y मान वाले दो फ़ील्ड सम्मिलित हैं।[117] WMF फ़ाइलों की तरह, रिकॉर्ड को फ़ंक्शन द्वारा वर्गीकृत किया जा सकता है, हालाँकि WMF फ़ाइलों की तुलना में EMF फ़ाइलों में अधिक रिकॉर्ड प्रकार होते हैं। रिकॉर्ड्स को नियंत्रण, बिटमैप, क्लिपिंग, टिप्पणी, ड्राइंग, एस्केप, ऑब्जेक्ट निर्माण, ऑब्जेक्ट हेरफेर, ओपनजीएल, पथ ब्रैकेट, स्थिति और ट्रांसफ़ॉर्म रिकॉर्ड के रूप में वर्गीकृत किया जा सकता है।

ईएमएफ+

विंडोज़ XP की रिलीज़ के साथ, उन्नत मेटाफ़ाइल प्रारूप प्लस एक्सटेंशन (EMF+) प्रारूप प्रस्तुत किया गया था। EMF+ GDI+ API पर कॉल को उसी तरह क्रमबद्ध करने का एक तरीका प्रदान करता है जैसे WMF/EMF GDI पर कॉल को संग्रहीत करता है।

विंडोज़ मेटाफ़ाइल्स के संपीड़ित संस्करण भी हैं जिन्हें संपीड़ित विंडोज़ मेटाफ़ाइल (डब्लूएमजेड) और संपीड़ित विंडोज़ एन्हांस्ड मेटाफ़ाइल (ईएमजेड) के रूप में जाना जाता है।[118] जो मूल रूप से gzip संपीड़ित WMF और EMF फ़ाइलें हैं।

कार्यान्वयन

WMF प्रारूप को छवि को पुनर्स्थापित करने के लिए विंडोज़ GDI परत द्वारा निष्पादित करने के लिए डिज़ाइन किया गया था, लेकिन चूंकि WMF बाइनरी फ़ाइलों में GDI ग्राफिक प्राइमेटिव की परिभाषा होती है जो इस छवि का निर्माण करती है, इसलिए वैकल्पिक पुस्तकालयों को डिज़ाइन करना संभव है जो WMF बाइनरी प्रस्तुत करते हैं फ़ाइलें या उन्हें अन्य ग्राफ़िक प्रारूपों में परिवर्तित करें।

यह भी देखें

संदर्भ

  1. Windows Metafile Format (PDF), Microsoft, p. 16
  2. "[MS-WMF]: Windows Metafile Format". MSDN. 2015-06-30. Retrieved 2015-07-26.
  3. [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, p. 17
  4. [MS-EMFPLUS]: Enhanced Metafile Format Plus Extensions (PDF), Microsoft, p. 19
  5. Microsoft Windows 3.1 Programmers Reference, Volume 4 Resources, Microsoft Press 1992, ISBN 1-55615-494-1, chapter 3 pp. 21-45
  6. Caolan McNamara. "विंडो मेटाफ़ाइल (डब्ल्यूएमएफ) संदर्भ". Retrieved 2008-06-01. ये ऑपकोड लागू नहीं किए गए हैं, इस कारण से कि मुझे नहीं पता कि वे क्या हैं, कोई ज्ञात दस्तावेज नहीं है
  7. "[MS-WMF]: Windows Metafile Format Specification". Retrieved 2008-06-01.
  8. "माइक्रोसॉफ्ट ओपन विशिष्टता वादा". Microsoft. Retrieved 2008-06-01.
  9. 9.0 9.1 9.2 9.3 9.4 Leonard, Sean (September 2016). "Windows Metafiles". Windows Image Media Types. IETF. p. 1. doi:10.17487/RFC7903. ISSN 2070-1721. RFC 7903. Retrieved February 8, 2020.
  10. "3.1.4.1 WMF Object Table", [MS-WMF]: Enhanced Metafile Format (PDF), Microsoft, p. 187
  11. "3.1.1.1 EMF Object Table", [MS-EMF]: Windows Metafile Format Specification (PDF), Microsoft, p. 212-214
  12. [MS-EMFPLUS]: Enhanced Metafile Format Plus Extensions (PDF), Microsoft, pp. 204–205
  13. "Figure 1: Structures of original and placeable Windows metafiles", Windows Metafile Format (PDF), Microsoft, p. 17
  14. Q66949: INFO: Windows Metafile Functions & Aldus Placeable Metafiles, Microsoft – via KnowledgeBase Archive: An Archive of Early Microsoft KnowledgeBase
  15. 15.0 15.1 15.2 "1.3.1 Metafile Structure", Windows Metafile Format (PDF), Microsoft, p. 17
  16. "2.3.2.3 META_PLACEABLE Record", Windows Metafile Format (PDF), Microsoft, p. 115
  17. Windows Metafile Format (PDF), Microsoft, p. 55, <55> Section 2.3.2.3: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, and Windows 95: This feature is not supported.
  18. "2.3.2.2 MTF_HEADERRECORD Record", Windows Metafile Format (PDF), Microsoft, p. 114
  19. "2.3.2.2 MTF_HEADERRECORD Record", Windows Metafile Format (PDF), Microsoft, p. 114
  20. "2.3.2.1 MTF_EOF Record", Windows Metafile Format (PDF), Microsoft, p. 114
  21. "1.1 Glossary", [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, p. 13, retrieved 2020-01-24
  22. "2.3.1.1 META_BITBLT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 101–103, retrieved 2020-01-24
  23. "2.3.1.2 META_DIBBITBLT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, p. 103-106, retrieved 2020-01-24
  24. "2.3.1.3 META_DIBSTRETCHBITBLT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, p. 106-108, retrieved 2020-01-24
  25. "2.3.1.4 META_SETDIBTODEV Record", [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, p. 108-109, retrieved 2020-01-24
  26. "2.3.1.5 META_STRETCHBLT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, p. 109-110, retrieved 2020-01-24
  27. "2.3.1.6 META_STRETCHDIB Record", [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, p. 103-106, retrieved 2020-01-24
  28. "2.3.3.1 META_ARC Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 101–103, retrieved 2020-01-24
  29. "2.3.3.2 META_CHORD Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 117–118, retrieved 2020-01-24
  30. "2.3.3.3 META_ELLIPSE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 119, retrieved 2020-01-24
  31. "2.3.3.4 META_EXTFLOODFILL Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 119–120, retrieved 2020-01-24
  32. "2.3.3.5 META_EXTTEXTOUT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 119–120, retrieved 2020-01-24
  33. "2.3.3.6 META_FILLREGION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 121, retrieved 2020-01-24
  34. "2.3.3.7 META_FLOODFILL Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 119–120, retrieved 2020-01-24
  35. "2.3.3.8 META_FRAMEREGION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 122–123, retrieved 2020-01-24
  36. "2.3.3.9 META_INVERTREGION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 123, retrieved 2020-01-24
  37. "2.3.3.10 META_LINETO Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 123–124, retrieved 2020-01-24
  38. "2.3.3.11 META_PAINTREGION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 124, retrieved 2020-01-24
  39. "2.3.3.12 META_PATBLT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 124–125, retrieved 2020-01-24
  40. "2.3.3.13 META_PIE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 125–126, retrieved 2020-01-24
  41. "2.3.3.14 META_POLYLINE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 126, retrieved 2020-01-24
  42. "2.3.3.15 META_POLYGON Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 127, retrieved 2020-01-24
  43. "2.3.3.16 META_POLYPOLYGON Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 127–128, retrieved 2020-01-24
  44. "2.3.3.17 META_RECTANGLE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 127–128, retrieved 2020-01-24
  45. "2.3.3.18 META_ROUNDRECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 128–129, retrieved 2020-01-24
  46. "2.3.3.19 META_SETPIXEL Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 129–130, retrieved 2020-01-24
  47. "2.3.3.20 META_TEXTOUT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 130, retrieved 2020-01-24
  48. "2.2.2.2. BitmapCoreHeader Object", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 85, retrieved 2020-01-25
  49. "2.2.2.9. DeviceIndependentBitmap Object", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 91, retrieved 2020-01-25
  50. 50.0 50.1 "2.2.1. Graphics Objects", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 79, retrieved 2020-01-25
  51. "2.3.4.1 META_CREATEBRUSHINDIRECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 131–132, retrieved 2020-01-25
  52. "2.3.4.2 META_CREATEFONTINDIRECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 132, retrieved 2020-01-25
  53. "2.3.4.4 META_CREATEPATTERNBRUSH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 133–135, retrieved 2020-01-25
  54. "2.3.4.3 META_CREATEPALETTE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 132–133, retrieved 2020-01-25
  55. "2.3.4.5 META_CREATEPENINDIRECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 134–135, retrieved 2020-01-25
  56. "2.3.4.6 META_CREATEREGION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 135, retrieved 2020-01-25
  57. "2.3.4.7 META_DELETEOBJECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 135, retrieved 2020-01-25
  58. "2.3.4.8 META_CREATEBRUSHINDIRECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 135–136, retrieved 2020-01-25
  59. "2.3.4.9 META_DIBCREATEPATTERNBRUSH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 136–137, retrieved 2020-01-25
  60. "2.3.4.10 META_SELECTCLIPREGION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 137, retrieved 2020-01-25
  61. "2.3.4.11 META_SELECTOBJECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 137–138, retrieved 2020-01-25
  62. "2.3.4.11 META_SELECTPLAETTE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 139, retrieved 2020-01-25
  63. "2.3.5 State Record Types", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 138, retrieved 2020-01-28
  64. "2.3.6.2. ABORTDOC Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 158–159, retrieved 2020-01-28
  65. "2.3.6.3. BEGIN_PATH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 159, retrieved 2020-01-28
  66. "2.3.6.4. CHECK_JPEGFORMAT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 159–160, retrieved 2020-01-28
  67. "2.3.6.5. CHECK_PNGFORMAT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 160, retrieved 2020-01-28
  68. "2.3.6.6. CLIP_TO_PATH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 160, retrieved 2020-01-28
  69. "2.3.6.7. CLOSE_CHANNEL Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 162, retrieved 2020-01-28
  70. "2.3.6.8. DOWNLOAD_FACE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 162–163, retrieved 2020-01-28
  71. "2.3.6.9. DOWNLOAD_HEADER Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 158–159, retrieved 2020-01-28
  72. "2.3.6.10. DRAW_PATTERNRECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 163–164, retrieved 2020-01-28
  73. "2.3.6.11. ENCAPSULATED_POSTSCRIPT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 164, retrieved 2020-01-28
  74. "2.3.6.12. END_PATH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 164–165, retrieved 2020-01-28
  75. "2.3.6.13. ENDDOC Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 165, retrieved 2020-01-28
  76. "2.3.6.14. EPS_PRINTING Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 165–166, retrieved 2020-01-28
  77. "2.3.6.15. EXTTEXTOUT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 166–167, retrieved 2020-01-28
  78. "2.3.6.16. GET_COLORTABLE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 167–168, retrieved 2020-01-28
  79. "2.3.6.17. GET_DEVICEUNITS Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 168, retrieved 2020-01-28
  80. "2.3.6.18. GET_EXTENDED_TEXTMETRICS Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 168–169, retrieved 2020-01-28
  81. "2.3.6.19. GET_FACENAME Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 169, retrieved 2020-01-28
  82. "2.3.6.20. GET_PAIRKERNTABLE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 169–170, retrieved 2020-01-28
  83. "2.3.6.21. GET_PHYSPAGESIZE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 170, retrieved 2020-01-28
  84. "2.3.6.22. GET_PRINTINGOFFSET Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 170–171, retrieved 2020-01-28
  85. "2.3.6.23. GET_PS_FEATURESETTING Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 171, retrieved 2020-01-28
  86. "2.3.6.24. GET_SCALINGFACTOR Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 171–172, retrieved 2020-01-28
  87. "2.3.6.25. META_ESCAPE_ENHANCED_METAFILE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 172–173, retrieved 2020-01-28
  88. "2.3.6.26. METAFILE_DRIVER Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 173–174, retrieved 2020-01-28
  89. "2.3.6.27. NEWFRAME Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 174–175, retrieved 2020-01-28
  90. "2.3.6.28. NEXTBAND Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 174–175, retrieved 2020-01-28
  91. "2.3.6.29. PASSTHROUGH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 175, retrieved 2020-01-28
  92. "2.3.6.30. POSTSCRIPT_DATA Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 176, retrieved 2020-01-28
  93. "2.3.6.31. POSTSCRIPT_IDENTIFY Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 176–177, retrieved 2020-01-28
  94. "2.3.6.32. POSTSCRIPT_IGNORE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 177, retrieved 2020-01-28
  95. "2.3.6.33. POSTSCRIPT_INJECTION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 177–178, retrieved 2020-01-28
  96. "2.3.6.34. POSTSCRIPT_PASSTHROUGH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 178, retrieved 2020-01-28
  97. "2.3.6.35. OPEN_CHANNEL Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 179, retrieved 2020-01-28
  98. "2.3.6.36. QUERY_DIBSUPPORT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 179–180, retrieved 2020-01-28
  99. "2.3.6.37. QUERY_ESCSUPPORT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 180, retrieved 2020-01-28
  100. "2.3.6.38. SET_COLORTABLE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 180–181, retrieved 2020-01-28
  101. "2.3.6.39. SET_COPYCOUNT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 181, retrieved 2020-01-28
  102. "2.3.6.40. SET_LINECAP Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 181–182, retrieved 2020-01-28
  103. "2.3.6.41. SET_LINEJOIN Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 182–183, retrieved 2020-01-28
  104. "2.3.6.42. SET_MITERLIMIT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 183, retrieved 2020-01-28
  105. "2.3.6.43. SPCLPASSTHROUGH2 Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 183–184, retrieved 2020-01-28
  106. "2.3.6.44. STARTDOC Record", [MS-WMF]: Windows Metafile Format Specification (PDF), p. 184, retrieved 2020-01-28
  107. "Microsoft Windows WMF "SETABORTPROC" मनमाना कोड निष्पादन". Secunia. Secunia Advisory: SA18255. Archived from the original on January 2, 2006.
  108. Pscript-Supported Escapes, Microsoft, retrieved 2020-01-28
  109. "The Windows MetaFile Backdoor?". GRC Security Now! (Podcast). Gibson Research Corporation. January 12, 2006. Retrieved 2020-01-28.
  110. Gibson, Steve (January 12, 2006), "Re: You won't want to miss tonight's Security Now!, #22", grc.news.feedback, retrieved 2020-01-28
  111. Russinovich, Mark (January 18, 2006), "Inside the WMF Backdoor", TechNet, Microsoft – via Microsoft Tech Community
  112. Ferrie, Peter (February 2, 2006), Inside the Windows Meta File Format (PDF), Virus Bulletin, retrieved 2020-01-24 – via Symantec
  113. "1.3.1. Metafile Structure", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 17–18
  114. "2.3.4.2.1 EmfMetafileHeader Record", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, p. 120
  115. "2.2.10 HeaderExtension1 Object", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 57–58
  116. "2.2.22 PixelFormatDescriptor Object", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 68–71
  117. "2.3.4.2.3 EmfMetafileHeaderExtension2 Record", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 122–124
  118. "जब आप मैक प्रेजेंटेशन के लिए पावरपॉइंट में एक चित्र सम्मिलित करने का प्रयास करते हैं तो आपको "यह फ़ाइल एक असमर्थित ग्राफ़िक प्रारूप है" त्रुटि संदेश प्राप्त होता है". Microsoft. Archived from the original on 2014-04-19. Retrieved 2014-04-19.


बाहरी संबंध