ஒரு காஸ்ட் சாதாரணமாகத் தெரியும் ப்ராக்ஸி-அமைப்புகள் உதவியாளரை கட்டமைப்பைச் சார்ந்த தோல்வியாக மாற்றலாம்:

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 அறிவிப்பை தொடர்ந்து பொருத்துங்கள், ஒவ்வொரு ஒதுக்கீட்டையும் தனித்தனியாகக் கண்காணியுங்கள். விருப்ப அமைப்புகளின் தொகுதியை விடுவிப்பது வேறெங்கு ஒதுக்கப்பட்டு அந்த அமைப்புகளால் குறிப்பிடப்படும் சரங்களை தானாக விடுவிக்காது.

இறுதியாக, அமைப்புகளின் எல்லை என்ற கேள்வியை நினைவகச் சரியான தன்மையிலிருந்து பிரித்து வையுங்கள். காஸ்டைச் சரிசெய்வது உதவியாளர் தேர்ந்தெடுத்த WinINet விருப்பம் ஒரு கட்டுப்பாடு, ஒரு செயல்முறை அல்லது தற்போதைய பயனரின் அமைப்புகளை மட்டுமே பாதிக்கிறது என்பதை நிரூபிக்காது. பழைய மாதிரியின் மீதமுள்ள பகுதியை ஏற்கும் முன் அந்த API நடத்தையைச் சரிபாருங்கள். அது புதுப்பிப்பு அறிவிப்புகளையும் அனுப்பினால், அவற்றை நோக்கமான எல்லைக்குத் தேர்ந்தெடுங்கள்.

தொடர்புடைய கட்டுரைகள்