2012-05-01 17 views
7

क्या वहां कोई रैपर लाइब्रेरी है जो विंडोज़ "एएनएसआई" फ़ंक्शन नामों की नकल करती है (उदाहरण के लिए CreateFileA), मानते हैं कि इनपुट यूटीएफ -8 में हैं, उन्हें यूटीएफ -16 में परिवर्तित करता है, फ़ंक्शन के यूटीएफ -16 संस्करण को कॉल करता है (उदाहरण के लिए CreateFileW), और आउटपुट को प्रोग्राम के लिए वापस यूटीएफ -8 में परिवर्तित करता है?यूटीएफ -8 विंडोज के लिए यूटीएफ -16 एपीआई रैपर पुस्तकालयों?

यह एएससीआईआई कार्यक्रमों को लगभग यूटीएफ -8 का उपयोग लगभग निर्बाध रूप से करने की अनुमति देगा।

+4

AFAIK - नहीं, बहुत सारे विंडोज एपीआई फ़ंक्शन हैं। – valdo

+0

आप एक * ASCII * स्ट्रिंग को यूटीएफ -16 में तुच्छ रूप से परिवर्तित कर सकते हैं। – JeremyP

+0

बुलेट काटने और हर जगह विंडोज एपीआई कार्यों के यूटीएफ -16 संस्करणों का उपयोग करना शायद सबसे आसान है। यदि आप यूटीएफ -8 स्रोतों से तार आ रहे हैं, तो * उन * को लपेटना शायद आसान है। – jamesdlin

उत्तर

2

एपीआई फ़ंक्शंस को लपेटने के बजाय, स्ट्रिंग को रूपांतरण फ़ंक्शन में लपेटना आसान है। फिर आप भविष्य के सबूत होंगे जब विंडोज का अगला संस्करण अधिक एपीआई कार्यों को जोड़ता है।

+0

मैं -1 से नफरत करता हूं, लेकिन यह वास्तव में है सवाल का जवाब नहीं दे रहा है। : \ – Mehrdad

+0

@ मेहरदाद, यह आपका अधिकार है। हालांकि यह पूछे जाने वाले प्रश्न का उत्तर नहीं हो सकता है, यह * प्रश्न के पीछे समस्या का उत्तर है। –

+0

यह मानते हुए कि आपके पास स्रोत कोड तक पहुंच है। लेकिन अगर आपके पास इस तरह की लाइब्रेरी थी, तो आपको स्रोत कोड की आवश्यकता नहीं होगी - आप लाइब्रेरी को डीएलएल के रूप में संकलित कर सकते हैं और रनटाइम पर फ़ंक्शंस को रीडायरेक्ट कर सकते हैं। – Mehrdad

0

इस बात को WDL कहा जाता है, इसमें कुछ यूटीएफ -8 रैपर (win32_utf8) हैं। मैंने कभी कोशिश नहीं की है इसलिए मुझे नहीं पता कि समर्थन कितना पूरा है।

+0

ऐसा लगता है कि कुछ हद तक कार्यों (लगभग ~ 30) के लिए रैपर हैं। – Mehrdad

0

जैसा कि अन्य ने कहा, ऐसी लाइब्रेरी को व्यवहार्य बनाने के लिए बहुत सारे WinAPI फ़ंक्शंस हैं। हालांकि कोई इसे उपकरण-श्रृंखला स्तर पर या http://research.microsoft.com/en-us/projects/detours/ जैसे कुछ का उपयोग कर सकता है।

संबंधित मुद्दे