CreatePipe函数「建议收藏」

发布时间:2025-12-09 13:39:37 浏览次数:5

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// 用于复制文件句柄 );
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477