DoPreUpgradeProcessing

LONG __stdcall

  DoPreUpgradeProcessing(

    IN HWND  hParentWindow,

    IN HKEY  hkeyParams,

    IN PCWSTR  szPreNT5InfId,

    IN PCWSTR  szNT5InfId,

    IN PCWSTR  szSectionName,

    OUT VENDORINFO*  pviVendorInfo,

    OUT DWORD*  pdwFlags,

    IN LPVOID  pvReserved

    );

³×Æ®¿öÅ© migration DLLÀº DoPreUpgradeProcessing ÇÔ¼ö¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. DoPreUpgradeProcessingÇÔ¼ö´Â À©µµ¿ìÁî ÀÌõ¿¡ ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ pre-upgrade ¸Å°³º¯¼ö °ªµéÀÇ ¸¶À̱׷¹ÀÌÆ®ÇÏ´Â(migratig) °ÍÀ» Áö¿øÇÑ´Ù.

¸Å°³º¯¼ö

hParentWindow
³×Æ®¿öÅ© migration DLLÀÌ Ç¥½ÃÇÏ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ À§ÇÑ ºÎ¸ð À©µµ¿ì¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à hParentWindow°¡ NULLÀ̸é, NetSetupÀÌ unattended ¸ðµå¿¡¼­ ½ÇÇàÇϰí DLLÀÌ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Ç¥½ÃÇϱâ À§ÇØ Çã¶ôÇÏÁö ¾Ê´Â´Ù.

hKeyParams
¾÷±×·¹À̵åµÇ´Â ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ pre-upgrade ¸Å°³º¯¼öµéÀ» Æ÷ÇÔÇÏ´Â ·¹Áö½ºÆ®¸® Ű¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ¿¹¸¦ µé¾î, ¸¸¾à TCP/IP°¡ ¾÷±×·¹À̵åµÇ´Â ÄÄÆ÷³ÍÆ®À̸é, ÀÌ·¯ÇÑ ÇÔ¼ö´Â HKEY_LOCAL_MACHINE\SYSTEM|CurrentControlSet\Service\Tcpip¿¡ ´ëÇÑ ÇÚµéÀ» ¸®ÅÏÇÑ´Ù.

szPreNT5InfId
¾÷±×·¹À̵åµÉ ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®¸¦ À§ÇÑ pre-Windows 2000 INF ID¸¦ ÁöÁ¤ÇÑ´Ù. szPreNT5InfId´Â ÄÄÆ÷³ÍÆ®ÀÇ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® NT 3.1 ȤÀº À©µµ¿ìÁî NT 4.0 INF ÆÄÀÏÀÌ´Ù.

szPreNT5Instance
³×Æ®¿öÅ© ¾î´ðÅͰ¡ ¾Æ´Ñ ÄÄÆ÷³ÍÆ®¸¦ À§ÇØ, szPreNT5Instance´Â ÄÄÆ÷³ÍÆ®ÀÇ ¼­ºñ½º(ÀåÄ¡ µå¶óÀ̹ö) À̸§°ú °°´Ù. ³×Æ®¿öÅ© ¾î´ðÅÍ¿¡ ´ëÇØ, szPreNT5Instance´Â ÀνºÅϽº ¼ö°¡ µÚ¿¡ ºÙ´Â ¾î´ðÅÍ ¼­ºñ½º À̸§ÀÌ´Ù. ÀνºÅϽº ¼öµéÀº ½Ã½ºÅÛ¿¡¼­ °°Àº ¾î´ðÅÍÀÇ ´ÙÁß ÀνºÅϽºµé°ú Â÷À̰¡ ÀÖ´Ù.(differentiate) ¿¹¸¦ µé¾î, adapterÀÇ °ªÀº ¾î´ðÅÍ µå¶óÀ̹öÀÇ ¼­ºñ½º À̸§(¾î´ðÅÍ)°ú ¾î´ðÅÍÀÇ ÀνºÅϽº(1)¸¦ ÁöÁ¤ÇÑ´Ù.

szNT5InfId
¾÷±×·¹À̵åµÇ´Â ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ À©µµ¿ìÁî ÀÌõ hw-id(¶ÇÇÑ ÀåÄ¡, Çϵå¿þ¾î ȤÀº ÄÄÆ÷³ÍÆ® ID·Î ¾Ë·ÁÁø)¸¦ ÁöÁ¤ÇÑ´Ù. À©µµ¿ìÁî ÀÌõ ³×Æ®¿öÅ© INF ÆÄÀϳ» hw-id´Â ÄÄÆ÷³ÍÆ®ÀÇ INF ÆÄÀÏÀÇ Models ¼½¼Ç³»¿¡ ÁöÁ¤µÈ´Ù.

szSectionName
AnswerFile³» ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ OEM ¼½¼ÇÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. szSectionName ¸Å°³º¯¼ö´Â ´ÙÀ½°ú °°Àº Æ÷¸ËÀ» °¡Áø´Ù. :

params.Windows-2000-InfID.OemSection

À̰ÍÀº Windows-2000-InfID°¡ ¾÷±×·¹À̵åµÇ´Â ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ À©µµ¿ìÁî ÀÌõ hw-idÀÌ´Ù.

³×Æ®¿öÅ© migration DLLÀº ÀÌ·¯ÇÑ ¼½¼Ç¿¡ ´ëÇÑ ÄÄÆ÷³ÍÆ® ƯÁ¤ Á¤º¸¸¦ ¾´´Ù.

pviVendorInfo
´ÙÀ½°ú °°ÀÌ Á¤ÀǵǴ VENDORINFO ±¸Á¶Ã¼·Î¼­ Æ÷¸ËµÈ º¥´õ ƯÁ¤ Á¤º¸¸¦ ÁöÁ¤ÇÑ´Ù.

   typedef struct 

   {

      WCHAR szCompanyName[256];

      WCHAR szSupportNumber[256];

      WCHAR szSupportUrl[256];

      WCHAR szInstructionToUser[1024];

   } VENDORINFO;

   
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ´ÙÀ½°ú °°Àº µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ´Ù.

szCompanyName
º¥´õÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù.

szSupportNumber
±â¼ú Áö¿øÀÇ ÀüÈ­ ¹øÈ£¸¦ ÁöÁ¤ÇÑ´Ù.

szSupportUrl
±â¼ú Áö¿øÀ» Á¦°øÇÏ´Â À¥ »çÀÌÆ® URL¸¦ ÁöÁ¤ÇÑ´Ù.

szInstructionsToUser
³×Æ®¿öÅ© migration DLL¿¡ ¼ÓÇÑ Ãß°¡ÀûÀÎ ¸í·É¾îµéÀ» ÁöÁ¤ÇÑ´Ù.

pdwFlags
0À¸·Î ÁöÁ¤Çϰųª NetSetupÀÌ Æ¯Á¤ ÇൿÀ» Çϵµ·Ï ¿ä±¸ÇÑ´Ù.

°ª ÀǹÌ
zero ¾î¶°ÇÑ ÇൿÀ» Ç϶ó°í NetSetup¿¡°Ô ¿ä±¸ÇÏÁö ¾Ê´Â´Ù.
NUA_LOAD_POST_UPGRADE NetSetup¿¡°Ô GUI ¸ðµå ¼Â¾÷µ¿¾È Upgrade DLLÀ» È£ÃâÇϵµ·Ï NetSetupÀ» ¿ä±¸ÇÑ´Ù.
NUA_REQUEST_ABORT_UPGRADE NetSetup¿¡°Ô ¾÷±×·¹À̵带 ±×¸¸µÎµçÁö °è¼ÓÇÒ °ÍÀÎÁö »ç¿ëÀÚ¿¡°Ô ¹°¾îº¸±â À§ÇØ ¸Þ½ÃÁö ¹Ú½º¸¦ Ç¥½ÃÇϵµ·Ï ¿ä±¸ÇÑ´Ù.

pvReserved
¿¹¾à

¸®Åϰª

DoPreUpgradeProcessing ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.

ERROR_SUCCESS
DoPreUpgradeProcessing ÇÔ¼ö°¡ ¼º°øÇß´Ù.

ERROR_XXX
½ÇÆÐÀÇ ÀÌÀ¯¸¦ ÁöÁ¤ÇÏ´Â Win32 ¿¡·¯ ÄÚµå. ±×·¯ÇÑ ¿¡·¯ Äڵ带 ¸®ÅÏÇÏ´Â °ÍÀº NetSetupÀÌ ¿¡·¯ ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏ°Ô ÇÏ°í ³×Æ®¿öÅ© migration DLL ÆÄÀϵéÀ» Áö¿ì°í »ç¿ëÀÚ¿¡°Ô À©µµ¿ìÁî ÀÌõ ¾÷±×·¹À̵带 ½ÇÆÐ(abort)Çϵµ·Ï promptÇÑ´Ù.

ÁÖ¼®

³×Æ®¿öÅ© ¾÷±×·¹À̵å ÇÁ·Î¼¼½ºÀÇ Winnt32 phaseµ¿¾È ³×Æ®¿öÅ© migration DLLÀÇ PreUpgradeInitialize ÇÔ¼ö¸¦ È£ÃâÇÑ ÈÄ, NetSetupÀº ¾÷±×·¹À̵åµÇ´Â °¢ ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®¸¦ À§ÇØ Çѹø DoPreUpgradeProcessing ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. DoPreUpgradeProcessing ÇÔ¼ö´Â À©µµ¿ìÁî ÀÌõÀÌ ¾÷±×·¹À̵åµÇ´Â ½Ã½ºÅÛ¿¡¼­ ÀνºÅçµÇ±â Àü¿¡ È£ÃâµÈ´Ù.

DoPreUpgradeProcessing ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº ¾î¶² °Í ȤÀº ¸ðµÎ ÇÒ ¼ö ÀÖ´Ù:

  • ·¹Áö½ºÆ®¸®·ÎºÎÅÍ ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ pre-upgrade ¸Å°³º¯¼ö °ªµéÀ» Àд´Ù.
  • ¸¸¾à unattended ¸ðµå¿¡¼­ ½ÇÇàÇÏÁö ¾Ê´Â´Ù¸é, »ç¿ëÀÚ ÀÔ·ÂÀ» ¾ò±â À§ÇØ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Ç¥½ÃÇÑ´Ù.
  • AnswerFile(Winnt.sif)¿¡ ´ëÇÑ ´Ù¸¥ ÄÄÆ÷³ÍÆ® ƯÁ¤ Á¤º¸¿Í ÇÔ²² ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ pre-upgrade ¸Å°³º¯¼öµéÀ» ¾´´Ù. NetSetup ÇÔ¼ö´Â À©µµ¿ìÁî ÀÌõ¿¡ ´ëÇÑ ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®µéÀ» migrateÇϱâ À§ÇØ À©µµ¿ìÁî ÀÌõ ¾÷±×·¹À̵åÇÏ´Â µ¿¾È AnswerFileÀ» »ç¿ëÇÑ´Ù.
  • AnswerFile³»¿¡ Àû´çÇÑ ¿£Æ®¸®µéÀ» ¸¸µêÀ¸·Î½á ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®¿Í °ü·ÃµÈ ¹ÙÀ̳ʸ® µ¥ÀÌÅ͸¦ MigrateÇÑ´Ù.
DoPreUpgradeProcessing ÇÔ¼ö´Â ¾÷±×·¹À̵åµÇ´Â ÄÄÆ÷³ÍÆ®¸¦ ÁöÁ¤Çϱâ À§ÇØ(identify) NetSetup¿¡ ÀÇÇØ Á¦°øµÈ szPreNT5Instance¿Í szNT5InfId ¸Å°³º¯¼öµéÀ» »ç¿ëÇÑ´Ù.

DoPreUpgradeProcessing ÇÔ¼ö´Â ÀüÇüÀûÀ¸·Î ·¹Áö½ºÆ®¸®·ÎºÎÅÍ ±×µéÀ» ÀÐÀ½À¸·Î½á ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ pre-upgrade ¸Å°³º¯¼ö °ªµéÀ» ¾ò´Â´Ù. DoPreUpgradeProcessing ÇÔ¼ö´Â NetSetup¿¡ ÀÇÇØ ÁöÁ¤µÈ Ű hkeyParams¾Æ·¡¼­ ÀÌ·¯ÇÑ °ªµéÀ» ¹ß°ßÇÑ´Ù.

¸¸¾à migration DLLÀº unattended mode¿¡¼­ ½ÇÇàµÇÁö ¾Ê´Â´Ù¸é, ¶ÇÇÑ hParentWindow¿¡ ÀÇÇØ ÁöÁ¤µÈ ºÎ¸ð À©µµ¿ì ¾Æ·¡¼­ pre-upgrade ½Ã½ºÅÛ ¾Æ·¡¼­ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. ºñ·Ï ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ, »ç¿ëÀÚ´Â ³×Æ®¿öÅ© migration DLLÀÌ ¾÷±×·¹À̵åµÈ ÄÄÆ÷³ÍÆ®¸¦ migrateÇÒ ÄÄÆ÷³ÍÆ® ƯÁ¤ ¸Å°³º¯¼öµéÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

DoPreUpgradeProcessing ÇÔ¼ö´Â ÀüÇüÀûÀ¸·Î AnswerFile¿¡ ´ëÇÑ ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®ÀÇ pre-upgrade ¸Å°³º¯¼ö °ªµéÀ» ¾´´Ù.

DoPreUpgradeProcessing ÇÔ¼ö´Â AnswerFile¿¡ ´ëÇÑ ´Ù¸¥ ÄÄÆ÷³ÍÆ® ƯÁ¤ ¼½¼Çµé°ú ¸¶Âù°¡Áö·Î, ÄÄÆ÷³ÍÆ®¸¦ À§ÇÑ OEM ¼½¼ÇÀ» Ãß°¡Çϱâ À§ÇØ NetUpgradeAddSection ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. DoPreUpgradeProcessing ÇÔ¼ö´Â NetSetup ÇÔ¼ö¿¡ ÀÇÇØ ÁöÁ¤µÈ OEM ¼½¼Ç À̸§(szSectionName)À» »ç¿ëÇØ¾ß ÇÑ´Ù. DoPreUpgradeProcessing ÇÔ¼ö´Â AnswerFile³» ¼¾¼Æµé¿¡ ´ëÇÑ ¿£Æ®¸®µéÀ» Ãß°¡Çϱâ À§ÇØ ¿ä±¸µÈ ¸¸Å­ ¿©·¯¹ø NetUpgradeAddLineToSection ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. AnswerFile ÆÄÀÏ¿¡ ´ëÇÑ ³×Æ®¿öÅ© migration DLL¿¡ ÀÇÇØ ¾²¿©Áø Á¤º¸´Â À©µµ¿ìÁî ÀÌõ SetupXxx ÇÔ¼öµé¿¡ ÀÇÇØ ÀÐÇôÁú ¼ö ÀÖ´Ù.(SetupXxx ÇÔ¼öµé¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸´Â Platform SDK ¹®¼­¸¦ ºÁ¶ó.)

¸¸¾à ³×Æ®¿öÅ© migration DLLÀÌ ³×Æ®¿öÅ© upgrade ÇÁ·Î¼¼½ºÀÇ GUI-mode phaseµ¿¾È ·ÎµåµÈ´Ù¸é, DoPreUpgradeProcessing ÇÔ¼ö´Â NUA_LOAD_POST_UPGRADE Ç÷¡±×¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ Ç÷¡±×´Â NetSetup¿¡°Ô GUI-¸ðµå phaseµ¿¾È migration DLLÀ» ·ÎµåÇϵµ·Ï ÇÑ´Ù.

DoPreUpgradeProcessing ÇÔ¼ö´Â ¾÷±×·¹À̵带 ¸ØÃß°Ô Çϵµ·Ï »ç¿ëÀÚ¿¡°Ô promptÇÏ´Â ¸Þ½ÃÁö ¹Ú½º¸¦ Ç¥½ÃÇϵµ·Ï NetSetup¿¡°Ô Áö½ÃÇϱâ À§ÇØ NUA_REQUEST_ABORT_UPGRADE Ç÷¡±×¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ´Â ÀÌ ¿ä±¸¸¦ overrideÇÏ°í ¾÷±×·¹À̵带 °è¼ÓÇÑ´Ù. ÀüÇüÀûÀ¸·Î, DoPreUpgradeProcessing ÇÔ¼ö´Â non-error Á¶°Ç¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¾÷±×·¹À̵å Á¾·á¸¦ ¿ä±¸Çϱâ À§ÇØ ÀÌ·¯ÇÑ Ç÷¡±×¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

¸¸¾à ¿¡·¯ Á¶°ÇÀÌ ¹ß»ýÇÑ´Ù¸é, DoPreUpgradeProcessing ÇÔ¼ö´Â ½ÇÆÐÀÇ ÀÌÀ¯¸¦ ÁöÁ¤Çϱâ À§ÇØ Win32 ¿¡·¯ Äڵ带 ¸®ÅÏÇØ¾ß ÇÑ´Ù. À̰ÍÀº NetSetup¿¡°Ô ¿¡·¯ ¸Þ½ÃÁö¸¦ Ç¥½ÃÇϵµ·Ï ÇÏ°í ³×Æ®¿öÅ© migration DLL ÆÄÀϵéÀ» Áö¿î´Ù.

DoPreUpgradeProcessing ÇÔ¼ö´Â VENDORINFO ±¸Á¶Ã¼·Î Æ÷¸ËµÈ º¥´õ Á¤º¸¸¦ °¡¸®Å°´Â NetSetup¿¡°Ô Æ÷ÀÎÅ͸¦(pviVendorInfo) Àü´ÞÇÑ´Ù. NetSetupÀº ¸¸¾à DoPostUpgradeProcessing ÇÔ¼ö°¡ Win32 error code¸¦ ¸®ÅÏÇÑ´Ù¸é ÀÌ·¯ÇÑ Á¤º¸¸¦ Ç¥½ÃÇÑ´Ù.