vc 函数

 9)
SDK RegOpenKey:该函数打开指定注册键。
IMPLEMENT_SERIAL:产生有运行时访问权的动态CObject派生类的类名的必要C++ 代码继承图表的位置。该宏用于当从CObject继承一个可串行化的类时定义所需的各种函数。
DECLARE_SERJAL:宏用于声明支持串所化的类,产生一个可以被串行化的CObject派生类的必要C++头文件代码。
从文挡中读对象或将对象写入文挡中。
使用CArchive::IsLoading 或CArchive::IsStoring判断文档是载入还是存储。
CDocument::OnNewDocument:由框架调用作为FileNew命令的一部分。这个函数的默认执行是调用DeleteContents成员函数确保文档为空并标记新文档为空,重写该函数初始化新文档的数据结构。
如果用户在SDI应用程序中选择FileNew命令,框架使用该函数重新初始化现有的文档,不是创建新的。
CDocument::SetTitle:调用该函数说明文档的标题。(字符串显示在框架窗口的标题栏中)
CDocument::GetFirstViewPosition:调用该函数获得与文档关联的视列表中第一个视的位置。
CDocunment::GetNextView:调用该函数在文档的视中循环,返回由rPosition标识视的指针。
CArchive:允许以二进制形式永久的保存对象的复杂网络。
CDocument::Deletecontents:由框架调用删除文档中数据而不销毁CDocument对象自身。在该文档要被销毁之前调用,也被调用确保在重新使用前文档为空。
(Windows Sockets)   bind:该函数与套接字的本地地址相关。
在调用Connect或Listen函数之前这个函数用在一个断开的套接字上。该函数可以用来绑定面向连接(流式)或面向无连接的(数据报)套接字。当调用(Windows Sockets) Socket函数创建套接字时,它存在于一个命名空间(地址族)中但并没有给它分配名字。通过给无名套接字分配一个本地名使用Bind函数建立该套接字的本地联合。
sockaddr:该结构根据所选的协议不同而不同,除了Sa_family参数,sockaddr其它成员以网络字节序表示,sa_family必须是AF_INET。
在TCP/IP中,可以用 sockaddr_in 结构替换sockaddr,以方便填写地址信息。
Sockaddr_in:在Internet地址族中,该结构由Windows套接字使用来说明与套接字连接的本地或远程端点地址。如果该函数调用成功返回0,失败则返回SOCKET_ERROR,由WSAGetLastError返回。将IP地址指定为INADDR_ANY, 允许套接字向任何分配给本地机器的IP地址发送或接收数据。
将地址指定为INADDR_ANY, 允许一个独立应用接受发自的多个接口的回应。如果只想让套接字使用多个IP地址的一个,就必须指定实际地址,可使用inet-addr()函数,该函数需要一个指定以点分十进制格式表示IP地址的字符串做为其参数,并返回一个适合分配给S_ADDR的u_long类型的数值。inet_ntoa()函数完成相反转换,接受in_addr结构体类型参数,返回以点分十进制格式表示的IP地址字符串。
htonl:该函数将一个主机的u_long类型成员转换为TCP/IP网络字节序。
htons: 该函数将一个主机的u_Short类型成员转换为TCP/IP网络字节序。      
listen:该函数把一个套接字设置为处于监听到来的连接状态。
accept:该函数允许在套接字上接受到来的连接的请求。
send:该函数在处于已连接状态的套接字上发送数据。
recv:该函数从连接的或绑定的套接字接收数据。
closesocket:关闭现在使用的套接字。
WSADATA结构内含关于Windows套接字库信息。
WSACleannp函数终止WS2_32.DLL的使用。
recvfrom:该函数接收数据报并保存源地址。
sendto:该函数将数据发送到指定目的地。
Server:基于TCP(面向连接)的Socket编程
1、               创建套接字(socket)
2、               将套接字绑定到本地地址和端口上(bind)
3、               将套接字设为监听模式,准备接收客户请求(listen)
4、               等待客户请求到来,请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)
5、               用返回的套接字与客户端进行通信(send/recv)
6、               返回,等待另一客户请求
7、               关闭套接字
Client:
1、               创建套接字(socket)
2、               向服务器发出连接请求(connect)
3、               和服务器进行通信(send/recv)
4、               关闭套接字
基于UDP(面向无连接)Socket的编程
Server:服务器端(接收端)程序:
1、               创建套接字(Socket)
2、               将套接字绑定到一个本地地址和端口上(bind)
3、               等待接收数据(recvfrom)
4、               关闭套接字
客房端Client:(发送端)程序
1、               创建套接字(socket)
2、               向服务器发送数据(sendto)
3、               关闭套接字
(10)
AfxSocketInit:在CWinAPP::InitInstance中调用该函数初始化Windows套接字。加载套接字1.1版本。
CreateThread:该函数创建一个线程在调用线程的进程的虚拟地址空间中执行。
ThreadProc:该函数是应用程序定义的函数,用作线程的起始地址。
线程对象存在于系统中直到线程终止,通过调用CloseHandle关闭它的所有句柄。
socket:该函数创建一个与指定服务提供者绑定的套接字。
CIPAddressCtrl:提供Windows一般IP地址控件功能。
CIPAddressCtrl::GetAddress:取回IP地址控件中完整地址值。
CreateEvent:该函数创建或打开一个命名或无名事件对象。
如果为手工重置,该函数产生一个手工重置事件对象,需要使用ResetEvent函数把事件状态设置为无信号,如果为自动重置,产生一个自动重置事件对象,在单一等待线程释放后,系统自动把事件状态设置为无信号。
使用SetEvent函数将一个事件对象设置为有信号状态。
WaitForSingleObject:当指定对象处于有信号状态或超时时间到时该函数返回。
Sleep:该函数挂起当前线程的执行(最小为指定间隔)。
该函数使一个线程放弃它剩余的时间片在指定最小毫秒间隔内变为不可运行,完后线程继续运行。
InitializeCriticalSection:该函数初始化一个关键代码段对象。
在初始化关键代码段对象后,进程的线程可以在EnterCriticalSection, LeaveCriticalSection函数中说明该对象提供共享资源的互斥访问权。
使用完关键代码段后,调用DeleteCriticalSection函数。
EnterCriticalSection:该函数等待指定关键代码段对象的所有权,当调用的线程同意所有权时函数返回。
LeaveCriticalSection:该函数释放指定关键代码段对象的所有权。
WSACleanup:终止WS2_32.DLL的使用。
WSASocket:该函数创建一个与指定传送服务提供者绑定的套接字。
WSAAsyncSelect:该函数请求套接字网络事件的基于Windows消息通知。该函数用于请求当它探测到lEvent参数指定的任意网络事件时,WS2_32.DLL应该发送一条消息到hWnd窗口。
(11)
当命名的网络事件之一发生在指定套接字时,应用程序窗口hWnd接收消息wMsg。参数wParam说明套接字在哪个网络事件上发生的,lParam低字说明发生的网络事件,lParam的高字包含错误代码。
WSABUF结构可以完成数据缓冲区的创建或操作。
WSARecvFrom:接收一个数据报并保存源地址。
hostent结构由函数使用保存指定主机的信息,应用程序不能更改其内容或释放其成员。
gethostbyaddr:该函数取回与网络地址相关的主机信息。
gethostbyname:从主机数据库中取回与主机名相关的主机信息。
WSASendTo:该函数给指定目的地发送数据,在适用的地方使用重叠I/O。
OpenClipboard:打开剪切板并阻止其它应用程序更改剪切板内容,成功调用该函数后应该调用CloseClipboard函数。
EmptyClipboard:该函数清空剪切板并释放剪切板数据的句柄,
然后该函数把剪切板的所有权分配给当前打开剪切板的窗口。
GlobalAlloc:该函数从堆中分配指定数量的字节,Windows内存管理不提供独立的本地堆和全局堆。参数GMEM_MOVABCE分配可移动的内存,在物理内存中内存块不可移动,但在默认堆中可以移动,返回值为内存对象句柄。使用GlobalLock函数可以把句柄转换为指针。
GlobalLock函数锁住一个全局内存对象并返回一个指向该对象内存块第一个字节的指针。
每个内存对象的内部数据结构包括初始值为零的锁定计数,对于可移动内存对象来说,GlobalLock函数使计数加一,GlobalUnlock函数使计数减一。锁定的内存不能移动或废弃除非使用函数重新分配内存对象,锁定内容对象的内存块直到计数减为零才解除锁定,这时该内存可以移动或废弃了。
SetClipboardData:该函数把数据放在指定剪切板格式的剪切板上。
CloseClipboard:关闭剪切板。
IsClipboardFormatAvailable:该函数判断剪切板是否包含指定格式的数据。
GetClipboardData:该函数以指定格式取回剪切板的数据。
SECURITY_ATTIBUTES:该结构包含一个对象的安全描述符并说明由这个结构返回的句柄是否可继承。
CreatePipe:该函数创建一个匿名管道,返回管道的读写末端句柄。
STARTUPINFO:该结构与CreateProcess函数一起使用来说明新进程窗口工作站,桌面,标准句柄和主窗口外观。
PROCESS_INFORMATION:该结构与CreateProcess一起使用,该结构包含新创建进程和它主进程的信息,如果函数调用成功,当用完它们后,要调用CloseHandle函数关闭hProcess和hThread句柄。
ZeroMemory:该宏将一块内存填充为零。
GetStdHandlle:该函数取回标准输入,标准输出,标准错误设备的句柄。
CreateProcess:该函数创建一个新进程和它的主线程,新进程运行调用进程的安全上下文中指定的可执行文件。
(12)
WriteFile:该函数向文件指针说明的位置的文件写入数据。
重写OnInitialUpdate函数执行任何文档所需信息的一次性初始化。
CreateNamedPipe:该函数创建一个命名管道实例并返回后来管道操作的句柄。一个命名管道服务器进程使用该函数创建指定命名管道的第一个实例,并创建它的基本属性或创建已存在命名管道的一个新实例。
OVERLAPPED:该结构包含在异步或重叠输入和输出(I/O)中使用的信息。
ConnectNamedPipe:该函数使一个命名管道服务器进程等待客户进程连接到命名管道实例上,通过调用CreateFile或CallNamedPipe函数完成客户进程连接。
WaitNamedPipe:该函数等待直到超时间到或指定命名管道实例可用于连接。
CreateMailSlot:该函数创建一个指定名称的邮槽并返回一个可以用来在邮槽上执行操作的邮槽服务器句柄。
COleControl::InvalidateControl:调用该函数强迫控件重绘自身。
属性在Automation中设置。
COleControl::GetBackColor:返回值说明当前背景颜色值为OLE_COLOR值,调用TranslateColor将该值转换为COLORREF值。COleControl::GetForeColor:执行库存前景色属性的Get函数。
CDC::Setbkcolor:设置文本背景色。
COleControl::SetBackColor:设置BackColor属性值。
DECLARE_PROPPAGEID:声明OLE控件提供一个显示它的属性的属性页列表。
COleControl::BoundProperlyChange:信号通知绑定属性值已经改变。每次属性值改变后必须调用该函数,甚至在不使用属性Set方法作改动的情况下。要特别注意被影射到成员变量的绑定属性,每次该变量改变时,必须调用BoundProperlyChange函数。
AmbientUserMode: (运行时)用户模式返回非0,设计时为0。
CDocument::SetModifiedFlag:在对文档做完任何更改后调用该函数。
COleControl::SetModifiedFlag:改为控件更改状态。当作出的改动影响控件的持久状态时调用该函数。
GetForegroundWindow(void):该函数返回前景窗口句柄,即用户当前操作的窗口。
其它程序访问动态链接库函数,已经被导出的函数
查看:将DLL所在路径复制到命令提示符中,使用dumpbin vcvars32.bat
Dumpbin            -exports    *.dll
要导出函数,在DLL的函数前加_declspec(dllexport)。
名字改编
将输入库文件(.lib)和(.dll)文件复制到应用程序文件夹中,不包含实际代码,为链接提供信息,以便在可执行文件(.exe)中建立动态连接时要用到的重定位表
输入信息:
Dumpbin    imports   *.exe
调试MFC42D.DLL 发布MFC42.DLL
VS6.0 Depcodency Wacker查看依赖哪些DLL
_declspec (dllimport)包含在头文件中说明从*.lib中引入的函数,供给调用动态连接库的客户端服务,也可为DLL自身使用加入。
#ifdef DLL1_API
#else
#define DLL1_API _declspec(dllimport)
#enelif
DLL源程序中:#define DLL1_API _declspec(dllimport)
如只想导出类的一个函数,将DLL1_API放在函数前
对不同编译器,输出函数名不要改变,
#define Dll1_API
Exten   “C” _delspec(dllimport)
Extern   “C”不能导出类成员函数,只能导出全局函数.
_stdcall标准调用约定,默认为C调用约定。
为Delphi访问时, 用模块定义文件解决名字改编问题 (.def)加入到项目中。
LIBRARY   DLL2指定动态链接库内部名称
EXPORTS隐式链接表示连动本链接库中导出哪些函数,为这些函数指出的符号名
动态加载:Load Library得到导出函数地址: GetProcAddress
Typedef定义类型
(DLIMAIN)
FreeLibrary不需要访问动态链接库时调用。
CRuntimeClass:每个从CObject派生出的类都与一个CRuntimeClass结构相关,该结构可以用来获得关于运行时一个对象或它的基类的信息。当需要对函数参数的额外类型检查时判断一个对象是否在运行时类很重要。该结构提供相关C++对象的信息,例如指向基类的CRuntimeClass的指针及相关类的ASCII类名。该结构也执行能用来动态创建对象、使用常见名说明对象类型及判断相关类是否从指定类派生而来的各种函数。
CCreateContext:框架调用该结构当它创建框架窗口和与文档相关的视时。创建窗口时,该结构的值提供用于连接构成文档的部件和视的数据。该结构包含指向文档、框架窗口、视和文档模板的指针,还包含指向标识创建视类型的CRuntimeClass结构的指针。运行时类信息和当前文档指针用来动态创建一个新的视。
STATIC_DOWNCAST:该宏将pObject影射成指向class_name对象的指针。
CreateView:调用该函数在框架内创建视。
SetWindowHookEx:该函数把一个应用程序定义的hook安装到hook链中(放在前面)。应该按装一个hook过程监视系统中确定类型的事件。这些事件可与一个特定线程或相同桌面下调用县城的所有线程相关。要屏蔽所有线程的消息,在动态链接库中实现hook编码。
GetCurrentTreadID:返回当前线程ID。
CallNextHookEx:该函数在当前hook链的下一个hook过程中传递hook消息。
UnhookWindowsHookEx:该函数删除由SetWindowHookEx函数安装在hook链中的一个hook过程。
GetModuleHandle: 如果该文件应经被影射到调用线程的地址空间后,该函数取回指定实例的实例句柄。返回句柄不是全局的或可继承的,不能被复制或被其它线程访问。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值