Building .NET applications for the App Store is not currently supported. If you are like me, building user interfaces with .NET is quick and easy and so, it would be nice to submit .NET applications. I did manage to submit an application that was built in .NET and also supports the Atom SDK, still remains to be seen if it will be approved but I want to post about how I managed to use the Atom SDK in C#. We also want to provide some level of security, so this topic will be addressed.
The SDK provides a really nice .lib file with a C interface that is really simple to use. Just a few methods. I have not looked at the C++ interface since the C version is so easy. The first thing to do is to build a small .dll wrapper for the .lib file. You don't need to put almost any code, just re-export the C methods into DLL methods. Just go in Visual Studio and create a empty .DLL project. I called mine "AdpWrapper". You just add the following exports to the definition (.def ) file:
LIBRARY "AdpWrapper"
EXPORTS
ADP_Get_API_VERSION
ADP_Get_API_LEVEL
ADP_Get_ADP_DEBUG_APPLICATIONID
ADP_Get_ADP_DEBUG_COMPONENTID
ADP_Get_ADP_EXPIRED_APPLICATIONID
ADP_Get_ADP_EXPIRED_COMPONENTID
ADP_Initialize
ADP_Close
ADPW_IsAuthorized
ADPW_IsAppAuthorized
ADP_ReportCrash
ADP_ApplicationBeginEvent
ADP_ApplicationEndEvent
Ok, now in the DLL C file, I did add a little bit of code, but it's as little as you can get. It's just a question of re-exporting the C functions as DLL functions. There are many ways of doing this. Of course, don't forget to include the adpcore.h and adpcore.lib in your project.
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return TRUE; }
const wchar_t* __stdcall ADP_Get_API_VERSION() { return ADP_API_VERSION; }
const unsigned long __stdcall ADP_Get_API_LEVEL() { return ADP_API_LEVEL; }
char* __stdcall ADP_Get_ADP_DEBUG_APPLICATIONID() { return (char*)&ADP_DEBUG_APPLICATIONID; }
char* __stdcall ADP_Get_ADP_DEBUG_COMPONENTID() { return (char*)&ADP_DEBUG_COMPONENTID; }
char* __stdcall ADP_Get_ADP_EXPIRED_APPLICATIONID() { return (char*)&ADP_EXPIRED_APPLICATIONID; }
char* __stdcall ADP_Get_ADP_EXPIRED_COMPONENTID() { return (char*)&ADP_EXPIRED_COMPONENTID; }
const int __stdcall ADPW_IsAuthorized(char* id) { ADP_APPLICATIONID id2; memcpy(&id2, id, 16); return ADP_IsAuthorized(id2); }
const int __stdcall ADPW_IsAppAuthorized(char* id) { ADP_COMPONENTID id2; memcpy(&id2, id, 16); return ADP_IsAppAuthorized(id2); }
Ok, so you got everything ready and compiled your first AdpWrapper.dll. Now it's time to head over to C# and write a little code to use this new DLL. You will need to copy the dll into the same folder as your C# binary so the .NET executable can find it. On the C# class you need to use the "System.Runtime.InteropServices" library to import all of the methods. If you add a little code, you can turn all the GUID's into native .NET GUID types. Makes it really easy and you don't need to deal with byte arrays anymore. Here is sample C# code, note the "PerformCheck" at the bottom, we will come back to that.
public class AdpWrapperClass
{
public enum ReturnCode
{
ADP_FAILURE = -1,
ADP_SUCCESS,
ADP_NOT_INITIALIZED,
ADP_NOT_AVAILABLE,
ADP_INCOMPATIBLE_VERSION,
ADP_ERR_DATA_TOO_BIG,
ADP_AUTHORIZED,
ADP_NOT_AUTHORIZED,
ADP_AUTHORIZATION_EXPIRED,
ADP_NO_APP_BEGIN_EVENT
}
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADP_Initialize();
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADP_Close();
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADPW_IsAuthorized(byte[] id);
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADPW_IsAppAuthorized(byte[] id);
// ADP_ReportCrash
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADP_ApplicationBeginEvent();
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADP_ApplicationEndEvent();
[DllImport("AdpWrapper.dll")]
private static extern IntPtr ADP_Get_API_VERSION();
[DllImport("AdpWrapper.dll")]
private static extern ulong ADP_Get_API_LEVEL();
[DllImport("AdpWrapper.dll")]
private static extern IntPtr ADP_Get_ADP_DEBUG_APPLICATIONID();
[DllImport("AdpWrapper.dll")]
private static extern IntPtr ADP_Get_ADP_DEBUG_COMPONENTID();
[DllImport("AdpWrapper.dll")]
private static extern IntPtr ADP_Get_ADP_EXPIRED_APPLICATIONID();
[DllImport("AdpWrapper.dll")]
private static extern IntPtr ADP_Get_ADP_EXPIRED_COMPONENTID();
public static ReturnCode Initialize() { if (!PerformCheck()) return ReturnCode.ADP_FAILURE; else return ADP_Initialize(); }
public static ReturnCode Close() { return ADP_Close(); }
public static ReturnCode IsAuthorized(Guid applicationid) { return ADPW_IsAuthorized(applicationid.ToByteArray()); }
public static ReturnCode IsAppAuthorized(Guid componentid) { return ADPW_IsAppAuthorized(componentid.ToByteArray()); }
public static ReturnCode ApplicationBeginEvent() { return ADP_ApplicationBeginEvent(); }
public static ReturnCode ApplicationEndEvent() { return ADP_ApplicationEndEvent(); }
public static string ApiVersion { get { return Marshal.PtrToStringUni(ADP_Get_API_VERSION()); } }
public static ulong Apilevel { get { return ADP_Get_API_LEVEL(); } }
public static Guid DebugApplicationId { get { byte[] id = new byte[16]; Marshal.Copy(ADP_Get_ADP_DEBUG_APPLICATIONID(), id, 0, 16); return new Guid(id); } }
public static Guid DebugComponentId { get { byte[] id = new byte[16]; Marshal.Copy(ADP_Get_ADP_DEBUG_COMPONENTID(), id, 0, 16); return new Guid(id); } }
public static Guid ExpiredApplicationId { get { byte[] id = new byte[16]; Marshal.Copy(ADP_Get_ADP_EXPIRED_APPLICATIONID(), id, 0, 16); return new Guid(id); } }
public static Guid ExpiredComponentId { get { byte[] id = new byte[16]; Marshal.Copy(ADP_Get_ADP_EXPIRED_COMPONENTID(), id, 0, 16); return new Guid(id); } }
private static bool PerformCheck()
{
FileStream fs = new FileStream(System.Windows.Forms.Application.StartupPath + "\\AdpWrapper.dll", FileMode.Open, FileAccess.Read);
if (fs == null) return false;
byte[] buf = new byte[(int)fs.Length];
fs.Read(buf, 0, buf.Length);
fs.Close();
SHA256 hash = SHA256.Create();
string str = BitConverter.ToString(hash.ComputeHash(buf));
return str.Equals("95-60-40-A3-12-B3-E2-94-92-32-5A-54-5D-53-FD-EC-BD-DD-8F-EF-3C-87-B2-3B-40-8B-1E-55-05-37-D7-31");
}
}
Ok, so pretty easy so far. You create that C# wrapper class and when you call methods it forward the call into the AdpWrapper.dll. Now, there is still a problem. Someone could swap the wrapper.dll with another one. This is always going to be possible, but we can make it a little more difficult by running a hash on the DLL. The PerformCheck method runs a SHA256 integrity hash on the DLL and returns the result. You then have to hard code the result you expect. Unless your AdpWrapper.dll is byte-per-byte identical to my version, you will get a different hash. That's ok, I just put a break point at the last line, copy the computed hash and paste it in the code. Ok, that's it. It should take no more than 30 minutes to do and there are probably other ways of doing this, just don't forget to run the hash at the end.
Happy coding!
Ylian
Commentaires
thanks for a great post Ylian. Brandon and I just tested your code and it works like a charm. :)
What version of SDK did you use?
With 0.91 Beta I'm getting compilation errors.
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(60) : error C2016: C requires that a struct or union has at least one member
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(60) : error C2061: syntax error : identifier 'wchar_t'
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(61) : error C2143: syntax error : missing '{' before '*'
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(62) : error C2059: syntax error : '}'
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(64) : error C2143: syntax error : missing '{' before '*'
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(81) : error C2143: syntax error : missing ')' before '*'
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(81) : error C2143: syntax error : missing '{' before '*'
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(82) : error C2059: syntax error : 'type'
1>C:\Program Files (x86)\Intel\Intel Atom Developer Program SDK\0.91\include\adpcore.h(89) : error C2059: syntax error : ')'
1>.\AdpWrapper.c(3) : error C2061: syntax error : identifier 'APIENTRY'
1>.\AdpWrapper.c(3) : error C2059: syntax error : ';'
1>.\AdpWrapper.c(3) : error C2146: syntax error : missing ')' before identifier 'hModule'
1>.\AdpWrapper.c(3) : error C2061: syntax error : identifier 'hModule'
1>.\AdpWrapper.c(3) : error C2059: syntax error : ';'
1>.\AdpWrapper.c(3) : error C2059: syntax error : ','
1>.\AdpWrapper.c(3) : error C2059: syntax error : ')'
1>.\AdpWrapper.c(8) : error C2143: syntax error : missing '{' before '*'
I played with it lil bit and could resolve those set of issues.
Now I am stuck with these linker errors
1>Linking...
1> Creating library D:\Source\Visual-Studio-2008-Projects\AdpWrapper\Release\AdpWrapper.lib and object D:\Source\Visual-Studio-2008-Projects\AdpWrapper\Release\AdpWrapper.exp
1>adpcore.lib(ADPSystemUtils.obj) : error LNK2001: unresolved external symbol __imp__SHRegGetValueW@28
1>adpcore.lib(ADPSystemUtils.obj) : error LNK2001: unresolved external symbol _GetModuleFileNameExW@16
1>D:\Source\Visual-Studio-2008-Projects\AdpWrapper\Release\AdpWrapper.dll : fatal error LNK1120: 2 unresolved externals
Any Ideas????
Well...I have the DLL compiled finally....Would try out the other part of the blog...thanks for ur help...
I was missing #include "windows.h" in the first error set and later it was about adding these two libraries - psapi.lib shlwapi.lib alongwith adpcore.lib..
Thanks for the help...
This is the error my C# program is throwing up.
System.BadImageFormatException was unhandled
Message="An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)"
Source="WindowsFormsApplication1"
StackTrace:
at WindowsFormsApplication1.AdpWrapper.ADP_Initialize()
at WindowsFormsApplication1.AdpWrapper.Initialize() in D:\Source\Visual-Studio-2008-Projects\WindowsFormsApplication1\WindowsFormsApplication1\AdpWrapper.cs:line 55
at WindowsFormsApplication1.Program.Main() in D:\Source\Visual-Studio-2008-Projects\WindowsFormsApplication1\WindowsFormsApplication1\Program.cs:line 25
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
any ideas about the above error...it comes up as soon as I call the Initialise method.
It all worked up...I was compiling a x64 based C# app. While the DLL is compiled for x86 system. Changed my config to x86 for the C# program and it all worked up...Cool :)
Great post...!
hi ajay,
i have gone through your post n did try to make it run but m facing issue in creating .lib in vc++ as i m using visual 2008 IDE and your post is in c not c++ so can u plz tell me what changes should i have to make to convert your code in c++ so i can make it n ll use in my c# application.
thank you
why dont u do it the c way...cause it works for now....
Hi. Good for you getting the .DLL working. Yes, I forget to mention to run the C# application in x86. I have a 64bit machine myself and I have to do the same thing. I also recommand using the C SDK to make the DLL because it's easier to export the methods. In C++ there are classes and exceptions what are not easy or not possible to export using a normal .DLL interface. - Ylian
Nice article! Have you thought about making this project available for download?
Nice article! Have you thought about making this project available for download?
Very Nice, although it took me some time to create the wrapper. I still have few more questions How can I use my application GUID code that IADP has assigned in my account in my wrapper or my c# or vb.net application class and validate? Will the IADP accept application by using this above mentioned method for either vb.net or c# application? If sample tutorials with the source download will be good for the users to learn easily.
Thanks
hi,
Where should i put/ call this .dll file functions in the my code ?
hi,
Where should i put/ call this .dll file functions in the my code ?
Hi,
Can anybody reply to Vijay's post :
Very Nice, although it took me some time to create the wrapper. I still have few more questions How can I use my application GUID code that IADP has assigned in my account in my wrapper or my c# or vb.net application class and validate? Will the IADP accept application by using this above mentioned method for either vb.net or c# application? If sample tutorials with the source download will be good for the users to learn easily)
Thanks
Place the dll file inside the project.
Yes, you put the .DLL in the same folder as your executable. It should find it and make the calls. I am still working on an issue with this system. Seems the app store gives 4 small-endian values, so you have to reverse each group of four bytes. I am still working on getting things confirmed.
I think we have the option to add our Application GUID in the wrapper.It might compile successfully but might not run as mentioned in one of the IADP forum. The application GUID can be used only to submit.
Thanks,
Vijay
Hello All,
as shown in the SDK example applications the IADP currently expects that software will be written in C or C++ and has the SDK code integrated directly into the submitted application/component binary.
The whole "wrapper" discussion started as a technical workaround to enable the use of other programming languages and runtimes but this has not been officially approved for validation.
As the community feedback seems to be that wrappers are wanted for more flexibility we currently discuss if wrapper can be accepted. There are serious security concerns and other issues. A statement will be posted into the SDK forum once we made a decision. Please continue discussions about wrappers in the SDK forum.
Best Regards,
Andre B.
Intel® Atom™ Developer Program
Hi Andre,
I tried using the Wrapper dll in my visual studio vb.net/c#.net windows application using the Default debug id and wrote the ADP_Initialize.
This way i get the response and request in the start ATDS.
I hop that i am right in integrating the ATOM SDK with my project. What are all the other validation? I just replaced the original GUID from my application in the dashboard. the application doesn't initialize as i saw in a forum, the debug mode will work and for the original GUID, it won't initialize, still we can submit to the Intel ATOM store.
If a end user doesn't get the genuine app from INTEL ATOM Store, then we will not be able to initialize the SDK through the code. so we will give the end user a message as "this is not properly installed from Intel ATOM store, please contact intel Atom or the provider of the application" and exit the application.
I hope the above steps are right?
Thanks,
Vijay
Hi,
We required AdpWrapper.dll for making this c# wrapper class to work.
As of now we don’t have c / c++ environment to make this AdpWrapper.dll . Please Help.
{
public enum ReturnCode
{
ADP_FAILURE = -1,
ADP_SUCCESS,
ADP_NOT_INITIALIZED,
ADP_NOT_AVAILABLE,
ADP_INCOMPATIBLE_VERSION,
ADP_ERR_DATA_TOO_BIG,
ADP_AUTHORIZED,
ADP_NOT_AUTHORIZED,
ADP_AUTHORIZATION_EXPIRED,
ADP_NO_APP_BEGIN_EVENT
}
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADP_Initialize();
[DllImport("AdpWrapper.dll")]
private static extern ReturnCode ADP_Close();
Hi,
Can anybody reply to priya's post :
or can anybody make this project / AdpWrapper.dll for download ?
Can Anybody make this Adpwrapper.dll for download?
can i simply copy paste above code to .dll file?
Hello Vijay,
if your software works fine with in debug version, just implement the GUID from the Dashboard, recompile and submit it for validation.
Thats all you need to do.
The error messages looks good, just include a link to this website or your EMail address for support.
Best Regards,
Andre B.
Intel® Atom™ Developer Program
Hi,
Since there is so much work going in for building .net applications for IADP, although we have no support right now from the SDK. If someone could write a hellow world program and publish it here or as a seperate blog, it just adds the fire under the kettle to see .net apps on IADP.
Cheers!
Hi,
The dll has to be created by the user and have to integrate the GUID code available in their dashboard -> My applications for their application.
and build the dll and use it their project. The dll can be created using the c++ as mentioned above in the forum.
All the best,
Regards,
Vijay
I have no idea how you guys are making this work, i have a default install of Visual Studio .net 2008 on my box and it does not allow me to create C dll files only C++, how should i resolve this? Install C Component?
Now, It says Error The name 'SHA256' does not exist in the current context, What do i do for this?
ok got to include "using System.Security.Cryptograph;"
How do i pass the App id from Atom store to the Is Authorized Method in the AdpWrapper Class?
I created the msi and submitted, It works good with the development GUID and also added the Applicaiton GUId,and i quit the application if it is not a genuine application installed through IADP store. the IADP store doesn't accept my application as it is say Application Launch error (ILU3). Please help me if any of you know the answer.
Dear ylian-saint-hilaire,
thanks for the nice explanation...
I tried to figure out how to compile a DLL with VS2008, and did not succeed. Didn't work with VS2008 before.
I'd like to ask, if you could provide us with a sample-project which we could import into VS2008 to finally create the DLL with our own IDs.
I'd like to use my preferred compiler PureBasic to submit my Windows XP-software. I put about 8 months of work in it, and don't like to rewrite everything in C++. This would cost me another 8 months or more... :O
Thank you very much!
Hi,
Using JNI can the same be done with Java which will enable the app to call C functions.
Cheers!
is it possible to download AdpWrapper.dll
Is it possible to test the .net application and able to generate reports using this AdpWrapper.dll ? if yes can anybody explain the procedure
Error 1 error C2059: syntax error : '!' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 1 AdpWrapper.dll
Error 2 error C2018: unknown character '0x60' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 2 AdpWrapper.dll
Error 3 error C2018: unknown character '0xf' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 4 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 5 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 6 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 7 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 8 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 9 error C2018: unknown character '0x12' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 10 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 11 error C2018: unknown character '0x12' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 12 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 13 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 14 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 15 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 16 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 17 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 18 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 19 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 20 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 21 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 22 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 23 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 24 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 25 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 26 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 27 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 28 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 29 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 30 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 31 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 32 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 33 error C3872: '0xa0': this character is not allowed in an identifier e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 34 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 35 error C3872: '0xa0': this character is not allowed in an identifier e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 36 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 3 AdpWrapper.dll
Error 37 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 4 AdpWrapper.dll
Error 38 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 39 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 40 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 41 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 42 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 43 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 44 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 45 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 46 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 47 error C2018: unknown character '0x18' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 48 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 49 error C2018: unknown character '0x18' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 50 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 51 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 52 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 53 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 54 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 55 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 56 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 57 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 58 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 59 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 60 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 61 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 62 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 63 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 64 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 65 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 66 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 67 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 68 error C2017: illegal escape sequence e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 69 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 70 error C2017: illegal escape sequence e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 71 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 72 error C2017: illegal escape sequence e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 73 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 74 error C2017: illegal escape sequence e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 75 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 76 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 77 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 78 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 79 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 80 error C2018: unknown character '0x1e' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 81 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 82 error C2018: unknown character '0x1e' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 83 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 84 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 85 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 86 error C2018: unknown character '0x16' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 87 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 88 error C2018: unknown character '0x16' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 89 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 90 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 91 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 92 error C2018: unknown character '0x60' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 93 error C2018: unknown character '0xe' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 94 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 95 error C2018: unknown character '0x60' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 96 error C2018: unknown character '0xe' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 97 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 98 error C2018: unknown character '0x60' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 99 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 100 error C2018: unknown character '0x60' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 101 error C2018: unknown character '0x6' e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Error 102 fatal error C1003: error count exceeds 100; stopping compilation e:\product development\archive\archive\project1\adpwrapper.dll\adpwrapper.dll\adpcore.lib 5 AdpWrapper.dll
Please Help
Hi,
I have a small application built on clutter library which needs to be uploaded on the Intel App store. I do have the ADP core lib, which are required for authentication. However i am stuck trying to find out how to configure ADP on eclipse and compiling the same.
Any help would be greatly appreciated.
Regards
Manjunath.M
Sri Rama Netapp Inc.:
You can change the default compiler /TP (C++ Compiler) to /TC from main menu --> Project --> 'Project Name' Properties... --> Config property --> C/C++ --> Advance, in this page ,you can change 'Compile to' to 'Compile to C Code (/TC)' .
good lucky!
Hi,
I am very new to this atom development. Could you please send me the AdpWrapper.dll file to me so that i could just import it in my C# program by this way [DllImport("D://cdll.dll")]
Please suggest me.
Hello
is this wrapping dll still working?
Is possible hence develop in VB.net?
Thanks
Publier un nouveau commentaire