1.数据结构
LPVOID :一个没有类型的指针 typedef void far *LPVOID
2.windows·网络编程
INADDR_ANY :地址为0.0.0.0的地址
转换过来就是0.0.0.0,泛指本机的意思,也就是表示本机的所有IP,因为有些机子不止一块网卡,多网卡的情况下,这个就表示所有网卡ip地址的意思。
一台电脑有3块网卡,分别连接三个网络,这台电脑就有3个ip地址,某个应用程序需要监听某个端口,如果绑定某个具体的ip地址,你只能监听你所设置的ip地址所在的网卡的端口,其它两块网卡无法监听端口,如果我需要三个网卡都监听,那就需要绑定3个ip,也就等于需要管理3个套接字进行数据交换,这样会很繁琐,所以这种情况可以绑定INADDR_ANY 来监听本机所有ip端口。
OVERLAPPED:是一个包含了用于异步输入输出的信息的结构体
3.
GetTempPath函数
功能 获取为临时文件指定的路径
API中函数原形为: DWORD GetTempPath(DWORD nBufferLength, LPTSTR lpBuffer)
参数:
StrLen = GetTempPath(NAME_LEN, OutPath)
其中:
OutPath:是输出临时文件夹名称的变量,它的初始值为NAME_LEN个空格,函数调用后,就不是空格了,它会把取得的临时文件夹名称存入此变量。
NAME_LEN:是告诉函数OutPath变量的长度。
StrLen:是取得的临时文件夹名称的长度。
返回值 Long,装载到lpBuffer的字符数。如当前缓冲区的长度不够,不能容下整个路径,则返回lpBuffer需要的长度。
零表示失败。会设置GetLastError
GetTempFileName函数
这个函数包含了一个临时文件的名字,它可由应用程序使用
UINT GetTempFileName(
PChar lpPathName:; {路径}
PChar lpPrefixString:; {前缀}
UINT uUnique:; {指定生成文件名的数字,文件名将根据参数2、参数3来生成}
PChar lpTempFileName: {文件名需要的缓冲区}
) {指定生成文件名的数字,如果参数3是0,则返回文件名长度}
GetWindowsDirectory函数与GetSystemDirectory函数用法一样
GetWindowsDirectory是获取Windows文件夹的路径。GetSystemDirectory是获取systrm32文件夹的路径
下面是讲解GetSystemDirectory函数
GetSystemDirectory 函数
获取systrm32文件夹的路径。系统文件夹包含了诸如动态链接库和驱动的系统文件。
该函数最初是为了兼容问题而提供的。应用程序应该在Program File文件夹内存储代码和常驻数据。
UINT WINAPI GetSystemDirectory(
__out LPTSTR lpBuffer,
__in UINT uSize
);
参数
lpBuffer String,用于装载系统目录路径名的一个字串缓冲区。它应事先初始化成“路径”字符串的长度+1。
通常至少要为这个缓冲区分配MAX_PATH个字符的长度
nSize Long,lpBuffer字串的最大长度
返回值
如果函数成功,返回值是缓冲内容副本的长度,但该长度不包含结尾的NULL字符。如果该长度大于给定的长度,则返回值是所需的缓冲大小,且包含结尾的NULL字符。
如果函数失败,返回零值。
备注
应用程序不应该在系统目录内创建文件。如果用户运行在一个共享版本的Windows操作系统上,应用程序是不能访问系统目录的