资源简介
此驱动软件能够运行,
1.配置VC6.0+DDK+Driver Studio3.2驱动开发环境进行开发,
2.通过DebugView软件观测和调试,
3.通过添加打印机 从硬盘添加 通过.inf文件进行开发,控制面板打印机界面就会增加相关驱动和图标,功能还需要再此基础上进一步开发。
4.通过driverstdio的build.exe进行编译,在同级i386文件夹下生成相关.dll文件。
5.不用每次改写代码后重新安装打印机,只需将 *.dll替换到系统驱动目录下即可。
代码片段和文件信息
#include “stdafx.h“
#include
#include
#include
#include
#include
#include “md5lib.h“
#pragma warning(disable:4267)
/* MD5 initialization. Begins an MD5 operation writing a new context.
*/
void MD5Init (MD5_CTX *context)
/* context */
{
context->count[0] = context->count[1] = 0;
/* Load magic initialization constants.*/
context->state[0] = 0x67452301;
context->state[1] = 0xefcdab89;
context->state[2] = 0x98badcfe;
context->state[3] = 0x10325476;
}
/* MD5 block update operation. Continues an MD5 message-digest
operation processing another message block and updating the
context.
*/
void MD5Update (MD5_CTX *context unsigned char *input unsigned int inputLen)
/* context */
/* input block */
/* length of input block */
{
unsigned int i index partLen;
/* Compute number of bytes mod 64 */
index = (unsigned int)((context->count[0] >> 3) & 0x3F);
/* Update number of bits */
if ((context->count[0] += ((UINT4)inputLen << 3)) < ((UINT4)inputLen << 3))
context->count[1]++;
context->count[1] += ((UINT4)inputLen >> 29);
partLen = 64 - index;
/* Transform as many times as possible. */
if (inputLen >= partLen) {
MD5_memcpy((POINTER)&context->buffer[index] (POINTER)input partLen);
MD5Transform(context->state context->buffer);
for (i = partLen; i + 63 < inputLen; i += 64)
MD5Transform(context->state &input[i]);
index = 0;
}
else
i = 0;
/* Buffer remaining input */
MD5_memcpy((POINTER)&context->buffer[index] (POINTER)&input[i] inputLen-i);
}
/* MD5 finalization. Ends an MD5 message-digest operation writing the
the message digest and zeroizing the context.
*/
void MD5Final (unsigned char digest[16] MD5_CTX *context)
/* message digest */
/* context */
{
unsigned char bits[8];
unsigned int index padLen;
/* Save number of bits */
Encode (bits context->count 8);
/* Pad out to 56 mod 64. */
index = (unsigned int)((context->count[0] >> 3) & 0x3f);
padLen = (index < 56) ? (56 - index) : (120 - index);
MD5Update (context(unsigned char*) PADDING padLen);
/* Append length (before padding) */
MD5Update (context bits 8);
/* Store state in digest */
Encode (digest context->state 16);
/* Zeroize sensitive information. */
MD5_memset ((POINTER)context 0 sizeof (*context));
}
/* MD5 basic transformation. Transforms state based on block.
*/
static void MD5Transform (UINT4 state[4] unsigned char block[64])
{
UINT4 a = state[0] b = state[1] c = state[2] d = state[3] x[16];
Decode (x block 64);
/* Round 1 */
FF (a b c d x[ 0] S11 0xd76aa478); /* 1 */
FF (d a b c x[ 1] S12 0xe8c7b756); /* 2 */
FF (c d a b x[ 2] S13 0x242070db); /* 3 */
FF (b c d a x[ 3] S14 0xc1bdceee); /* 4 */
FF (a b c d x[ 4] S11 0xf57c0faf); /* 5 */
FF (d a b c x[ 5] S12 0x4787c62a); /* 6 */
FF (c d a b x[ 6] S13 0x
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-04-12 21:45 TSprinter\
目录 0 2010-04-12 18:53 TSprinter\Pub\
目录 0 2010-04-12 18:53 TSprinter\Pub\LiteZip\
目录 0 2010-04-12 18:53 TSprinter\Pub\LiteZip\CVS\
文件 97 2008-01-09 19:09 TSprinter\Pub\LiteZip\CVS\Entries
文件 52 2008-01-09 19:09 TSprinter\Pub\LiteZip\CVS\Entries.Extra
文件 13 2008-01-09 19:09 TSprinter\Pub\LiteZip\CVS\Repository
文件 33 2008-01-09 19:09 TSprinter\Pub\LiteZip\CVS\Root
文件 137342 2008-01-09 18:59 TSprinter\Pub\LiteZip\LiteZip.c
文件 7848 2008-01-09 18:59 TSprinter\Pub\LiteZip\LiteZip.h
文件 102 2009-06-25 11:33 TSprinter\Pub\LiteZip\vssver2.scc
目录 0 2010-04-12 18:53 TSprinter\Pub\encrypt\
文件 13193 2009-03-20 14:52 TSprinter\Pub\encrypt\md5lib.cpp
文件 4168 2009-02-18 15:31 TSprinter\Pub\encrypt\md5lib.h
文件 102 2009-06-25 11:33 TSprinter\Pub\encrypt\vssver2.scc
目录 0 2010-04-12 18:53 TSprinter\Pub\global\
文件 19724 2009-02-18 16:48 TSprinter\Pub\global\DISKID32.cpp
文件 6463 2009-03-20 14:41 TSprinter\Pub\global\Global.cpp
文件 7265 2009-08-26 19:29 TSprinter\Pub\global\Global.h
文件 2561 2009-03-31 16:00 TSprinter\Pub\global\HD.cpp
文件 118 2009-03-31 16:00 TSprinter\Pub\global\HD.h
文件 4800 2008-05-09 10:49 TSprinter\Pub\global\Pipe.h
文件 6613 2009-02-18 15:54 TSprinter\Pub\global\diskid32.h
文件 30941 2008-01-09 18:59 TSprinter\Pub\global\diskid32_old.h
文件 8051 2009-02-18 16:53 TSprinter\Pub\global\regist.cpp
文件 2003 2008-08-14 18:08 TSprinter\Pub\global\regist.h
文件 335 2009-06-25 11:33 TSprinter\Pub\global\vssver2.scc
目录 0 2010-04-12 18:53 TSprinter\Pub\zlib\
目录 0 2010-04-12 18:53 TSprinter\Pub\zlib\CVS\
文件 1165 2008-01-09 19:09 TSprinter\Pub\zlib\CVS\Entries
文件 637 2008-01-09 19:09 TSprinter\Pub\zlib\CVS\Entries.Extra
............此处省略84个文件信息
- 上一篇:jpeg图片解码灰度二值化c语言实现
- 下一篇:MFC位图定时移动
相关资源
- 用C++写的中国象棋游戏
- 文本编辑器(报告+源代码) MFC VC 数
- 微软官网的VC++2010免费的学生版
- 图像去雾代码集合
- 简单黑白棋VC++实现
- 基于vc++的正弦余弦信号发生器
- VC++科学计算器源代码
- 小球运动vc++程序
- VC++UDP网络聊天程序
- vcredist_x86.rar
- 简单的vc++实现winsock点对点通信
- VC计算器 用VC++设计一个计算器,功能
- DDE server VC++
- 孙鑫VC++深入详解教程(全20讲)PPT讲
- vc++2008 速成版
- FTP客户端VC实现
- 用OpenGL实现球面纹理
- DEV C++ 5.0 官方原版
- VC++ 大鱼吃小鱼游戏源码
- 宾馆酒店管理系统 源代码vc加SQL编写
- VC++操作excel程序
- 矩阵运算程序VC++矩阵运算程序
- 工资管理系统源代码(包含数据库m
- 基于VC++实现的人脸检测
- win32 VC++ 合并 exe 和 Dll..
- VC MFC之图书管理系统含源码
- VC6.0利用ADO读取excel
- 操作系统课程设计:Windows 命令接口之
- 基于mfc vc 的flash播放器
- VC计算器,完整的案例,适合MFC和VC
评论
共有 条评论