zoukankan      html  css  js  c++  java
  • ePass.CreateFile

    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);
  • 相关阅读:
    【译】用 Rust 实现 csv 解析-part3
    【译】用 Rust 实现 csv 解析-part2
    【译】用 Rust 实现 csv 解析-part1
    【译】Rust 中的 char 和 Go 中的 rune 有什么区别?
    【译】TCP/IP 网络编程基础系列-数值编码
    【译】我最喜欢的 Rust 函数签名
    Rust 学习之运算符重载
    java.util.ConcurrentModificationException: null 问题分析解决
    2020年
    科目三夜间灯光模拟
  • 原文地址:https://www.cnblogs.com/Sabre/p/3880382.html
Copyright © 2011-2022 走看看