|
Hi - I have a dll, that
a) I dont have the source for
b) I dont have .h files for
c) I have minimal documentation for
I can produce a dumpbin /exports, and I know it was written using MS VC++ .. Now, Im a bit rusty with dll's, years ago, the fist time I approached this nasty issue, I defined :-
#define SZ_DPS_ProcessTransmit "?ProcessTransmit@@YAFPBD000@Z"
typedef short (__cdecl *LPDPS_ProcessTransmit) (char const *, char const *, char const *, char const *);
LPDPS_ProcessTransmit m_DpsProcessTransmit;
Most of the functions look like ?Transmit@@YAFPBD000@Z in the dumpbin - but as far as I know, there's nothing to tell me what calling convention was used, so the __cdecl used in the definition above was an assumption ..
So, was it a good assumption - or should I use stdcall ?? There's a penalty here - its not the easiest of systems to re-work / work on - its part on an encryption system that doesnt like being toyed with ..
any ideas ??
thanks, Garth
|
|
|
|
|
VS.NET includes a program UNDNAME to give you the undecorated definition of the name. You guessed right, the routine is a __cdecl.
You don't need to define the SZ_DPS_ProcessTransmit. Name decoration happens automatically.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
Many thanks Tim - much appreciated - I'll remember UNDNAME
cheers, Garth
|
|
|
|
|
How should i design my GUI's Architecture? What steps should I follow?
Thanks.
I will rank if your reply helps.
|
|
|
|
|
Pretty difficult to answer given the few information we have... What kind of GUI do you want ? Are you using the MFC's ? Is it a console app, Win32 app, ...
|
|
|
|
|
I want my gui to be done using MFC. It is a GUI for an USB HID device.
How should i decide what class should i make, in which should class sholud place the member function, what should be placed in dll etc.
Thanks a lot for your time and help.
|
|
|
|
|
Hello,
From you other post, I understand that you want to create an application that communicates with an USB device, not? I also understand that you don't have any clue about how to design an architecture for your application.
May I suggest that you start reading about how to design software systems! There is no single plan that anyone can follow to achieve what people call a sound design.
In general, the following steps are taken:
<list> Devide the system in logically independant groups (often called layers).
Devide the functionality in a layer in logically independant sub-groups (often called packages).
Devide the functionality in a package in components that are managable.
You just should start with grouping functionality and keep that going until you got managable peaces that you can implement.
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|
|
I want to create a simple help-file that instructs my user how to use my program. How can i create a .hlp file that launches when the user presses F1.
_____________________________
...and justice for all
APe
|
|
|
|
|
You can use HTML Help Workshop...
All the information is available in MSDN.
|
|
|
|
|
Can someone give me some example of source code for the mewtocol header and terminator or some guide how to start to write a program that sending data using Mewtocol. Hope can undestand what I mean.
|
|
|
|
|
how to generate random numbers within a ceratain range..
let's say 500 and 2500
thanks
|
|
|
|
|
Search in this forum. The same question was raised some days ago.
|
|
|
|
|
Hi,
you use the rand() function like this:
2500-500= 2000
rand()%2001 //a number between 0 and 2000
rand()%2001 +500 // a number between 500 and 2500
Regards
|
|
|
|
|
Hi all,
i inherite a call of my own from CPreviewView. i put my own toolbar there,
problem is the default implementation of CPreviewView draws a dialog bar with Toolbar in it...how can i remove this default option?
thanks
Yaron Nir
Ask not what your application can do for you,
Ask what you can do for your application
|
|
|
|
|
I have not idea what to do if i want to make security in my program so that one user can open these forms and not others.
When I was programed in Access, i had a global variable where I want to put the user name from there i want to test if he had right or not, But with Visual c++ there is not global variable(i do know if it is possible to have it) what to do ?
I learn my self
|
|
|
|
|
There is global variables in C/C++ too, but it isn't considdered to be good programming practice to use it.
Use it like this:
In source1 (declaration + use)
char GlobalCharArray[100];
int GlobalInt;
In source2 (use):
extern char GlobalCharArray[100];
extern int GlobalInt;
Now you use the same char array and int from both source-codes.
|
|
|
|
|
Good, There is not link source1 and source 2.
In source2 can I insert the header file of source1 ? like below
#include "source1.h"
|
|
|
|
|
Sorry that I was a bit unclear.
When I said "source1" I meant the source file sourcecode1.cpp
And Sourececode2.cpp
I wanted to show you how to use the same global variable in two different source-files.
If you got only one source file, declare it the way I suggested in "source1", and then, just use it from wherever in that source-file.
Good luck.
kakan
|
|
|
|
|
Hi!
When I use DeviceIoControl() to communicate with a special
device in my VC++ application,the DeviceIoControl() returns
zero,and the Getlasterror() returns 50.
I defined an IOCTL command in my driver,and used CreateFile to retrieve the device handle.
I set a breakpoint at IRP dispatch instance in my driver code with SoftICE,
but it seems that the DeviceIoControl() can not communictate with the driver.
What's the matter then?
Thanks for help!
momer
-- modified at 2:03 Tuesday 20th September, 2005
|
|
|
|
|
Did you use open, start, stop and close device driver (sys) dinamicly? It is look like driver not started.
|
|
|
|
|
Hi!Branislav,
Before use DeviceIoControl() I have used the CreateFile() to retrieve the device handle,and I suppose the CreateFile() can open the device driver.
And I can know that the CreateFile() resposes by the IRP_MJ_CREATE with SoftICE,so I think the device driver (sys) has been opened before the
application runs to DeviceIoControl().
Thanks!
momer
|
|
|
|
|
Before use any function to call driver you must start driver service if you did not have automatic start during instalation driver. For more details see
http://www.l5sg.com/products/source_code.php
source code for tipical install, start and stop a service or driver. You can use that code to open and start driver before call CreateFile, ... and after, before the end of your program, close service or driver.
All you can check in Administrative Tools\Services. And most important thing is that you must be Administrator or privelege level like administrator.
|
|
|
|
|
Hi!Branislav,
Yes.My device is an USB vedio capture and the driver is a streaming minidriver,so when I plug the device into pc,the pnp manager can load and install the minidriver automaticly and then the I/O manager start the minidriver.In fact,as long as the vedio capture device plug into pc,my minidriver begins capturing vedio and audio data from the usb bus.So,I believe that the driver have been started before my calling CreateFile.
And,every time the application runs to CreateFile,the SoftICE tells me that the minidriver have recieved a SRB,which is SRB_UNKNOWN_DEVICE_COMMAND.
Thanks for help!
momer
|
|
|
|
|
Hi all,
I need to allow clients instant access to the error-checking section of the local hard drives property page (tools tab).
In ME I used to just startup scandisk.exe and clients could select which drives and perform a scan but XP doesn't have scandisk.exe.
Does anyone know how to access this in code?
Even if I could directly bring up the tools tab of the local disk properties window.
Jai
|
|
|
|
|