ബ്രൗസർ ഹെൽപ്പർ ഒബ്‍ജക്ട്

ഒരു ബ്രൗസർ ഹെൽപ്പർ ഒബ്‌ജക്‌റ്റ് (BHO) എന്നത് മൈക്രോസോഫ്റ്റ് ഇന്റർനെറ്റ് എക്സ്‌പ്ലോറർ വെബ് ബ്രൗസറിനായുള്ള പ്ലഗിൻ ആയി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന ഒരു ഡിഎൽഎൽ(DLL) മൊഡ്യൂളാണ്. 1997 ഒക്‌ടോബറിൽ ഇന്റർനെറ്റ് എക്‌സ്‌പ്ലോററിന്റെ പതിപ്പ് 4 പുറത്തിറക്കിയതോടെയാണ് ബിഎച്ച്ഒകൾ അവതരിപ്പിച്ചത്. ഇന്റർനെറ്റ് എക്‌സ്‌പ്ലോററിന്റെ ഓരോ പുതിയ സന്ദർഭത്തിലും മിക്ക ബിഎച്ച്ഒകളും ഒരിക്കൽ ലോഡ് ചെയ്യപ്പെടുന്നു. വിൻഡോസ് എക്സ്‌പ്ലോററിൽ, നിങ്ങൾ ഒരു പുതിയ വിൻഡോ തുറക്കുമ്പോൾ, അത് ഓരോ വിൻഡോയ്ക്കും പ്രോഗ്രാമിന്റെ പ്രത്യേകവും സ്വതന്ത്രവുമായ ഒരു ഇൻസ്റ്റൻസ് സൃഷ്ടിക്കുന്നു, അതായത് അവ തമ്മിൽ പരസ്പരം വിവരങ്ങളോ ടാസ്ക്കുകളോ പങ്കിടില്ല.

ബിഎച്ച്ഒകൾ ഇപ്പോഴും വിൻഡോസ് 10-ൽ ഇന്റർനെറ്റ് എക്സ്പ്ലോറർ 11-നെ പിന്തുണയ്‌ക്കുന്നു, അതേസമയം ബിഎച്ച്ഒകൾ മൈക്രോസോഫ്റ്റ് എഡ്ജിനെ പിന്തുണയ്‌ക്കുന്നില്ല.
നടപ്പിലാക്കൽ
ഓരോ തവണയും ഇന്റർനെറ്റ് എക്സ്പ്ലോററിന്റെ ഒരു പുതിയ ഇൻസ്റ്റൻസ് ആരംഭിക്കുമ്പോൾ, അത് കീയ്ക്കായി വിൻഡോസ് രജിസ്ട്രി പരിശോധിക്കുന്നു. ഉദാ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\Explorer\Browser Helper Objects
ഇന്റർനെറ്റ് എക്സ്പ്ലോറർ രജിസ്ട്രിയിൽ ഈ കീ കണ്ടെത്തുകയാണെങ്കിൽ, കീയ്ക്ക് താഴെ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന ഒരു സിഎൽഎസ്ഐഡി(CLSID) കീക്കായി അത് തിരയുന്നു. ബ്രൗസർ ഹെൽപ്പർ ഒബ്‌ജക്‌റ്റുകൾക്ക് കീഴിലുള്ള സിഎൽഎസ്ഐഡി കീകൾ ഏത് ബിഎച്ച്ഒകൾ ലോഡുചെയ്യണമെന്ന് ബ്രൗസറിനോട് പറയുന്നു. രജിസ്ട്രി കീ നീക്കം ചെയ്യുന്നതിലൂടെ ബിഎച്ച്ഒ ലോഡ് ചെയ്യുന്നതിൽ നിന്ന് തടയുന്നു. ഇന്റർനെറ്റ് എക്സ്പ്ലോറർ അതിന്റെ ബിഎച്ച്ഒ കീയുടെ താഴെ ലിസ്റ്റുചെയ്തിരിക്കുന്ന ബ്രൗസർ ഹെൽപ്പർ ഒബ്ജക്റ്റുകൾ (ബിഎച്ച്ഒകൾ) കണ്ടെത്താൻ സിഎൽഎസ്ഐഡി(CLSID) എന്ന് വിളിക്കപ്പെടുന്ന തനത് ഐഡന്റിഫയറുകൾ ഉപയോഗിക്കുന്നു. ആവശ്യമുള്ളപ്പോൾ, ബിഎച്ച്ഒ സമാരംഭിക്കുന്നതിന് ഇന്റർനെറ്റ് എക്സ്പ്ലോറർ "കോക്രിയേറ്റ്ഇൻസ്റ്റൻസ്(CoCreateInstance)" ഫംഗ്‌ഷൻ ഉപയോഗിക്കുന്നു, ഇത് ബ്രൗസറിന്റെ അതേ മെമ്മറി സ്‌പെയ്‌സിൽ പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കുന്നു. "ഐഒബജക്ട് വിത്ത്സൈറ്റ്(IObjectWithSite)" ഇന്റർഫേസ് നടപ്പിലാക്കുന്ന ബിഎച്ച്ഒകൾക്ക് ഇന്റർനെറ്റ് എക്സ്പ്ലോററുമായി ഇടപഴകാനും നിയന്ത്രണം ഏർപ്പെടുത്താനും കഴിയും, ബ്രൗസർ ഇവന്റുകളോട് പ്രതികരിക്കാനും അതിന്റെ സ്വഭാവത്തിൽ മാറ്റം വരുത്താനും അവരെ പ്രാപ്തരാക്കുന്നു. ഈ ബിഎച്ച്ഒകൾ കോം(COM-കോംപോണന്റ് ഒബ്‌ജക്റ്റ് മോഡൽ) പിന്തുണയ്ക്കുന്ന ഏത് പ്രോഗ്രാമിംഗ് ഭാഷയിലും വികസിപ്പിച്ചെടുക്കാൻ കഴിയും.Roberts Scott, Programming Microsoft Internet Explorer 5, Microsoft Press, 1999, 

അവലംബം