[DllImport("P230_DLL_VC.DLL")]
public static unsafe extern int RpcClose();调用 int a=RpcClose();
出错:无法在 DLL P230_DLL_VC.DLL 中找到名为 RpcClose 的入口点。
请教一下如何解决。
谢谢!

解决方案 »

  1.   

    检查P230_DLL_VC.DLL 及相关的说明文件有没有RPCClose()这个函数或看参数是不是问题
      

  2.   

    函数原型: int RpcClose()
    功能描述: 关闭通讯端口。
    入口参数: 无。
    返回值: 1 —— 操作成功;
    -1 —— 通讯端口已关闭。
    例子: retint=RpcClose()
      

  3.   

    要确定 P230_DLL_VC.DLL 这个东西没问题
    如果是自己写的 extern "C"有加吗?
      

  4.   

    这个dll不是自己写的,下面是VC6.0里掉的。
    RpcOpen("COM1", 9600);
    引用了一个.h文件//---------------------------------------------------------------------------
    // Comsys P230 interface header file
    // 2003-2-20 created by Yuwu Zhang
    // [email protected]
    //---------------------------------------------------------------------------#ifndef __P230_H__
    #define __P230_H__#define SUCCESS       1
    #define FAIL          0#define IC_TYPE_NUM        30
    #define SLE4428            0
    #define SLE4442            1
    #define AT24C64            2
    #define AT24C32            3   
    #define AT24C16            4   
    #define AT24C08            5  
    #define AT24C04            6   
    #define AT24C02            7   
    #define AT24C01A           8
    #define AT1604             9 
    #define AT1608             10
    #define AT45D011           11  
    #define AT45D021           12  
    #define AT45D041           13 
    #define AT45D081           14 
    #define AT45D161           15  
    #define AT45D321           16  
    #define AT45D641           17  #define MIFONE             20
    #define MIFPRO             21#define ALL_KEY            0x000a
    #define A1_KEY             0x0015
    #define A1_ERASE_KEY       0x0018
    #define A2_KEY             0x04c6
    #define A2_ERASE_KEY       0x04c8
    #define A3_KEY             0x05cb
    #define A3_ERASE_KEY       0x05cd
    #define A4_KEY             0x06d0
    #define A4_ERASE_KEY       0x06d2#define AREA1              1
    #define AREA2              2              
    #define AREA3              3
    #define AREA4              4//used for at1608
    #define USER_ZONE0         0              
    #define USER_ZONE1         1              
    #define USER_ZONE2         2              
    #define USER_ZONE3         3              
    #define USER_ZONE4         4              
    #define USER_ZONE5         5              
    #define USER_ZONE6         6              
    #define USER_ZONE7         7#define CONFIG_ZONE        8#define PW0_WRITE          0
    #define PW0_READ           1
    #define PW1_WRITE          2
    #define PW1_READ           3
    #define PW2_WRITE          4              
    #define PW2_READ           5
    #define PW3_WRITE          6              
    #define PW3_READ           7              
    #define PW4_WRITE          8              
    #define PW4_READ           9              
    #define PW5_WRITE          10              
    #define PW5_READ           11              
    #define PW6_WRITE          12              
    #define PW6_READ           13              
    #define PW7_WRITE          14              
    #define PW7_READ           15              bool RpcOpen(const char *port, int baud_rate);
    void RpcClose();
    unsigned int DIreset(unsigned char cid,unsigned char op_mode,unsigned char *card_type, unsigned char *lenr,unsigned char *resp);
    unsigned int DIcommand(unsigned char AB_cid,unsigned char len,unsigned char *cmd, unsigned char *lenr,unsigned char *resp);
    unsigned int DIdeselect(unsigned char AB_cid);
    unsigned int Mif_request(unsigned char mode,unsigned char *lenr,unsigned char *resp);
    unsigned int Mif_anticoll(unsigned char *lenr,unsigned char *snr);
    unsigned int Mif_select(unsigned char *snr,unsigned char *sak);
    unsigned int Mif_increment(unsigned char block,unsigned char *value);
    unsigned int Mif_decrement(unsigned char block,unsigned char *value);
    unsigned int Mif_decrement_transfer(unsigned char block,unsigned char *value);
    unsigned int Mif_Halt(void);
    unsigned int Mif_Restore(unsigned char block);
    unsigned int Mif_Transfer(unsigned char block);
    unsigned int Mif_InitPurchase(unsigned char block,unsigned char *value);
    unsigned int Mif_write(unsigned char block,unsigned char *value);
    unsigned int Mif_read(unsigned char block,unsigned char *resp);
    unsigned int Mif_authentication(unsigned char mode,unsigned char block,unsigned char *uid);
    unsigned int SaveKey2E2(unsigned char sector,unsigned char mode,unsigned char *key);
    unsigned int Mif_load_key(unsigned char mode,unsigned char block,unsigned char *key);
    int ic_open(unsigned char type);
    int ic_close();
    int ic_verify(unsigned int key_id, unsigned int pwlen, unsigned char *password);
    int pw_modify(unsigned int key_id, unsigned int pwlen, unsigned char *newpw);
    int ic_read(unsigned int area_id,unsigned int startsite,unsigned int size,unsigned char *buf);
    int ic_write(unsigned int area_id,unsigned int startsite,unsigned int size,unsigned char *buf);
    int pwcnt_read(unsigned int key_id,unsigned char *buf);
    int at1608_fuses();
    int icc_reset(unsigned char *ret_buf);
    int icc_instruction(unsigned char *cmd,unsigned char lc,unsigned char *ret_buf);
    int sam_reset(unsigned char *ret_buf);
    int sam_instruction(unsigned char *cmd,unsigned char lc,unsigned char *ret_buf);
    int rf_prompt(int unit, bool on);
    int reset();#endif
      

  5.   

    ref: http://topic.csdn.net/u/20080222/13/c2e8fcce-52f4-4246-81e3-1c3e85224c75.html
      

  6.   

    void RpcClose(); 
    看.h文件里写的是返回空
    不是int