פֿאַר וואָס אַן אַלטער WinINet פּראָקסי העלפּער צעברעכט זיך אין אַ 64-ביט בו
דערקענט פּוינטער־אָפּשניידונג אין C# פּראָקסי interop ביישפּילן און באַקוקט די סטרוקטור־אויסלייג און זכּרון־אייגנטום פֿאַר איר ניצט זיי ווידער.
איין cast קען פֿאַרוואַנדלען אַ פּשוט אויסזעענדיקן פּראָקסי־איינשטעלונג העלפּער אין אַ אַרכיטעקטור־אָפּהענגיקן דורכפֿאַל:
current = (IntPtr)((int)current + optionSize);
דער קאָד פֿאַרשמעלערט אַ נאַטיוון אַדרעס צו אַ 32-ביט גאַנצע צאָל, איידער ער לייגט צו די גרייס פֿון דער נעקסטער סטרוקטור. אַ 64-ביט פּראָצעס קען האַלטן אַדרעסן וואָס פּאַסן נישט. באַשטימט לויט דער קאָנווערסיע און דעם ווערט קען דער רעזולטאַט זיין אַן איבערפֿלוס־אויסנאַם אָדער אַן אומגילטיק אַדרעס. צוריקשטעלן דעם בו צו x86 קען באַהאַלטן דעם טעות, אָבער עס לאָזט די interop־פֿאַרקערונג אָפּהענגיק פֿון יענער אַרומגאַנג.
האַלט אַדרעסן אין פּוינטער־גרייס. למשל, אַריבערצוגיין אַ שוין צוגעטיילטער ריי קען מען ניצן:
IntPtr item = IntPtr.Add(buffer, checked(index * optionSize));
דער אָפּזאַץ בלײַבט אַ גאַנצע צאָל; דער אַדרעס אַליין ווערט נישט דורכגעקוועטשט דורך איין. די צוטיילונג־גרייס און דער אינדעקס מוזן נאָך זיין גילטיק.
דערנאָך באַקוקט די דעקלאַראַציעס אַרום
די WinINet־אָפּציעס פּער פֿאַרבינדונג אַנטהאַלטן אַ פֿאַראייניקונג וואָס אירע מיטגלידער אַנטהאַלטן אַ DWORD, אַ סטרינג־פּוינטער און אַ FILETIME. פּוינטער־פֿעלדער דאַרפֿן IntPtr; DWORD־פֿעלדער בלײַבן 32-ביט. נאַטיווער אויסגלייך איז וויכטיק, דערפֿאַר איז דערפֿאַרזעצן יעדע גאַנצע צאָל מיט אַ 64-ביט גאַנצער צאָל אָדער אויפֿצווינגען אַ פּאַקירטן אויסלייג נישט קיין געזונטער תיקון.
ניצט די סטרוקטור־גרייס נאָך marshaling ווען איר גייט דורך דער ריי, שטעלט צונויפֿ די ANSI אָדער Unicode דעקלאַראַציע קעגנצייַטיק, און פֿאָלגט נאָך יעדער צוטיילונג באַזונדער. באַפֿרייען דעם בלאָק פֿון אָפּציע־סטרוקטורן באַפֿרײַט נישט אויטאָמאַטיש סטרינגס וואָס זענען צוגעטיילט ערגעץ אַנדערש און ווערן באַצויגן פֿון די סטרוקטורן.
צום סוף, האַלט די פֿראַגע פֿון דער איינשטעלונג־אַרומנעם באַזונדער פֿון זכּרון־ריכטיקייט. פֿאַרריכטן אַ cast באַווײַזט נישט אַז די אויסגעקליבענע WinINet־אָפּציע באַפּֿלוסט בלויז איין קאָנטראָל, איין פּראָצעס אָדער די איינשטעלונגען פֿון דעם איצטיקן באַניצער. פּרוּווט דאָס API־פֿאַרהאַלטן איידער איר נעמט אָן דעם רעשט פֿון אַן אַלטן ביישפּיל. אויב עס שיקט אויך דערפֿרישונג־מעלדונגען, קלייבט זיי פֿאַר דעם געמיינטן אַרומנעם.