使用BlackBerry Transcoder API集成第三方加密方案(二)

来源:互联网 发布:淘宝怎么注册小号 编辑:程序博客网 时间:2024/05/20 14:24

作者: 邓明轩

 

创建服务器端程序

 

 

如以端的序是 dll 式部服务 密程 c 语言编译 dll 具。为方便,本使 Visual C++ 6.0 为开据自似工

启动 Visual C++ 6.0点击File -> New新的图:

 

 

 

 

 

 

 

 

 

File->New统会向导Projects项目Project 标签Win32 Dynamic-Link Library创建 Win32 dllProject Name”一

       本例  MyTranscoder         文件    使 

c:/workspace/vc6/MyTranscoder”作项目文件目持其,点击OK”, 系统个名 MyTranscoder 建对 workspace示意图如

 

 

 

在项提示类型 dll 项目写方便,

A simple Dll project是创 dll 本的择后 点击“Finish

 

 

向导示框点击OK确认框。

 

 

 

MyTranscoder 后可系统 StdAfx.h,StdAfx.cpp

MyTranscoder.cpp我们需要 MyTranscoder.cpp完成 Transcoder API 的实 现。双击左导航条中的MyTranscoder.cpp”文以打开该文,可以看到系统生成 DllMain 法是 dll 的入系统自动图:

 

 

 

因为要使 Transcoder API一步工作就是 Transcoder API 提供头文

件“BESTranscoderAPI.h引入BESTranscoderAPI.h”文档提也可 以在 BlackBerry 网站上下BESTranscoderAPI.h件后在操作系 个文本例C:/workspace/vc6/MyTranscoder目录 Visual C++ 6.0 中选Header Files,点击右Add Files to Folder”, 然后BESTranscoderAPI.h就可以将BESTranscoderAPI.h 到当中。

 

 

 

引入头文件“BESTranscoderAPI.h”后结果如下图,兴趣的读者可以双击该件打开 了解BESTranscoderAPI.h法。

 

 

 

 

引入头文件“BESTranscoderAPI.h”后,在左边中双击“MyTranscoder.cpp”文件,编

MyTranscoder.cpp 文件使代码便统生 成的以下粘贴 MyTranscoder.cpp

 

 

// MyTranscoder.cpp : Defines the entry point for the DLL application.

 

 

#include "stdafx.h"

#include "BESTranscoderAPI.h"

#include <iostream>

 

 

FILE * logFile;

char LogFileName[64]="c://Transcoder//Transcoder-Log.txt";

 

 

 

DEFINE_BES_TRANSCODER_DLL

 

 

 

BOOL APIENTRY DllMain( HANDLE hModule,

DWORD    ul_reason_for_call, LPVOID lpReserved

)

{

printf("Loading Dll");

 

return TRUE;

}

 

 

__declspec (dllexport)

int __cdecl LoadDLL()

{

 

 

logFile = fopen(LogFileName, "a");

 

 

 

fprintf(logFile,"trying to call LoadDll");

 

 

return 0;

}

 

 

__declspec (dllexport)

void __cdecl FreeDLL()

{

 

 

fprintf(logFile,"Dll free");

}

 

 

__declspec (dllexport)

unsigned char __cdecl GetID()

{

unsigned long TranscoderID=20;

 

 

fprintf(logFile,"trying to get ID");

 

 

return (unsigned char) TranscoderID;

}

 

 

__declspec (dllexport)

int __cdecl WillTranscode( const TranscoderContext *const context )

{

return 0;

}

 

 

__declspec (dllexport)

int __cdecl Encode( TranscoderInputStream       *const input, TranscoderOutputStream  *const output, const TranscoderContext *const context )

{

 

fprintf(logFile,"testing encode is running now");

unsigned char readC;

fprintf(logFile,"     /nencode read char:");

 

 

while (input->Read(&readC))

{

fprintf(logFile,"%c",readC);

output->Write(readC);

}

 

 

return 0;

}

 

 

__declspec (dllexport)

int __cdecl Decode( TranscoderInputStream       *const input, TranscoderOutputStream  *const output, const TranscoderContext *const context )

{

fprintf(logFile,"     /ndecode read char:");

unsigned char readC;

while (input->Read(&readC))

{

fprintf(logFile,"%c",readC);

output->Write(readC);

}

 

 

return 0;

}

 

编辑图:

 

 

Build->Build MyTranscoder.dll单生 dll 使 Visual C++ 6.0

          dll             Debug            

c:/workspace/vc6/MyTranscoder/Debug 录。

 

  

 

 

如果误的误提重新编译 成功加解在后 这里使用的加解密过是单 纯地出接使的话作就 例代码中 Encode Decode使真正作。

 

 

  

 

 

BlackBerry SDK下载

 

  • BlackBerry Java Plug-in for Eclipse v1.1
  • Java Plug-in for Eclipse Update Site
  • BlackBerry Web Plug-in v2.0
  • BlackBerry Widget SDK v1.0
  • BlackBerry Theme Studio v5.0
  • Plazmic Content Developer’s Kit v4.7
  • BlackBerry smartphone simulators
  •  

     

    相关链接:

    使用BlackBerry Transcoder API集成第三方加密方案(一)

    使用BlackBerry Transcoder API集成第三方加密方案(二)

    使用BlackBerry Transcoder API集成三方加密方案(三)

    原创粉丝点击