Windows метафайлы - Windows Metafile - Wikipedia

Windows метафайлы (WMF) болып табылады сурет файлының форматы бастапқыда арналған Microsoft Windows 1990 жылдары. Windows Metafile форматының түпнұсқасы құрылғыдан тәуелсіз болмады (бірақ орналастыру тақырыптарымен жасалуы мүмкін) және екеуін де қамтуы мүмкін векторлық графика және нүктелік карта компоненттер. Ол ұқсас әрекет етеді SVG файлдар. WMF файлдары кейіннен ауыстырылды Жақсартылған метафайлдар (EMF файлдары), олар құрылғының тәуелсіздігін қамтамасыз етті. Содан кейін ЭМӨ файлдары өздері арқылы жетілдірілді ЭҚК + файлдар.

Негізінен метафайл кескінді экранда көрсету үшін сызу командаларынан, сипаттама анықтамаларынан және графикалық объектілерден тұратын жазбалар тізімін сақтайды.[1] Қолданылатын сурет командалары -ның командаларымен тығыз байланысты Графикалық құрылғының интерфейсі (GDI) API Microsoft Windows-та сурет салу үшін қолданылады.

Метафайлдардың үш негізгі түрі бар - WMF а 16 бит енгізілген формат Windows 3.0. Бұл отандық векторлық формат үшін Microsoft Office сияқты қосымшалар Сөз, Power Point, және Баспагер. 2017 жылғы жағдай бойынша Windows Metafile Format сипаттамасының 14-нұсқасын Интернетте оқуға немесе PDF түрінде жүктеуге болады.[2] WMF файлдарын ауыстырған ЭМӨ файлдары дәл осы принцип бойынша жұмыс істейді, бұл тек 32 биттік файл форматы, сонымен қатар жеке мәліметтерді «түсініктеме» жазбаларына енгізуге мүмкіндік береді.[3] EMF + - бұл Windows-қа ұқсас командалар, объектілер мен қасиеттерді қолдана отырып кескіндер мен мәтіндер алуға мүмкіндік беретін, осы түсініктеме жазбаларына енгізілген EMF файлдарының кеңейтімі. GDI +.[4]

Тарих

16 биттік WMF файлының түпнұсқасы 1992 жылғы Windows 3.1 SDK құжаттамасының 4-томында толық көрсетілген[5] (кем дегенде, егер басқа функциялар мен құрылымдардың сипаттамаларын басқа томдармен біріктіретін болса), бірақ бұл спецификация бірнеше егжей-тегжейлі түсініксіз болды. Бұл оқу құралдары баспа кітаптары ретінде кітап дүкендерінде қол жетімді, жоқ арқылы нұқыңыз EULA немесе басқа да лицензиялық шектеулер (егер бағдарламалық жасақтама пакетінің бөлігі ретінде сатып алынса, бағдарламалық жасақтама біреуі болатындығы туралы жалпы ескерту).

Уақыт өте келе бұл тарихи спецификацияның болуы едәуір ұмытып кетті және кейбір баламалы бағдарламалар қолданыстағы WMF файлдарынан файл пішімін анықтау үшін кері инженерияға жүгінді, бұл қиын және қателіктерге бейім болды.[6] 2006 жылдың қыркүйегінде Microsoft қайтадан WMF файл форматының сипаттамасын толығырақ түрде жариялады[7] контекстінде Microsoft Open Specification Promise, форматты жүзеге асырушыларға патенттік құқықтар бермеуге уәде.[8]

Кейін Microsoft корпорациясы WMF файлдарын 32 биттік EMF файлдарының орнына қолданыстан шығарды, өйткені WMF файлдары құрылғының тәуелсіздігін қамтамасыз ететін «орналастырылатын» файл тақырыбын қолданғанымен, құрылғының тәуелсіздігімен нақты мәселелер туындады. Майкрософт форматты қолданатын әзірлеушілердің «метафайлдардағы қолданбаны, орналасқан жерін немесе түсініктемелерін масштабтауды ... басқалары метафайлға әртүрлі қосымшаларға арнайы ақпарат беретін тақырыптар қосқанын» анықтады, бұл үлкен үйлесімділік мәселелерін тудырды.[9] Осылайша, 1992 ж Windows NT 3.1, Microsoft кеңейтілген метафайл пішімін (EMF) ұсынды[10] - негізделген формат Win32 API және олардың көмегімен құрылғының тәуелсіздігі орнатылған.[11][9] - бұлар NT метафайлдары ретінде де белгілі болды.[12] Windows XP және GDI + шығарылғаннан кейін жазбалар жиыны едәуір ұлғаюы керек еді, сондықтан Microsoft EMF + файлын қолданыстағы EMF файл пішіміне кеңейту ретінде шығарды.[10][13]

Метафайл құрылымы

Windows метафайлдарын салыстыру - WMF файлдары EMF + жазбаларын қамтуы мүмкін екенін ескеріңіз

WMF, EMF және EMF + файлдары графикалық нәтиже шығару үшін ойнатылатын бірқатар жазбалардан тұрады. Кейбір жазбалар графикалық объектілерді көрсете алатын объектілерді анықтайды, олар графиканың қалай салынатынын анықтауға мүмкіндік береді (мысалы, қаламдар сызықтардың түсі мен енін көрсетеді) Осы объектілердің әрқайсысы метафайлдарда сақталады және метафайлды өңдеу кезінде графикалық объектілерді пайдалануды қадағалайтын объектілік кестеге орналастырылады. Нысан кестесі ассоциативті массив метафайлда анықталған графикалық объект құрылымына индекстер.

WMF және EMF файлдары нысанды өңдеуді EMF файлдарындағы EMF + жазбаларына ұқсамайды. WMF және EMF файлы өңделіп жатқан кезде, объект анықталғаннан кейін жазбалар объект кестесіне оқылады. Егер объект жойылса, онда объект кестеден босатылады және идентификаторды қайта пайдалануға болады. Атап айтқанда, объект жазбаны ойнату кезінде арнайы таңдалғанға дейін пайдаланылмайды.[14][15] Бұл EMF + файлдары үшін ерекшеленеді, олар a арқылы ассоциативті массивті пайдаланады хэшмап ол объектіні идентификатормен бірге жазады. Алайда, нысанды жоя алатын WMF және EMF файлдарынан айырмашылығы, бар объектімен бірдей индексі бар жаңа объект жасалғанда, кестедегі жазба жаңа объектімен ауыстырылады. ЭМӨ файлы объектіні қолданар алдында оны арнайы таңдаудың қажеті жоқ.[16]

WMF

Бастапқы және орналастырылатын Windows метафайлдарының құрылымдары[17]

WMF файлдары бастапқыда құрылғыға тәуелді болмау үшін жасалынбаған, яғни файлды бастапқы жазылған құрылғыдан өзгеше шығыс құрылғыларында ойнатуға болмайды. Бұл мәселені ішінара шешуді ойлап тапты Aldus корпорациясы «APM тақырыбы» деп аталатын қосымша «орналастырылатын» тақырып қосқан,[18] ол түзеткішті, метафайл нұсқасын, метафайл өлшемін, метафайлдағы объектілер санын және метафайлдағы ең үлкен жалғыз жазбаның өлшемін қосқан.[19][20] Мұны кейінірек Windows 2000-ден бастап Microsoft WMF форматына енгізді.[21]

WMF файлдары бірқатар жазбалардан басталатын жазбалар тізбегімен құрылымдалған: тақырыптық жазба,[19][22] жоғарыда аталған қосымша орналастырылатын жазба, [23] және аяқталды файл соңы жазба.[19][24]

Басқару жазбаларымен қамтылған - бұл кескіннің өзін құрайтын жазбалар. Бұл жазбалар белгілі ретінде жұмыс істейді ойнату құрылғысының мәтінмәні, бұл метафайл осы шығарылатын құрылғыға «ойнатылатын» кезде құрылғының графикалық ортасын құрайтын қасиеттер мен нысандардың жиынтығы.[25]

Басқару жазбаларынан басқа жазбаларды көбінесе нүктелік кескін жазбаларына, сурет жазбаларына, объект жазбаларына, күй жазбаларына және қашу жазбаларына топтастыруға болады.

Растрлық жазбалар

Растрлық жазбалар басқарады және шығарады нүктелік кескін.

Аты-жөніСипаттама
META_BITBLTҚалай жасалатынын анықтайды биттік блокты тасымалдау. Бұл жазбаларда дереккөз ретінде пайдаланылатын нүктелік кескін немесе аймақ көрсетілуі мүмкін.[26]
META_DIBBITBLTА-ның биттік беруін қалай жасау керектігін анықтайды құрылғыдан тәуелсіз растрлық сурет сурет. Бұл жазбаларда дереккөз ретінде пайдаланылатын нүктелік кескін немесе аймақ көрсетілуі мүмкін.[27]
META_DIBSTRETCHBITBLTҚұрылғыға тәуелсіз растрлық кескіннің биттік блогын қалай беру керектігін анықтайды, бірақ кескінді кеңейтуге немесе кішірейтуге мүмкіндік береді. Бұл жазбаларда дереккөз ретінде пайдаланылатын нүктелік кескін немесе аймақ көрсетілуі мүмкін.[28]
META_SETDIBTODEVҚұрылғыдан тәуелсіз растрлық кескінге пикселдер блогын орнатуға арналған түсті анықтайды. Бұл жазбаларда дереккөз ретінде пайдаланылатын нүктелік кескін немесе аймақ көрсетілуі мүмкін.[29]
META_STRETCHBLTБиттік блокты қалай беру керектігін анықтайды, бірақ кескіннің кеңеюіне немесе кішіреюіне мүмкіндік береді.[30]
META_STRETCHDIBҚұрылғыға тәуелсіз растрлық кескіннің биттік блогын қалай беру керектігін анықтайды, бірақ кескінді кеңейтуге немесе қысқартуға мүмкіндік береді. Бұл жазбаларда дереккөз ретінде пайдаланылатын нүктелік кескін немесе аймақ көрсетілуі мүмкін.[31]

Жазбаларды салу

Сызбалық жазбалар графикалық нәтиже шығарады.

Аты-жөніСипаттама
META_ARCЭллипс түрінде сурет салады доға.[32]
META_CHORDСурет а аккорд.[33]
META_ELLIPSEЭллипс түрінде сурет салады доға.[34]
META_EXTFLOODFILLАймақты щеткамен толтырады.[35]
META_EXTTEXTOUTҚарапайым, фондық түспен және мәтінді ойнату құрылғысының мәтін мәтінімен сурет салыңыз.[36]
META_FILLREGIONАймақты көрсетілген щеткамен толтырады.[37]
META_FLOODFILLАймақты щеткамен толтырады.[38]
META_FRAMEREGIONҚылқалам көмегімен парақтың бір аймағын қоршап сызады.[39]
META_INVERTREGIONГрафика аймағын төңкерілген түстермен бояйды.[40]
META_LINETOСурет а жартылай ашық түзу ойнату құрылғысының контекстінде анықталған сурет позициясынан көрсетілген нүктеге дейін.[41]
META_PAINTREGIONОйнату құрылғысының контекстінде көрсетілген ағымдағы щеткамен аймақты бояйды.[42]
META_PATBLTОйнату құрылғысының контекстінде көрсетілген ағымдағы щеткамен аймақты бояңыз, содан кейін щетканың түсі мен беттің түсін (-лерін) біріктіріңіз растрлық жұмыс.[43]
META_PIEЭллипс пен екі радиалдың қиылысуымен шектелген пирог тәрізді сына сызыңыз - сызық ойнату құрылғысының контексті арқылы қалам арқылы орнатылады, ал пирог пішінімен шектелген аймақ ойнату құрылғысының ағымдағы щеткасымен толтырылады контекст.[44]
META_POLYLINEБелгіленген жиымдағы нүктелерді қосу арқылы сызық сегменттерінің сериясын салады.[45]
META_POLYGONБояулар а көпбұрыш екі немесе одан да көп құрамнан тұрады төбелер түзу сызықтармен байланысқан. Көпбұрыш қаламды белгілеп, ойнату құрылғысының контекстінде анықталған қылшақ пен көпбұрышты толтыру режимін қолдану арқылы толтырылады.[46]
META_POLYPOLYGONБір-бірімен қабаттасуы мүмкін жабық полигондар қатарын бояйды. Әрбір көпбұрыш қаламды пайдалану арқылы сипатталады және ойнату құрылғысының контекстінде анықталған щетка мен полигонды толтыру режимін қолдану арқылы толтырылады.[47]
META_RECTANGLEТік төртбұрышты бояйды, ол қаламды белгілеп, қылқаламмен толтырылған және ойнату құрылғысының контекстінде анықталған щетканы қолдану арқылы толтырылған.[48]
META_ROUNDRECTБұрыштары дөңгеленген тіктөртбұрышты бояйды. Тіктөртбұрыш қаламды белгілеп, қылқаламмен толтырылған және ойнату құрылғысының контекстінде анықталған щетканы қолдану арқылы толтырылған.[49]
META_SETPIXELПикселді белгіленген координаттарда белгіленген түске орнатады.[50]
META_TEXTOUTШығарулар а таңба жолы қаріпті, фонның түсін және мәтіннің түсін ойнату құрылғысының контекстінде анықталған жерде көрсетілген жерде.[51]

Объект жазбалары

Объект жазбалары графикалық объектілерді жасайды және басқарады. WMF файлдарында объектілердің екі кең категориясы бар - графикалық объектілер және құрылымдық нысандар. Құрылым нысандары WMF-те нақты түрде жасалмайды немесе жойылмайды, олар күрделі құрылымдардың орнына. Мысалы, BitmapCoreHeader құрылғыдан тәуелсіз растрлықтың өлшемдері мен түс форматы туралы ақпаратты қамтиды,[52] ол DeviceIndependentBitmap нысанының бөлігі болып табылады.[53] Графикалық объект, дегенмен, графикалық шығудың параметрлерін анықтайды және WMF ойнату кезінде ол ойнату құрылғысының контекстін орнатады.[54]

Графикалық нысандар болуы мүмкін щеткалар (графиканың аумағын бояуды анықтайтын қылқаламның стилін, түсін және өрнегін анықтайды), қаріптер (мәтіннің қалай көрсетілетініне әсер ететін қасиеттерді анықтайды), бояғыштар (қосымшамен анықталған түстерді құрылғыдан тәуелсіз мәндер ретінде көрсетеді), қаламдар (сызықтың графикалық атрибуттарын анықтайды), және аймақтар (олар пішінді анықтайтын түзу және қисық сегменттерін көрсетеді).[54]

Аты-жөніСипаттама
META_CREATEBRUSHINDIRECTLogBrush (логикалық щетка) объектісінен щетка объектісін жасайды.[55]
META_CREATEFONTINDIRECTҚаріп объектісінен щетка нысанын жасайды.[56]
META_CREATEPALETTEПалитра нысанын жасайды.
META_CREATEPATTERNBRUSH[57]LogBrush (логикалық щетка) объектісінен щетка объектісін жасайды.[58]
META_CREATEPENINDIRECTҚалам объектісін жасайды.[59]
META_CREATEREGIONАймақ нысанын жасайды.[60]
META_DELETEOBJECTНысанды жою.[61]
META_CREATEBRUSHINDIRECTLogBrush (логикалық щетка) объектісінен щетка объектісін жасайды.[62]
META_DIBCREATEPATTERNBRUSHҚұрылғыға тәуелсіз нүктелік кескіннен щетка нысанын жасайды.[63]
META_SELECTCLIPREGIONАғымдағы болатын аймақ нысанын анықтайды кесу аймағы.[64]
META_SELECTOBJECTMETA_SELECTPALETTE көмегімен орнатылуы керек палитра нысандарынан басқа барлық графикалық объектілерде жұмыс істейтін, ойнату құрылғысының контекстінде ағымдағы объект болатын нысанды таңдайды.[65]
META_SELECTPLAETTEОйнату құрылғысының мәтінмәні үшін логикалық бояғышты таңдайды.[66]

Мемлекеттік жазбалар

Мемлекеттік жазбалар ойнату құрылғысының контекстінің графикалық қасиеттерін басқарады.[67]

Аты-жөніСипаттама
META_ANIMATEPALETTEОйнату құрылғысының контекстінде анықталған Палитра нысаны бар логикалық палитрадағы жазбаларды қайта анықтайды.[68]
META_EXCLUDECLIPRECTОйнату құрылғысының контекстінде анықталған қию аймағын көрсетілген тіктөртбұрышты шегеріп, бар қию аймағына орнатады.[69]
META_INTERSECTCLIPRECTОйнату құрылғысының контекстінде анықталған кесу аймағын бар кесу аймағы мен көрсетілген тіктөртбұрыштың қиылысына орнатады.[70]
META_MOVETOОйнату құрылғысының контекстіндегі шығыс орнын көрсетілген нүктеге орнатады.[71]
META_OFFSETCLIPRGNОйнату құрылғысының контекстінде анықталған кесу аймағын көрсетілген ығысулармен жылжытады.[72]
META_OFFSETVIEWPORTORGКөрініс терезесінің басталуын ойнату құрылғысының контекстінде көрсетілген көлденең және тік жылжулармен жылжытады.[73]
META_OFFSETWINDOWORGКөрсетілген көлденең және тік ығысулар арқылы ойнату құрылғысының контекстінде шығыс терезесінің шығуын жылжытады.[74]
META_REALIZEPALETTEОйнату құрылғысының контекстінде анықталған логикалық палитрадан жүйелік палитрада жазбаларды бейнелейді.[75]
META_RESIZEPALETTEОйнату құрылғысының контекстінде анықталған логикалық палитраның өлшемін қайта анықтайды.[76]
META_RESTOREDCҚұрылғының ойнату контекстін бұрын сақталған контексттен қалпына келтіреді.[77]
META_SAVEDCОйнату құрылғысының мәтінмәнін кейінірек алу үшін сақтайды.[78]
META_SCALEVIEWPORTEXTОйнату құрылғысының контекстінде анықталған көрініс терезесінің көлденең және тігінен масштабын көрсетілген көбейтінділер мен бөлгіштермен құрылған қатынастарды қолдана отырып масштабтайды.[79]
META_SCALEWINDOWEXTОйнатқыш құрылғысының контекстінде анықталған шығыс терезесінің көлденең және тік масштабтарын көрсетілген көбейтінділер мен бөлгіштермен құрылған қатынастарды пайдаланып масштабтайды.[80]
META_SETBKCOLORОйнату құрылғысының контекстіндегі фон түсін белгіленген түске қояды.[81]
META_SETBKMODEОйнату құрылғысының контекстінде фондық араласу режимін орнатады.[82]
META_SETLAYOUTОйнату құрылғысының контекстінде орналасу бағытын анықтайды.[83]
META_SETMAPMODEОйнату құрылғысының контекстінде бейнелеу режимін анықтайды.[84]
META_SETMAPPERFLAGSҚаріп картографиясы логикалық қаріптерді физикалық қаріптермен салыстырған кезде қолданылатын алгоритмді анықтайды.[85]
META_SETPALENTRIESОйнату құрылғысының контекстінде анықталған логикалық палитрадағы жазбалар ауқымындағы RGB түс мәндерін анықтайды.[86]
META_SETPOLYFILLMODEКөпбұрыштарды толтыратын графикалық операциялар үшін ойнату құрылғысының контекстінде полигондарды толтыру режимін анықтайды.[87]
META_SETRELABSПайдаланылмаған жазба.[88]
META_SETROP2Ойнату құрылғысының контекстінде алдыңғы растрлық жұмысты араластыру режимін анықтайды.[89]
META_SETSTRETCHBLTMODEОйнату құрылғысының контекстінде растрлық созылу режимін анықтайды.[90]
META_SETTEXTALIGNМәтінді туралау мәндерін ойнату құрылғысының контекстінде анықтайды.[91]
META_SETTEXTCHAREXTRAОйнату құрылғысының мәтінмәнінде мәтінді негіздеу үшін символ аралық интервалды анықтайды.[92]
META_SETTEXTCOLORОйнату құрылғысының контекстінде мәтіннің алдыңғы түсін анықтайды.[93]
META_SETTEXTJUSTIFICATIONАқталған мәтін жолындағы символдарды үзуге қосылатын бос орынды анықтайды.[94]
META_SETVIEWPORTEXTОйнату құрылғысының контекстінде қарау терезесінің көлденең және тік өлшемдерін анықтайды.[95]
META_SETVIEWPORTORGОйнату құрылғысының контекстінде қарау алаңының анықтамасын анықтайды.[96]
META_SETWINDOWEXTОйнату құрылғысының контекстінде шығыс терезесінің көлденең және тік өлшемдерін анықтайды.[97]
META_SETWINDOWORGОйнату құрылғысының контекстінде шығыс терезесінің анықтамасын анықтайды.[98]

Жазбалардан қашу

WMF-тің жалпы жазбасы

Қашу жазбалары - бұл WMF жазба түрі ретінде басқаша анықталмаған жазбалар арқылы метафайлдың жұмысын кеңейту құралы. Әрбір қашу жазбасында жазба функциясы, қашу функциясы және мүмкін қашу деректері бар.

Келесі қашу жазбалары WMF файлын құрайды.

Аты-жөніСипаттама
АБОРТДОКАғымдағы құжатты өңдеуді тоқтатады. [99]
BEGIN_PATHЖол ашады.[100]
CHECK_JPEGFORMATБерілгенді басқара алатынын анықтайды JPEG сурет.[101]
CHECK_PNGFORMATБерілгенді басқара алатынын анықтайды PNG сурет.[102]
CLIP_TO_PATHАғымға функцияны қолданады PostScript кесу жолы.[103]
CLOSE_CHANNELENDDOC сияқты.[104]
ЖҮКТЕУ_FACEШығару құрылғысына қаріптің атын орнатады.[105]
ЖҮКТЕУ_HEADERPostScript процедуралар жиынтығын жүктейді.[106]
DRAW_PATTERNRECTАнықталған үлгісі бар тіктөртбұрыш салады.[107]
ENCAPSULATED_POSTSCRIPTЕрікті түрде жібереді инкапсуляцияланған PostScript (EPS) деректер принтер драйверіне тікелей жіберіледі.[108]
END_PATHЖолды аяқтайды.[109]
ENDDOCПринтер драйверіне жаңа баспа тапсырмасының аяқталуы туралы хабарлайды.[110]
EPS_PRINTINGEPS басып шығарудың басталуы мен аяқталуын көрсетеді.[111]
EXTTEXTOUTАғымдағы таңдалған шрифт, фон түсін және мәтін түсін пайдаланып мәтін салады.[112]
GET_COLORTABLEПринтер драйверінен түсті кесте мәндерін алады.[113]
GET_DEVICEUNITSҚазіргі уақытта шығыс құрылғысында теңшелген қондырғыларды алады.[114]
GET_EXTENDED_TEXTMETRICSҚазіргі уақытта принтер драйверінде конфигурацияланған кеңейтілген мәтін өлшемдерін алады.[115]
GET_FACENAMEҚазіргі уақытта шығыс құрылғысында конфигурацияланған қаріптің атын алады.[116]
GET_PAIRKERNTABLEАлады қаріп қазіргі уақытта шығыс құрылғысында анықталған кесте.[117]
GET_PHYSPAGESIZEҚазіргі уақытта шығыс құрылғысында таңдалған физикалық парақтың өлшемін шығарады.[118]
GET_PRINTINGOFFSETНақты басып шығару немесе сурет басталатын физикалық парақтың сол жақ жоғарғы бұрышынан жылжуды алады.[119]
GET_PS_FEATURESETTINGПринтер драйверінен шығыс құрылғысында қолдау көрсетілетін PostScript мүмкіндіктері туралы ақпарат сұрайды.[120]
GET_SCALINGFACTORПринтердің х осі мен у осі үшін масштабтау коэффициенттерін шығарады.[121]
META_ESCAPE_ENHANCED_METAFILEWMF метафайлына EMF метафайлын енгізу үшін қолданылады.[122]
METAFILE_DRIVERПринтер драйверінен шығыс құрылғысындағы метафайлдарды қолдау туралы сұрайды.[123]
NEWFRAMEПринтер драйверіне қосымшаның параққа жазуды аяқтағаны туралы хабарлайды.[124]
NEXTBANDПринтер драйверіне қосымшаның жолаққа жазуды аяқтағаны туралы хабарлайды.[125]
АРҚЫЛЫ ӨТУЕркін мәліметтер арқылы принтер драйверіне өтеді.[126]
POSTSCRIPT_DATAPostScript деректерін шығыс құрылғысына еркін жібереді.[127]
POSTSCRIPT_IDENTIFYПринтер драйверін PostScript-орталықтандырылған немесе GDI-центрлі режимге қояды.[128]
POSTSCRIPT_IGNOREPostScript деректерін елемеу үшін шығыс құрылғысын хабарлайды.[129]
POSTSCRIPT_INJECTIONPostScript ағынына бастапқы деректер блогын енгізеді.[130]
POSTSCRIPT_PASSTHROUGHЕрікті деректерді тікелей принтер драйверіне жібереді, ол осы деректерді тек PostScript режимінде өңдейді деп күтілуде.[131]
OPEN_CHANNELNULL құжаты және шығыс файл аты және бастапқы режимдегі деректер бар STARTDOC сияқты әрекет етеді.[132]
QUERY_DIBSUPPORTПринтер драйверінен шығыс құрылғысындағы DIB-ді қолдау туралы сұрайды.[133]
QUERY_ESCSUPPORTПринтер драйверінен шығыс құрылғысында нақты WMF қашу функциясына қолдау көрсетілуін анықтау үшін сұрайды.[134]
SET_COLORTABLEТүстер кестесінің мәндерін орнатады.[135]
SET_COPYCOUNTДана санын орнатады.[136]
SET_LINECAPШығару құрылғысына сурет салуда қолданылатын жолдың аяқталу режимін анықтайды.[137]
SET_LINEJOINШығару құрылғысына сурет салуда қолданылатын сызықты қосу режимін анықтайды.[138]
SET_MITERLIMITШығару құрылғысына сурет салуда пайдалану үшін миттердің қосылу ұзындығының шегін белгілейді.[139]
SPCLPASSTHROUGH2Құжаттарға жеке процедураларды және басқа да ерікті деректерді құжаттарға қосуға мүмкіндік береді.[140]
STARTDOCПринтер драйверіне жаңа баспа тапсырмасы басталғаны туралы хабарлайды.[141]

Болды үлкен осалдық аборттан қашу жазбасының айналасында қашу жазбаларында табылған, бұл аборт процедурасының кодын жазбаның өзінде сақтайды. Бұл Windows жүйелеріне әсер етті (қараңыз) CVE -2005-4560 ) және Шарап жобасы (қараңыз CVE -2006-0106 ). Сәйкес Секуния, «Осалдық Windows Metafile файлдарын (» .wmf «) өңдеудегі қателікке байланысты, арнайы жасалған SETABORTPROC 'Escape' жазбаларын қамтиды. Мұндай жазбалар WMF файлын көрсету кезінде ерікті түрде пайдаланушы анықтаған функцияны орындауға мүмкіндік береді. сәтсіздікке ұшырады ».[142] Windows 3.1 SDK құжаттамасына сәйкес, SETABORTPROC шығуы ескірді және Windows 3.1-де аттас функциямен ауыстырылды, WMF осалдығы анықталғанға дейін.[143] Алайда ескірген қашу коды Windows 3.0 үшін жазылған (немесе, кем дегенде, артқа үйлесімді) 16 биттік бағдарламалармен үйлесімділік үшін сақталды. Бұл өзгеріс Microsoft Windows NT үшін GDI-дің 32 биттік қайта құруын жасаумен шамамен бір уақытта болды және осалдық осы күш кезінде болған болуы мүмкін.

Кейін Стив Гибсон бастап Гибсон ғылыми-зерттеу корпорациясы Microsoft корпорациясын әдейі жүзеге асырды деп айыптады артқы есік олардың кодына,[144][145] Марк Руссинович жоққа шығарды және мынаны мәлімдеді:

... формат мұрағатталған кезде басқаша болды. Windows 3.1-де «үлкен» жад моделінің коды өздігінен орналасуға тәуелді емес, сондықтан Windows ешқашан патчпен жабылмаған, сондықтан Windows та, қосымша да бағдарлама функциясын WMF файлына жай көшіре алады және егер сол бағдарламада ойнатылған кезде ол жұмыс істейді деп болжай алады. кейінірек іске қосылатын сессия. Кез-келген жағдайда, әзірлеушілер аборт процедуралары бар дискідегі метафайлдарды құратын қосымшаларды қарастыратыны түсініксіз. Сондай-ақ, Майкрософт Стивен Тулуза атап өткендей Microsoft корпорациясының теріске шығаруы Стивтің айтуынша, 1990-шы жылдардың басында қауіпсіздік ландшафты бүгінгіден мүлде өзгеше болды және барлық кодтар, соның ішінде WMF файлында сақталған, әрине, сенімді болды.[146]

АҚШ-тың Symantec Security Response-тегі Питер Ферри де Гибсонмен келіспеді:

Гибсон ағын SetAbortProc өңдегішін іске қосу үшін жасалады деп мәлімдеді. Іс жүзінде өңдегішті іске қосу үшін ешқандай жіп жасалынбайды - бұл қайта шақыру, оны талдағыш шақырады, ал талдаушы кері қайтарылғанша күту керек, әйтпесе функцияның барлық нүктесі жоғалады (басып шығаруды тоқтату үшін) . Өзінің айтуы бойынша, Гибсон құжаттаманы оқымаған (іс жүзінде ол Microsoft веб-сайтында еркін қол жетімді болғанымен оны таба алмадым деп мәлімдеді) және ол құрылғының контексті функция өңдеушісі үшін қол жетімді емес деп мәлімдеді. . Әрине, құрылғының контексті функция өңдеушісі үшін қол жетімді - бұл оған берілген екі параметрдің бірі (жоғарыдан қараңыз) және басып шығаруды тоқтату үшін қажет. Соңында, Гибсон басқару ағыны Windows жүйесіне оралмайды деп мәлімдеді. Әңгіме стекке өткен параметрлерді қайтару және жою функциясы туралы. Егер жазба дұрыс құрылған болса, Windows бұрынғыдай файлды талдай береді. ... Гибсон бірнеше нәрсені болжағанын мойындайды. Өкінішке орай, ол нашар болжады. Біз қазір жақсы білеміз деп ойлаймын.[147]

ЭҚК

Windows жақсартылған метафайл тақырыбы

ЭМӨ файлдарында тақырыптардың үш нұсқасы бар. Бастапқы тақырыптар тек суреттерге арналған контейнер болып табылады, екінші және үшінші нұсқа түпнұсқа тақырыбын қоршайды және пиксель форматындағы жазбаны және OpenGL жазбаларын қолдайды, ал үшінші нұсқа екінші тақырып кеңейтімін қоршап, ЭҚК дәлдігін және ЭҚК масштабталуын жоғарылатады. метрлік жүйенің көмегімен құрылғы беттерінің арақашықтығын өлшеу мүмкіндігін қосады.[148]

Әрбір ЭҚК тақырыбы EMR_HEADER жазбасынан басталып, метафайл кескіні жазылған құрылғының тиісті қасиеттерін жазады. Түпнұсқа ЭҚК тақырыбында 80 байттық тақырып және қосымша айнымалы ұзындықты сипаттайтын жол бар.[149] Басқа метафайлдарда кеңейтілген өрістер бар, олар түпнұсқа тақырыбын қоршап алады. EmfMetafileHeaderExtension1 - бұл бастапқы ЭҚК тақырыбынан кейін енгізілетін, пиксель форматының дескрипторының бар-жоғын және тақырыптың ішіндегі дескриптор объектісіне жылжуды, сондай-ақ егер өрісті көрсететін жазба OpenGL жазбалар метафайлда бар.[150] Пиксель форматының дескрипторы сурет салу бетінің мүмкіндіктерін және пиксельдің кодталғандығын анықтайды РГБА немесе түсті кестеге индекс болып табылады.[151] EmfMetafileHeaderExtension2 дегеннен кейін тікелей енгізілетін жазба болып табылады EmfMetafileHeaderExtension1 Құрылғының бетін микрометрлерде өлшеуге арналған X және Y мәндері бар екі өрісті қамтиды.[152]

WMF файлдары сияқты, жазбаларды да функциялар бойынша жіктеуге болады, бірақ EMF файлдарында WMF файлдарына қарағанда көбірек жазба түрлері бар. Жазбаларды басқару, нүктелік кескін, қию, түсініктеме беру, сурет салу, қашу, объект құру, объект манипуляциясы, OpenGL, жол кронштейні, күй және түрлендіру жазбалары деп жіктеуге болады.

ЭҚК +

Босатуымен Windows XP, Жақсартылған метафайл форматының қосымша кеңейтімдері (EMF +) форматы енгізілді. EMF + қоңырауларды сериялау әдісін ұсынады GDI + WMF / EMF GDI қоңырауларын сақтайтын сияқты API.

Ретінде белгілі Windows метафайлдарының қысылған нұсқалары бар Қысылған Windows метафайлы (WMZ) және Қысылған Windows жақсартылған метафайл (EMZ),[153] негізінен gzip сығылған WMF және EMF файлдары.

Іске асыру

WMF форматы Windows GDI қабатын қалпына келтіруге арналған сурет, бірақ WMF екілік файлдарында осы кескінді құрайтын GDI графикалық примитивтерінің анықтамасы болғандықтан, WMF екілік файлдарын ұсынатын немесе оларды басқа графикалық форматтарға түрлендіретін альтернативті кітапханалар құрастыруға болады.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Windows метафайлының форматы (PDF), Microsoft, б. 16
  2. ^ «[MS-WMF]: Windows метафайлының форматы». MSDN. 2015-06-30. Алынған 2015-07-26.
  3. ^ [MS-EMF]: жақсартылған метафайл форматы (PDF), Microsoft, б. 17
  4. ^ [MS-EMFPLUS]: жақсартылған метафайл форматының қосымша кеңейтімдері (PDF), Microsoft, б. 19
  5. ^ Microsoft Windows 3.1 бағдарламашылар анықтамалығы, 4 томдық ресурстар, Microsoft Press 1992, ISBN  1-55615-494-1, 3 тарау 21-45 б
  6. ^ Caolan McNamara. «Терезе метафайлына (wmf) сілтеме». Алынған 2008-06-01. Бұл опкодтар орындалмаған, себебі мен олардың не екенін білмеймін, белгілі құжаттамалар жоқ
  7. ^ «[MS-WMF]: Windows метафайлының форматының сипаттамасы». Алынған 2008-06-01.
  8. ^ «Microsoft Open Specification Promise». Алынған 2008-06-01.
  9. ^ а б Win32-де жақсартылған метафайлдар, Microsoft Developer Network Technology Group, 10 маусым 1993 ж
  10. ^ а б Леонард, Шон (қыркүйек 2016). «Windows метафайлдары». Windows кескін медиасының түрлері. IETF. б. 1. дои:10.17487 / RFC7903. ISSN  2070-1721. RFC 7903. Алынған 8 ақпан, 2020.
  11. ^ «ЭҚК», FileFormat, Aspose Pty Ltd, алынды 2020-01-20
  12. ^ Петцольд, Чарльз (11 қазан, 1994), «NT метафайлдар және GDI нысандары», PC журналы, 343-347 бет
  13. ^ Поляков, Алекс; Брусенцев, Виталий (2005). GDI + & DirectX көмегімен графикалық бағдарламалау. A-List жариялау. б. 68. ISBN  1-931769-39-7.
  14. ^ «3.1.4.1 WMF нысандар кестесі», [MS-WMF]: кеңейтілген метафайл форматы (PDF), Microsoft, б. 187
  15. ^ «3.1.1.1 ЭҚК нысандары кестесі», [MS-EMF]: Windows метафайлының форматы (PDF), Microsoft, б. 212-214
  16. ^ [MS-EMFPLUS]: жақсартылған метафайл форматының қосымша кеңейтімдері (PDF), Microsoft, 204–205 бб
  17. ^ «1-сурет: Windows метафайлдарының түпнұсқалық және орналастырылатын құрылымдары», Windows метафайлының форматы (PDF), Microsoft, б. 17
  18. ^ Q66949: АҚПАРАТ: Windows метафайлының функциялары және Aldus орналастырылатын метафайлдары, Microsoft - KnowledgeBase архиві арқылы: Microsoft-тың ерте білім қорының мұрағаты
  19. ^ а б в «1.3.1 метафайл құрылымы», Windows метафайлының форматы (PDF), Microsoft, б. 17
  20. ^ «2.3.2.3 META_PLACEABLE жазбасы», Windows метафайлының форматы (PDF), Microsoft, б. 115
  21. ^ Windows метафайлының форматы (PDF), Microsoft, б. 55, <55> 2.3.2.3 бөлімі: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51 және Windows 95: бұл мүмкіндікке қолдау көрсетілмейді.
  22. ^ «2.3.2.2 MTF_HEADERRECORD жазбасы», Windows метафайлының форматы (PDF), Microsoft, б. 114
  23. ^ «2.3.2.2 MTF_HEADERRECORD жазбасы», Windows метафайлының форматы (PDF), Microsoft, б. 114
  24. ^ «2.3.2.1 MTF_EOF жазбасы», Windows метафайлының форматы (PDF), Microsoft, б. 114
  25. ^ «1.1 Глоссарий», [MS-WMF]: Windows метафайлының форматы (PDF), Microsoft, б. 13, алынды 2020-01-24
  26. ^ «2.3.1.1 META_BITBLT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 101-103 беттер, алынды 2020-01-24
  27. ^ «2.3.1.2 META_DIBBITBLT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), Microsoft, б. 103-106, алынды 2020-01-24
  28. ^ «2.3.1.3 META_DIBSTRETCHBITBLT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), Microsoft, б. 106-108, алынды 2020-01-24
  29. ^ «2.3.1.4 META_SETDIBTODEV жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), Microsoft, б. 108-109, алынды 2020-01-24
  30. ^ «2.3.1.5 META_STRETCHBLT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), Microsoft, б. 109-110, алынды 2020-01-24
  31. ^ «2.3.1.6 META_STRETCHDIB жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), Microsoft, б. 103-106, алынды 2020-01-24
  32. ^ «2.3.3.1 META_ARC жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 101-103 беттер, алынды 2020-01-24
  33. ^ «2.3.3.2 META_CHORD жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 117–118 беттер, алынды 2020-01-24
  34. ^ «2.3.3.3 META_ELLIPSE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 119, алынды 2020-01-24
  35. ^ «2.3.3.4 META_EXTFLOODFILL жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 119-120 бб, алынды 2020-01-24
  36. ^ «2.3.3.5 META_EXTTEXTOUT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 119-120 бб, алынды 2020-01-24
  37. ^ «2.3.3.6 META_FILLREGION жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 121, алынды 2020-01-24
  38. ^ «2.3.3.7 META_FLOODFILL жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 119-120 бб, алынды 2020-01-24
  39. ^ «2.3.3.8 META_FRAMEREGION жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 122–123 бб, алынды 2020-01-24
  40. ^ «2.3.3.9 META_INVERTREGION жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 123, алынды 2020-01-24
  41. ^ «2.3.3.10 META_LINETO жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 123–124 бб, алынды 2020-01-24
  42. ^ «2.3.3.11 META_PAINTREGION жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 124, алынды 2020-01-24
  43. ^ «2.3.3.12 META_PATBLT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 124-125 бб, алынды 2020-01-24
  44. ^ «2.3.3.13 META_PIE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 125–126 бб, алынды 2020-01-24
  45. ^ «2.3.3.14 META_POLYLINE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 126, алынды 2020-01-24
  46. ^ «2.3.3.15 META_POLYGON жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 127, алынды 2020-01-24
  47. ^ «2.3.3.16 META_POLYPOLYGON жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 127–128 б, алынды 2020-01-24
  48. ^ «2.3.3.17 META_RECTANGLE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 127–128 б, алынды 2020-01-24
  49. ^ «2.3.3.18 META_ROUNDRECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 128–129 б, алынды 2020-01-24
  50. ^ «2.3.3.19 META_SETPIXEL жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 129-130 бб, алынды 2020-01-24
  51. ^ «2.3.3.20 META_TEXTOUT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 130, алынды 2020-01-24
  52. ^ «2.2.2.2. BitmapCoreHeader нысаны», [MS-WMF]: Windows метафайлының форматы (PDF), б. 85, алынды 2020-01-25
  53. ^ «2.2.2.9. DeviceIndependentBitmap нысаны», [MS-WMF]: Windows метафайлының форматы (PDF), б. 91, алынды 2020-01-25
  54. ^ а б «2.2.1. Графикалық нысандар», [MS-WMF]: Windows метафайлының форматы (PDF), б. 79, алынды 2020-01-25
  55. ^ «2.3.4.1 META_CREATEBRUSHINDIRECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 131-132 б, алынды 2020-01-25
  56. ^ «2.3.4.2 META_CREATEFONTINDIRECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 132, алынды 2020-01-25
  57. ^ «2.3.4.4 META_CREATEPATTERNBRUSH жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 133-135 б, алынды 2020-01-25
  58. ^ «2.3.4.3 META_CREATEPALETTE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 132-133 бет, алынды 2020-01-25
  59. ^ «2.3.4.5 META_CREATEPENINDIRECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 134-135 б, алынды 2020-01-25
  60. ^ «2.3.4.6 META_CREATEREGION жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 135, алынды 2020-01-25
  61. ^ «2.3.4.7 META_DELETEOBJECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 135, алынды 2020-01-25
  62. ^ «2.3.4.8 META_CREATEBRUSHINDIRECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 135-136 бет, алынды 2020-01-25
  63. ^ «2.3.4.9 META_DIBCREATEPATTERNBRUSH жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 136-137 бет, алынды 2020-01-25
  64. ^ «2.3.4.10 META_SELECTCLIPREGION жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 137, алынды 2020-01-25
  65. ^ «2.3.4.11 META_SELECTOBJECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 137-138 б, алынды 2020-01-25
  66. ^ «2.3.4.11 META_SELECTPLAETTE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 139, алынды 2020-01-25
  67. ^ «2.3.5 Мемлекеттік жазба түрлері», [MS-WMF]: Windows метафайлының форматы (PDF), б. 138, алынды 2020-01-28
  68. ^ «2.3.5.1 META_ANIMATEPALETTE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 140, алынды 2020-01-28
  69. ^ «2.3.5.2 META_EXCLUDECLIPRECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 140–141 бб, алынды 2020-01-28
  70. ^ «2.3.5.3 META_INTERSECTCLIPRECT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 141–142 бб, алынды 2020-01-28
  71. ^ «2.3.5.1 META_MOVETO жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 142, алынды 2020-01-28
  72. ^ «2.3.5.4 META_OFFSETCLIPRGN жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 142–143 бб, алынды 2020-01-28
  73. ^ «2.3.5.5 META_OFFSETVIEWPORTORG жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 143, алынды 2020-01-28
  74. ^ «2.3.5.6 META_OFFSETWINDOWORG жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 131-132 б, алынды 2020-01-28
  75. ^ «2.3.5.7 META_REALIZEPALETTE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 143–144 бб, алынды 2020-01-28
  76. ^ «2.3.5.8 META_RESIZEPALETTE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 144, алынды 2020-01-28
  77. ^ «2.3.5.9 META_RESTOREDC жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 145, алынды 2020-01-28
  78. ^ «2.3.5.10 META_SAVEDC жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 145, алынды 2020-01-28
  79. ^ «2.3.5.11 META_SCALEVIEWPORTEXT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 145–146 бб, алынды 2020-01-28
  80. ^ «2.3.5.12 META_SCALEWINDOWEXT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 146–147 беттер, алынды 2020-01-28
  81. ^ «2.3.5.13 META_SETBKCOLOR жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 147, алынды 2020-01-28
  82. ^ «2.3.5.14 META_SETBKMODE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 147–148 бб, алынды 2020-01-28
  83. ^ «2.3.5.15 META_SETLAYOUT жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 148, алынды 2020-01-28
  84. ^ «2.3.5.16 META_SETMAPMODE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 148–149 бб, алынды 2020-01-28
  85. ^ «2.3.5.17 META_SETMAPPERFLAGS жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), 131-132 б, алынды 2020-01-28
  86. ^ «2.3.5.18 META_ANIMATEPALETTE жазбасы», [MS-WMF]: Windows метафайлының форматы (PDF), б. 149, алынды 2020-01-28
  87. ^ "2.3.5.19 META_SETPALENTRIES Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 149–150, алынды 2020-01-28
  88. ^ "2.3.5.20 META_SETRELABS Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 150, алынды 2020-01-28
  89. ^ "2.3.5.21 META_SETROP2 Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 151, алынды 2020-01-28
  90. ^ "2.3.5.1 META_SETSTRETCHBLTMODE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 151–152 бб, алынды 2020-01-28
  91. ^ "2.3.5.22 META_SETTEXTALIGN Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 152, алынды 2020-01-28
  92. ^ "2.3.5.1 META_SETTEXTCHAREXTRA Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 152–153, алынды 2020-01-28
  93. ^ "2.3.5.23 META_SETTEXTCOLOR Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 153, алынды 2020-01-28
  94. ^ "2.3.5.24 META_SETTEXTJUSTIFICATION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 153–154, алынды 2020-01-28
  95. ^ "2.3.5.25 META_SETVIEWPORTEXT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 154, алынды 2020-01-28
  96. ^ "2.3.5.26 META_SETVIEWPORTORG Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 154–155 бб, алынды 2020-01-28
  97. ^ "2.3.5.27 META_SETWINDOWEXT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 155, алынды 2020-01-28
  98. ^ "2.3.5.28 META_SETWINDOWORG Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 155, алынды 2020-01-28
  99. ^ "2.3.6.2. ABORTDOC Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 158–159, алынды 2020-01-28
  100. ^ "2.3.6.3. BEGIN_PATH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 159, алынды 2020-01-28
  101. ^ "2.3.6.4. CHECK_JPEGFORMAT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 159-160 бб, алынды 2020-01-28
  102. ^ "2.3.6.5. CHECK_PNGFORMAT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 160, алынды 2020-01-28
  103. ^ "2.3.6.6. CLIP_TO_PATH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 160, алынды 2020-01-28
  104. ^ "2.3.6.7. CLOSE_CHANNEL Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 162, алынды 2020-01-28
  105. ^ "2.3.6.8. DOWNLOAD_FACE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 162–163, алынды 2020-01-28
  106. ^ "2.3.6.9. DOWNLOAD_HEADER Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 158–159, алынды 2020-01-28
  107. ^ "2.3.6.10. DRAW_PATTERNRECT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 163–164 бб, алынды 2020-01-28
  108. ^ "2.3.6.11. ENCAPSULATED_POSTSCRIPT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 164, алынды 2020-01-28
  109. ^ "2.3.6.12. END_PATH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 164-165 бб, алынды 2020-01-28
  110. ^ "2.3.6.13. ENDDOC Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 165, алынды 2020-01-28
  111. ^ "2.3.6.14. EPS_PRINTING Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 165–166 бб, алынды 2020-01-28
  112. ^ "2.3.6.15. EXTTEXTOUT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 166–167 беттер, алынды 2020-01-28
  113. ^ "2.3.6.16. GET_COLORTABLE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 167–168 беттер, алынды 2020-01-28
  114. ^ "2.3.6.17. GET_DEVICEUNITS Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 168, алынды 2020-01-28
  115. ^ "2.3.6.18. GET_EXTENDED_TEXTMETRICS Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 168–169 бет, алынды 2020-01-28
  116. ^ "2.3.6.19. GET_FACENAME Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 169, алынды 2020-01-28
  117. ^ "2.3.6.20. GET_PAIRKERNTABLE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 169-170 бб, алынды 2020-01-28
  118. ^ "2.3.6.21. GET_PHYSPAGESIZE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 170, алынды 2020-01-28
  119. ^ "2.3.6.22. GET_PRINTINGOFFSET Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 170–171, алынды 2020-01-28
  120. ^ "2.3.6.23. GET_PS_FEATURESETTING Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 171, алынды 2020-01-28
  121. ^ "2.3.6.24. GET_SCALINGFACTOR Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 171–172 бб, алынды 2020-01-28
  122. ^ "2.3.6.25. META_ESCAPE_ENHANCED_METAFILE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 172–173 бб, алынды 2020-01-28
  123. ^ "2.3.6.26. METAFILE_DRIVER Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 173–174 бб, алынды 2020-01-28
  124. ^ "2.3.6.27. NEWFRAME Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 174–175 бб, алынды 2020-01-28
  125. ^ "2.3.6.28. NEXTBAND Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 174–175 бб, алынды 2020-01-28
  126. ^ "2.3.6.29. PASSTHROUGH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 175, алынды 2020-01-28
  127. ^ "2.3.6.30. POSTSCRIPT_DATA Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 176, алынды 2020-01-28
  128. ^ "2.3.6.31. POSTSCRIPT_IDENTIFY Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 176–177, алынды 2020-01-28
  129. ^ "2.3.6.32. POSTSCRIPT_IGNORE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 177, алынды 2020-01-28
  130. ^ "2.3.6.33. POSTSCRIPT_INJECTION Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 177–178 бб, алынды 2020-01-28
  131. ^ "2.3.6.34. POSTSCRIPT_PASSTHROUGH Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 178, алынды 2020-01-28
  132. ^ "2.3.6.35. OPEN_CHANNEL Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 179, алынды 2020-01-28
  133. ^ "2.3.6.36. QUERY_DIBSUPPORT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 179-180 бб, алынды 2020-01-28
  134. ^ "2.3.6.37. QUERY_ESCSUPPORT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 180, алынды 2020-01-28
  135. ^ "2.3.6.38. SET_COLORTABLE Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 180–181, алынды 2020-01-28
  136. ^ "2.3.6.39. SET_COPYCOUNT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 181, алынды 2020-01-28
  137. ^ "2.3.6.40. SET_LINECAP Record", [MS-WMF]: Windows Metafile Format Specification (PDF), pp. 181–182, алынды 2020-01-28
  138. ^ "2.3.6.41. SET_LINEJOIN Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 182-183 бб, алынды 2020-01-28
  139. ^ "2.3.6.42. SET_MITERLIMIT Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 183, алынды 2020-01-28
  140. ^ "2.3.6.43. SPCLPASSTHROUGH2 Record", [MS-WMF]: Windows Metafile Format Specification (PDF), 183–184 бб, алынды 2020-01-28
  141. ^ "2.3.6.44. STARTDOC Record", [MS-WMF]: Windows Metafile Format Specification (PDF), б. 184, алынды 2020-01-28
  142. ^ "Microsoft Windows WMF "SETABORTPROC" Arbitrary Code Execution". Secunia. Secunia Advisory: SA18255. Архивтелген түпнұсқа 2006 жылдың 2 қаңтарында.
  143. ^ Pscript-Supported Escapes, Microsoft, алынды 2020-01-28
  144. ^ "The Windows MetaFile Backdoor?". GRC Security Now! (Подкаст). Gibson Research Corporation. 12 қаңтар, 2006 ж. Алынған 2020-01-28.
  145. ^ Gibson, Steve (January 12, 2006), "Re: You won't want to miss tonight's Security Now!, #22", grc.news.feedback, алынды 2020-01-28
  146. ^ Russinovich, Mark (January 18, 2006), "Inside the WMF Backdoor", TechNet, Microsoft – via Microsoft Tech Community
  147. ^ Ferrie, Peter (February 2, 2006), Inside the Windows Meta File Format (PDF), Virus Bulletin, алынды 2020-01-24 - арқылы Symantec
  148. ^ "1.3.1. Metafile Structure", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 17–18
  149. ^ "2.3.4.2.1 EmfMetafileHeader Record", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, p. 120
  150. ^ "2.2.10 HeaderExtension1 Object", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 57–58
  151. ^ "2.2.22 PixelFormatDescriptor Object", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 68–71
  152. ^ "2.3.4.2.3 EmfMetafileHeaderExtension2 Record", [MS-EMF]: Enhanced Metafile Format (PDF), Microsoft, pp. 122–124
  153. ^ "You receive a "This file is an unsupported graphic format" error message when you try to insert a picture into a PowerPoint for Mac presentation". Microsoft. Архивтелген түпнұсқа 2014-04-19. Алынған 2014-04-19.

Сыртқы сілтемелер