///////
//read file : n byte
//读 文件 : n 字节
DWORD ZFREADFILENBYTE (
PBYTE & z_readfilenbyte_pathfilenameextension ,
//input :
//path + file name + extension
//路径 + 文件名 + 扩展名
DWORD & z_readfilenbyte_nbytemove ,
//input :
//n byte to move
//n 字节 ,用于 移动
DWORD & z_readfilenbyte_nbytecountreadfile ,
//input :
//n byte : count : read file
//
//note :
//possible ( include : end : flag ) or ( not include : end : flag )
//n 字节 : 计数 : 读文件
//
//注意 :
//可能 ( 包括 : 结束 : 标志 ) 或者 ( 不包括 : 结束: 标志 )
PBYTE & z_readfilenbyte_nbytecontentreadfile
//output :
//n byte : content : read file
//
//note :
//possible ( include : end : flag ) or ( not include : end : flag )
//n 字节 : 内容 : 读文件
//
//注意 :
//可能 ( 包括 : 结束 : 标志 ) 或者 ( 不包括 : 结束: 标志 )
)
//read file : n byte
//读 文件 : n 字节
{
z_readfilenbyte_hfile = CreateFile (
(LPCSTR) z_readfilenbyte_pathfilenameextension ,
//zofn.lpstrFile ,
//file or device name
//文件或者设备名
GENERIC_READ ,
//request access
//请求权利
0 ,
//prevent other process from open a file
//阻止其它处理,在打开文件后
(LPSECURITY_ATTRIBUTES) NULL ,
//security attribute pointer
//安全属性指针
OPEN_EXISTING ,
//open file or device , only if exist
//打开文件或者设备,只如果存在
FILE_ATTRIBUTE_NORMAL ,
//no other attribute
//没有其它属性
(HANDLE) NULL
//( template file handle ) ( with generic read )
//( 模块文件句柄 ) ( 在读权利 )
) ;
//create or open file or i/o device
//( 创建或者打开 ) ( 文件或者输入输出设备 )
SetFilePointer (
z_readfilenbyte_hfile ,
//file handle
//文件句柄
z_readfilenbyte_nbytemove ,
//low order 32-bits to move
//???????
//(在64位中)低位的( 32位 ),用于移动
NULL ,
//high order 32-bits to move
//???????
//(在64位中)高位的( 32位 ),用于移动
FILE_BEGIN
//start point == 0
//begin of file
//开始点 == 0
//文件开始
) ;
//move file pointer
//移动文件指针
z_readfilenbyte_nbytecontentreadfile = ( BYTE * ) malloc (
z_readfilenbyte_nbytecountreadfile
//allocate byte
//分配字节
) ;
//allocate memory block
//分配记忆块
ZeroMemory (
z_readfilenbyte_nbytecontentreadfile ,
//memory block pointer
//记忆块指针
z_readfilenbyte_nbytecountreadfile
//memory block size
//记忆块大小
) ;
//fill block size to zero
//填充快大小,到值0
ReadFile (
z_readfilenbyte_hfile ,
//file handle
//文件句柄
z_readfilenbyte_nbytecontentreadfile ,
//n byte : count : read file
//
//note :
//possible ( include : end : flag ) or ( not include : end : flag )
//n 字节 : 计数 : 读文件
//
//注意 :
//可能 ( 包括 : 结束 : 标志 ) 或者 ( 不包括 : 结束: 标志 )
z_readfilenbyte_nbytecountreadfile ,
//n byte : content : read file
//
//note :
//possible ( include : end : flag ) or ( not include : end : flag )
//n 字节 : 内容 : 读文件
//
//注意 :
//可能 ( 包括 : 结束 : 标志 ) 或者 ( 不包括 : 结束: 标志 )
& z_readfilenbyte_nbytecountreceivereadfile ,
//receive number byte read when synchronous
//收到 读到的 字节 数量 ,当 同步 时
NULL
//no overlapped structure
//没有 overlapped 结构
) ;
//read file
//读文件
CloseHandle (
z_readfilenbyte_hfile
//file handle
//文件句柄
) ;
//close handle
//关闭句柄
return 0 ;
//funtion success
//函数成功
}
///////
//read file : n byte : ZFREADFILENBYTE function
//读 文件 : n 字节 : ZFREADFILENBYTE 函数
static PBYTE z_readfilenbyte_pathfilenameextension ;
//path + file name + extension
//路径 + 文件名 + 扩展名
static DWORD z_readfilenbyte_nbytemove ;
//n byte to move
//n 字节 ,用于 移动
static DWORD z_readfilenbyte_nbytecountreadfile ;
//n byte : count : read file
//
//note :
//possible ( include : end : flag ) or ( not include : end : flag )
//n 字节 : 计数 : 读文件
//
//注意 :
//可能 ( 包括 : 结束 : 标志 ) 或者 ( 不包括 : 结束: 标志 )
static PBYTE z_readfilenbyte_nbytecontentreadfile ;
//n byte : content : read file
//
//note :
//possible ( include : end : flag ) or ( not include : end : flag )
//n 字节 : 内容 : 读文件
//
//注意 :
//可能 ( 包括 : 结束 : 标志 ) 或者 ( 不包括 : 结束: 标志 )
static HANDLE z_readfilenbyte_hfile ;
//file handle
//文件 句柄
static DWORD z_readfilenbyte_nbytecountreceivereadfile ;
//receive number byte read when synchronous
//收到 读到的 字节 数量 ,当 同步 时
没有评论:
发表评论