Tham khảo tài liệu 'manual programming experience handbook part 153', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Hình . Biểu đồ luồng dữ liệu mức dưới đỉnh giải thích chức năng 2 Thu nợ Mã bảo vệ chương trình không bị End Task trong Windows Đoạn code sau đây sử dụng các tính năng sercurity object trên Win2K XP. Một process cần được bảo vệ sẽ được tạo ra với quyền truy cập được hạn chế bằng cách đặt thuộc tính SECURITY_ATTRIBUTES trong khi gọi hàn CreateProcess để tạo process được bảo vệ Tham khảo trong MSDN Platform SDK Access Control 8 Code Defines the entry point for the application. include include include include BOOL CreateProtectedProcess LPCTSTR lpApplicationName name of executable module LPTSTR IpCommandLine DWORD dwCreationFlags command line string creation flags int APIENTRY WinMain HINSTANCE hInstance HINSTANCE hPrevInstance LPSTR lpCmdLine int nCmdShow CreateProtectedProcess c winnt system3 2 calc. exe return 0 NULL 0 BOOL CreateProtectedProcess LPCTSTR IpApplicationName LPTSTR lpCommandLine DWORD dwCreationFlags DWORD dwRes PSID pEveryoneSID NULL pAdminSID NULL PACL pACL NULL PSECURITY_DESCRIPTOR pSD NULL EXPLICIT_ACCESS ea 2 SID_IDENTIFIER_AUTHORITY SIDAuthWorld SECURITY_WORLD_SID_AUTHORITY SID_IDENTIFIER_AUTHORITY SIDAuthNT SECURITY_NT_AUTHORITY SECURITY_ATTRIBUTES sa name of executable module command line string creation flags Create a well-known SID for the Everyone group. if AllocateAndInitializeSid SIDAuthWorld 1 SECURITY_WORLD_RID 0 0 0 0 0 0 0 pEveryoneSID return FALSE II Initialize an EXPLICIT_ACCESS structure for an ACE. The ACE will allow Everyone read access to the object. ZeroMemory ea 2 sizeof EXPLICIT_ACCESS ea 0 .grfAccessPermissions GENERIC_READ ea 0 .grfAccessMode DENY_ACCESS ea 0 .grfInheritance NO_INHERITANCE ea 0 . TRUSTEE_IS_SID ea 0 . TRUSTEE_IS_WELL_KNOWN_GROUP ea 0 . LPTSTR pEveryoneSID Create a SID for the BUILTIN Administrators group. if AllocateAndInitializeSid SIDAuthNT 2 SECURITY_BUILTIN_DOMAIN_RID DOMAIN_ALIAS_RID_ADMINS 0