大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
CreatePipe()函数原型
BOOL CreatePipe(
PHANDLE hReadPipe; //指向管道读句柄
PHANDLE hWritePipe; //指向管道写句柄
LPSECURITY_ATTRIBUTES lpPipeAttributes; //指向管道安全属性
DWORD nSize; //管道大小
)
SECURITY_ATTRIBUTES结构体
typedef struct _SECURITY_ATTRIBUTES
{
DWORD nLength; //结构体大小,可用sizeof取得
LPVOID lpSecurityDescriptor;
/*指向一个对象的安全描述符,该安全描述符控制对象的共享, 如果为NULL,则该对象调用进程默认的安全描述符*/
BOOL bInheritHandle; //能否被新创建的进程继承返回的句柄,若为TRUE则新进程继承该句柄
};
BOOL ReadFile(
HANDLE hFile; //读文件的句柄
LPVOID lpBuffer; //指向从文件存取数据的缓冲区的指针
DWORD nNumberOfBytesToRead; //要从文件读的字节数目
LPDWORD nNumberOfBytesRead; //一个指向读字节数的指针,存放实际从文件读的字节数目
LPOVERLAPPED lpOverLapped;
/*指向一个OVERLAPPED结构体的指针,若用FILE_FLAGOVERLAPPED打开 hFile句柄文件,则它必须指向OVERLAPPED结构体,否则,赋值为NULL*/
)
while(feof(pfile))
{
char s = fgetc(pfile);
printf("%c",s);
}
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
//线程函数体
}
WaitForSingleObiect
(
HANDLE hHandle;//等待对象句柄,可以指一系列对象,Event,Process,Thread,Semaphore等
DWORD dwMilliseconds;
//等待时间,若为INFINITE则表示一直等待,线程被挂起,
//直到所指对象变为有信号状态;若为0表示函数立即返回
)
WAIT_ABANDONED,当对象为mutex时,若拥有mutex的线程在结束时没有释放核心对象,则会返回该值;
HANDLE WINAPI CreateNamedPipe(
LPCTSTR lpName, //pipe name
DWORD dwOpenMode, //pipe open mode
DWORD dwPipeMode, //pipe-specific modes
DWORD nMaxInstances, //maximum number of instances
DWORD nOutBufferSize, //output buffer size
DWORD nInBufferSize, //input buffer size
DWORD nDefaultTimeOut, //time-out interval
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
HANDLE CreateFile(
LPCSTR lpFileName,//指向文件名的指针
DWORD dwDesiredAccess,// 访问模式(写 / 读)
DWORD dwShareMode,// 共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes,// 指向安全属性的指针
DWORD dwCreationDisposition,// 如何创建
DWORD dwFlagsAndAttributes, // 文件属性
HANDLE hTemplateFile// 用于复制文件句柄
);
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159407.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...