3.内核对象

1.内核对象的生命周期可能长于创建它的那个进程。

2.关注返回值是NULL 或者INVALID_HANDLE_VALUE等。(例如CreateMutex() 和 CreateFile())

 3.识别是否是内核对象还是用户/GDI对象,就看参数中有没有PSECURITY_ATTRIBUTES.

=》后面云里雾里。没有走出来,待后续补。

 1 /********************************************************************
 2     created:    2020/07/07   16:28
 3     filename:     H:\2020-2021\Windows核心编程\Windows核心编程\3.内核对象\3.内核对象.cpp
 4     file base:    3.内核对象
 5     author:        大海
 6     
 7     purpose:    Practice makes perfect.
 8 *********************************************************************/
 9  
10 #include "resource.h"
11 #include <windows.h>
12 INT_PTR CALLBACK Dlg_Proc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) {
13     
14     switch (uMsg)
15     {
16     case WM_CLOSE:
17         PostQuitMessage(0);
18         break;
19     case WM_INITDIALOG:
20         
21 
22 
23         break;
24     default:
25         break;
26     }
27 
28     return FALSE;
29 }
30 
31 
32 int WINAPI WinMain(_In_ HINSTANCE hInstance,_In_opt_ HINSTANCE hPrevInstance,_In_ LPSTR lpCmdLine,_In_ int nShowCmd) {
33 
34     DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG_MAIN),NULL,Dlg_Proc);
35 
36     //若要创建能继承的句柄,父进程必须指定一个SECURITY_ATTRIBUTES结构并对它进行初始化
37     SECURITY_ATTRIBUTES sa;
38     sa.nLength = sizeof(sa);
39     sa.lpSecurityDescriptor = NULL;
40     sa.bInheritHandle = TRUE;
41 
42 
43 
44 
45 
46     return 0;
47 }

 

posted @ 2020-07-07 19:36  a1094426901  阅读(70)  评论(0)    收藏  举报