À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   Service Ãß°¡ 1998/07/20 (21:23)
À̸§ ±èÈ¿¿ø
¹øÈ£ 36
Á¶È¸ 413
º»¹® SCM Database¿¡ Service Ãß°¡Çϱâ

        dwDesiredAccess¸¦ SC_MANAGER_CREATE_SERVICE·Î ÁöÁ¤ÇÑ ´ÙÀ½
        OpenSCManager¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.
        ±×¸®°í, CreateService¸¦ È£Ãâ

        SC_HANDLE_OpenScManager(
        LPCTSTR lpMachineName,
        LPCTSTR lpDatabaseName,
        DWORD dwDesiredAccess);

        lpMachineName = NULL --> °°Àº ±â°è
        lpDatabaseName : SERVICES_ACTIVE_DATA or NULL
        dwDesiredAccess : SCM Database·Î ¾î¶² ÀÛ¾÷À» ÇÒÁö
        --> SC_MANAGER_ALL_ACCESS : ¸ðµç ±â´É »ç¿ë
        --> SC_MANAGER_CONNECT : ¿¬°áÀ» Çã¿ëÇÏ¸ç ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÏÁö
        ¾Ê¾Æµµ Ç×»ó ¼±ÅÃ
        --> SC_MANAGER_CREATE_SERVICE : ¼­ºñ½º Ãß°¡
        --> SC_MANAGER_FNUMERATE_SERVICE : ¼­ºñ½º ¸ñ·ÏÀ» ¾ò±â À§ÇØ
        --> SC_MANAGER_LOCK : ´õÀÌ»ó ¼­ºñ½º°¡ ½ÃÀÛµÇÁö ¾Êµµ·Ï
        µ¥ÀÌŸº£À̽º¸¦ ÁßÁö
        --> SC_MANAGER_QUERY_LOCK_STATUS : »ç¿ëÀÚ°¡ SCM DB¸¦
        Àá±É´ÂÁö ¾Ë±â À§ÇØ


        BOOL CloseServiceHandle(SC_HANDLE hSCManager);
        : SCM DB¿¡ ´ëÇÑ Á¢±ÙÀÌ ¸ðµÎ ³¡³ª¸é ÇÚµéÀ» ´Ý¾Æ¾ß ÇÔ.

        SC_HANDLE CreateService(
        SC_HANDLE hSCManager,
        LPCTSTR lpServiceName,
        LPCTSTR lpDisplayName,
        DWORD dwDesiredAccess,
        DWORD dwServiceType,
        DWORD dwStartType,
        DWORD dwErrorControl,
        LPCTSTR lpBinaryPathName,
        LPCTSTR lpLoadOrderGroup,
        LPDWORD lpdwTagId,
        LPCTSTR lpDependencies,
        LPCTSTR lpServiceStartName,
        LPCTSTR lpPassword);


        --> hSCManager : OpenSCManager°¡ ¹ÝȯÇÑ ÇÚµé
        --> lpServiceName : internal name
        : SCMÀÌ registry¿¡ service informationÀ» ÀúÀåÇϱâ À§ÇØ »ç¿ë
        : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\???
        --> lpDisplayName : display name
        --> dwDesiredAccess
        --> dwServiceType : ±× ½ÇÇàÆÄÀÏ ³»ºÎ¿¡ ¾ó¸¶³ª ¸¹Àº ¼­ºñ½º°¡ Æ÷ÇԵǾî
        ÀÖ´ÂÁö¸¦ ¾Ë·ÁÁÜ
        : ÇϳªÀÇ ¼­ºñ½º¸¸ Æ÷ÇÔ --> SERVICE_WIN32_OWN_PROCESS
        : µÎ °³ ÀÌ»ó --> SERVICE_WIN32_SHARE_PROCESS
        : ÇÁ·Î¼¼½º ³»ÀÇ ¼­ºñ½º°¡ »ç¿ëÀÚÀÇ µ¥½ºÅ©Å¾°ú »óÈ£ÀÛ¿ëÇϱ⸦
        ¿øÇÑ´Ù¸é
        : --> SERVICE_INTERACTIVE_PROCESS flag¸¦ Ãß°¡
        --> dwStartType : ¼­ºñ½º°¡ ½ÃÀÛÇÒ ¶§¸¦ ½Ã½ºÅÛ¿¡ ¾Ë·ÁÁÜ
        : SERVICE_AUTO_START : ºÎÆõɶ§ ÀÚµ¿À¸·Î ½ÃÀÛ
        : SERVICE_DEMAND_START : ´Ù¸¥ ¼­ºñ½º°¡ ¸ÕÀú ½ÃÀÛµÇ¾ß Çϰųª,
        ¼öµ¿À¸·Î ½ÃÀÛ
        : SERVICE_DISABLED --> ½Ã½ºÅÛÀÌ ¼­ºñ½º¸¦ ½ÃÀÛÇÒ ¼ö ¾øµµ·Ï ÇÔ.
        --> dwErrorControl : ¼­ºñ½º ½ÃÀÛÀÌ ½ÇÆÐÇßÀ» ¶§
        : SERVICE_ERROR_IGNORE --> À̺¥Æ® ·Î±×¿¡ ±â·Ï
        : SERVICE_ERROR_NORMAL --> À̺¥Æ® ·Î±×¿¡ ±â·Ï, ¿¡·¯ ¸Þ½ÃÁö
        »óÀÚ¸¦ Ç¥½Ã
        : SERVICE_ERROR_SERVERE --> ½ÇÆнà ½ÃÀÛ ÀÛ¾÷ Áß´Ü
        : SERVICE_ERROR_CRITICAL --> ½ÇÆнà ½ÃÀÛ ÀÛ¾÷ Áß´Ü
        --> lpBinaryPathName : ¼­ºñ½º°¡ Æ÷ÇÔµÈ ½ÇÇà È­ÀÏÀÇ Àüü °æ·Î
        : %SystemRoot%\system32 (´ëºÎºÐ)
        --> lpLoadOrderGroup --> ¹Ì¸® Á¤ÀÇµÈ ±×·ìÁßÀÇ Çϳª
        : ¾îµð¿¡µµ ¼ÓÇÏÁö ¾ÊÀ¸¸é(´ëºÎºÐ) NULL
        --> lpwTagId : Ç×»ó NULL
        --> lpDependencies : ¾î¶² ¼­ºñ½º°¡ ÀÚ½ÅÀÇ ¼­ºñ½º¿¡ Á¾¼ÓÀûÀÎÁö¸¦
        ¾Ë·ÁÁÜ.
        : Á¾¼Ó¼ºÀÌ ¾ø´Ù¸é NULL
        --> lpServiceStartName : °èÁ¤À» ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÜ.
        : ½Ã½ºÅÛ°èÁ¤ÀÌ ¼­ºñ½º¸¦ ½ÇÇàÇÏ·Á¸é(´ëºÎºÐ) NULL
        --> lpPassword
        : ½Ã½ºÅÛ°èÁ¤ÀÌ ¼­ºñ½º¸¦ ½ÇÇàÇÏ·Á¸é(´ëºÎºÐ) NULL


        CreateService()°¡ ¼º°øÇϸé 0ÀÌ ¾Æ´Ñ Çڵ鰪 ¹Ýȯ
        ½ÇÆÐÇÏ´Â ´ëºÎºÐÀÇ °æ¿ì
        : OpenSCManager°¡ ¹ÝȯÇÑ ÇÚµéÀÌ SC_MANAGER_CREATE_SERVICE
        Á¢±Ù ±â´ÉÀ» °®Áö ¾Ê°í ÀÖ´Ù.
        : »õ ¼­ºñ½º°¡ ±âÁ¸ ¼­ºñ½º¿Í »óÈ£ Á¾¼ÓÀûÀÌ´Ù.
        : °°Àº display nameÀ» °¡Áø ¼­ºñ½º°¡ Á¸ÀçÇÑ´Ù.
        : ÁöÁ¤ÇÑ ¼­ºñ½º À̸§ÀÌ À߸øµÇ¾ú´Ù.
        : ¸Å°³ º¯¼ö°¡ À߸øµÇ¾ú´Ù.
        : ÁöÁ¤ÇÑ »ç¿ëÀÚ °èÁ¤ÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.


HomePage Backward Forward Post Reply List
1998 by swindler