ชุดคำสั่งWinMainจับทั้งการติดตั้ง เป็นดีเป็น deregistration และการถอนการติดตั้งและลงทะเบียน เมื่อเรียกใช้บริการWinMainเรียกCServiceModule::Start?
CServiceModule::Startตั้งค่าอาร์เรย์ของโครงสร้างSERVICE_TABLE_ENTRYซึ่งแต่ละบริการของฟังก์ชันการเริ่มต้นระบบ อาร์เรย์นี้แล้วส่งผ่านไปยังฟังก์ชัน Win32 API, StartServiceCtrlDispatcher ในทฤษฎี EXE หนึ่งไม่สามารถจัดการบริการหลาย และอาร์เรย์สามารถมีหลายSERVICE_TABLE_ENTRYโครงสร้าง ในปัจจุบัน อย่างไรก็ตาม การบริการที่สร้าง ATL สนับสนุนบริการเดียวต่อ EXE ดังนั้น อาร์เรย์มีรายการเดี่ยวที่ประกอบด้วยชื่อบริการและ_ServiceNameเป็นฟังก์ชันการเริ่มต้นระบบ _ServiceNameคือฟังก์ชันคงสมาชิกของCServiceModuleที่เรียกฟังก์ชันคงไม่ใช่สมาชิกServiceName?
หมายเหตุnbsp ความล้มเหลวของStartServiceCtrlDispatcherเพื่อเชื่อมต่อกับ service control manager (SCM) คงหมายความ ว่า โปรแกรมจะไม่ทำงานเป็นบริการ ในกรณีนี้ โปรแกรมเรียกCServiceModule::Runโดยตรงเพื่อให้โปรแกรมสามารถทำงานเป็นเซิร์ฟเวอร์ภายใน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเรียกใช้โปรแกรมในเครื่องเซิร์ฟเวอร์ ดูเคล็ดลับการตรวจแก้จุดบกพร่อง(&N)?