MicrosoftWin32InternetFunctionsPurposeandBackgroundTheMicrosoft®Win32®InternetfunctionsprovideWin32-basedapplicationswitheasyaccesstocommonInternetprotocols.ThesefunctionsabstracttheInternet'sGopher,FTP(protocol),andHTTP(hypertexttransferprotocol)protocolsintoahigh-levelapplicationprogramminginterface(API)thatisfamiliartoindependentsoftwarevendors(ISVs)andsoftwaredevelopers,andthatprovidesafastandstraightforwardpathtomakingapplicationsInternet-aware.NoteInitially,theWin32InternetfunctionswillbeshippedasredistributablesindependentofoperatingsystemsthroughtheMicrosoftDeveloperNetwork(MSDN),CompuServe,andtheInternet.ISVscanredistributeWininet.dllwiththeirapplications,followingthemodelofWin32s®.Inthefuture,thefunctionsdescribedinthisdocumentationwillbefoldedintoallMicrosoftoperatingsystems.TheWin32InternetfunctionsareexportedfromWininet.dll.TheWin32InternetfunctionsfacilitateaccesstotheInternetby:·EliminatingtheneedtoembedknowledgeofTCP/IPandWindows®Sockets.ByconvertingtheInternetprotocolsintotask-orientedfunctions,applicationdevelopersdonotneedtowriteWindowsSocketscodeorbefamiliarwiththeTCP/IPprotocol.·EliminatingtheneedtoembedknowledgeofInternetprotocols.WhiletheconceptssupportedbytheInternetprotocols,suchasHTTP,aresimple,theactualimplementationoftheseprotocolscanbecomplex.Forexample,returnASCIItextlistings,butparsingtheselistingsrequiresspecificknowledgeoftheformatreturnedbyeach.ByencapsulatingthisfunctionalitywithintheInternetfunctions,directoryparsingissolvedonceforallapplicationsusingthe.Thisprovidesconsistentbehavioracrossapplications.·Providingaconstantsetoffunctionsinanenvironmentofrapidlychangingandevolvingprotocols.KeepingpacewiththechangesinInternetprotocolsisachallengewhenwritingapplications.Withthesetoffunctionsdesignedtoremainconstant,applicationdevelopersnolongerneedtoupdatetheirapplicationseverytimetheunderlyingprotocolchanges.Now,onlyWininet.dllneedstobechanged.Inaddition,advancedprotocols,suchasHTTPversion1.1,canalsobeimplementedwithoutchangingapplications.·FollowingWin32functionstandards.TheWin32InternetfunctionsaresimilartothetraditionalWin32functionsinthewaytheytreatelementssuchasbuffermanagementanderrorreturns.ApplicationdevelopersfamiliarwiththeWin32functionsetwillfindthattheWin32Internetfunctionsreturninformationinafamiliarformat.Furthermore,applicationdeveloperswillfinditeasytousethereturnedinformationinotherWin32functions.·ProvidingfullaccesstoInternetprotocols.Occasionally,applicationsneedtoaccessextendedfeaturesoftheInternetprotocols.TheWin32Internetfunctionshelpprovidethisaccess.·Enablinghigh-performance,multithreadedInternetapplications.TheWin32Internetfunctionsarefully"reentrant"andmultithreadsafe.Multithreadedapplicationscanmakesimultaneouscallsintothefunctionsfromdifferentthreadswithoutadverseeffects.TheInternetfunctionsthemselvescompleteanynecessarysynchronization.·Havingpersistentcachingsupportbuiltin.TheWin32Internetfunctionsprovidepersistentcachingforallprotocols,sotheapplicationdevelopercanconcentrateonobtainingthedataandnotworryingaboutmanagingthecache.FormoreinformationabouthowWin32InternetfunctionsusethecachefunctionstogetproperWebbehavior,seePersistentURLCacheFunctions.TheWin32InternetfunctionsareintendedtomakeInternetclientapplicationseasiertowrite;theyarenotintendedtofacilitatewritingInternetservers.Thisisbecauseserver...