javascript和vbscript中没有结构体Struct,ePass的ActiveX对象中把各个参数都展开了,官方文档只给出了对应的代码,没有给出相应的数字,示例代码中却都是数字,其VC代码中有对应的定义,如下

ePass.CreateFile(IFlags, ulID, ulFileSize, ucFileType, ucReadAccess, ucWriteAccess, ucCryptAccess, ucGrantedAccess);

////
/// EPAS_FILEINFO structure definition
//
typedef struct tagFILEINFO
{
unsigned long ulID; //File ID.
unsigned long ulFlags; //Reserved.MUST be zero
unsigned long ulFileSize;
unsigned char ucFileType;
unsigned char ucReadAccess;
unsigned char ucWriteAccess;
unsigned char ucCryptAccess;
unsigned char ucReserved1[12];
unsigned char ucGrantedAccess;
unsigned char ucReserved2[15];
}EPAS_FILEINFO, *PEPAS_FILEINFO;

/////
//// FILEINFO.FileType
/// File type definition
//
#define EPAS_FILETYPE_UNUSED 0x00
#define EPAS_FILETYPE_DIR 0x01
#define EPAS_FILETYPE_DATA 0x02
#define EPAS_FILETYPE_KEY 0x04
#define EPAS_FILETYPE_UNKNOWN 0xFF

/////
//// FILEINFO.ReadAccess,FILEINFO.WriteAccess,FILEINFO.CryptAccess
/// File access types
//
#define EPAS_ACCESS_ANYONE 0x00
#define EPAS_ACCESS_USER 0x01
#define EPAS_ACCESS_OFFICER 0x02
#define EPAS_ACCESS_NONE 0x07

////
/// FILEINFO.GrantedAccess
//
#define EPAS_ACCESS_READ 0x01
#define EPAS_ACCESS_WRITE 0x02
#define EPAS_ACCESS_CRYPT 0x04

javascript也可以用这种方式将对象解释为结构:

var FileType = {
EPAS_FILETYPE_UNUSED: 0,
EPAS_FILETYPE_DIR: 1,
EPAS_FILETYPE_DATA: 2,
EPAS_FILETYPE_KEY: 4,
EPAS_FILETYPE_UNKNOWN: 0xFF
}; /////
//// FILEINFO.ReadAccess,FILEINFO.WriteAccess,FILEINFO.CryptAccess
/// File access types
//
var FileAccess = {
EPAS_ACCESS_ANYONE: 0x00,
EPAS_ACCESS_USER: 0x01,
EPAS_ACCESS_OFFICER: 0x02,
EPAS_ACCESS_NONE: 0x07
} var GrantedAccess = {
EPAS_ACCESS_READ: 0x01,
EPAS_ACCESS_WRITE: 0x02,
EPAS_ACCESS_CRYPT: 0x04
}
这样调用:
ePass.CreateFile(0, 1, 16, FileType.EPAS_FILETYPE_KEY, FileAccess.EPAS_ACCESS_ANYONE, FileAccess.EPAS_ACCESS_ANYONE, FileAccess.EPAS_ACCESS_ANYONE, FileAccess.EPAS_ACCESS_ANYONE);

ePass.CreateFile的更多相关文章

  1. CreateFile函数详解

    CreateFile函数详解 CreateFile The CreateFile function creates or opens the following objects and returns ...

  2. CreateFile() 打开u盘 物理设备

    //以下是用的vs2010 windows7 64 管理员权限编译成功的 HANDLE hDev = CreateFile(TEXT("\\\\.\\PhysicalDrive1" ...

  3. 第10章 同步设备I/O和异步设备I/O(1)_常见设备及CreateFile函数

    10.1 打开和关闭设备 10.1.1 设备的定义——在Windows中可以与之进行通信的任何东西. (1)常见设备及用途 设备 用途 用来打开设备的函数 文件 永久存储任何数据 CreateFile ...

  4. CreateFile,WriteFile,ReadFile

    注意: CreateFile 跟 fopen 不同,打开文件时不区分 文本方式 或 二进制 方式 ReadFile 或 WriteFile 都是对二进制数据进行操作 HANDLE WINAPI Cre ...

  5. 用Windows API函数(CreateFile/ReadFile/WriteFile/CloseHandle)完成文件拷贝程序(初级版)

    文件拷贝程序 程序类型:Console 参数:源文件名   目的文件名 要求:1.只能使用Windows API函数(CreateFile/ReadFile/WriteFile/CloseHandle ...

  6. vc++ CreateFile报错,返回123

    //hFile = CreateFile("D:\dev\fmt\res\face1.png", 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, ...

  7. Delphi判断文件是否正在被使用(CreateFile也可以只是为了读取数据,而不是创建)

    首先,我们先来认识下CreateFile函数,它的原型如下   HANDLE CreateFile( LPCTSTR lpFileName,    //指向文件名的指针 DWORD dwDesired ...

  8. CreateFile FileSeek FileRead 直接读取数据

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  9. CreateFile使用方法和样例

    函数原型: HANDLE CreateFile( LPCTSTR lpFileName, //指向文件名称的指针 DWORD dwDesiredAccess, //訪问模式(写/读) DWORD dw ...

随机推荐

  1. c++模板

    1.从 python 说起 def add(a, b): return a + b; print add(3.1, 5.1); #8.2 print add("abc", &quo ...

  2. 基础知识系列☞各版本下IIS请求处理过程区别

    转载地址→http://www.cnblogs.com/fsjohnhuang/articles/2332074.html ASP.NET是一个非常强大的构建Web应用的平台, 它提供了极大的灵活性和 ...

  3. PHP简单封装MysqlHelper类

    MysqlHelper.class.php 1: <?php 2:  3: /** 4: * Mysql数据帮助类 5: */ 6: class MysqlHelper 7: { 8: func ...

  4. 微信 6.5.1 for iOS发布 可以在朋友圈分享相册中的视频

    今天微信 6.5.1 for iOS发布了,最主要的一个功能是可以在朋友圈分享相册中的视频,卖转发朋友圈视频软件的家伙估计要哭了.微信这次更新,更有利于个人号的运营,个人号的价值将更高.先定一个小目标 ...

  5. 北京程序员 VS 硅谷程序员(转)

    夫妻双码农,北京 or 硅谷,值得吗? http://mp.weixin.qq.com/s?__biz=MzA5MzE4MjgyMw==&mid=401228574&idx=1& ...

  6. MySQL源码分析以及目录结构

    原文地址:MySQL源码分析以及目录结构作者:jacky民工 主要模块及数据流经过多年的发展,mysql的主要模块已经稳定,基本不会有大的修改.本文将对MySQL的整体架构及重要目录进行讲述. 源码结 ...

  7. linux远程复制和压缩文件的命令

    1.linux导出指定数据库表 mysqldump  127.0.0.1  -uname -ppwd  databasename  tablename>/home/name/tablename. ...

  8. MyEclipse 自动提示设置

    window --> Perferences--> General--> keys Content Assist默认的是Ctrl +space Content Assist快捷键设置 ...

  9. gc是什么,什么时候需要gc

    Java是由C++发展来的. 它摈弃了C++中一些繁琐容易出错的东西.其中有一条就是这个GC. 写C/C++程序,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值.内存再大也是有限的,所以 ...

  10. Android开发学习笔记--计时器的应用实例

    为了了解安卓计时器的用法,写了一个秒表的应用,正是这个秒表,让我对Android应用的速度大跌眼镜,我设置了一个计时器,10ms更新一次显示的时间,然后更标准的时间一比较发现,跑10s就有一秒的时间误 ...