|
Hi Yogesh
if you installel driver for this. you must uninstall dirver then retry to install for this.
|
|
|
|
|
Hi guys,
I'm trying to build a DLL using the DDK.
My Sources file is:
----- START SOURCES FILE -----
TARGETNAME = VirtualDiskTools
TARGETPATH = obj
TARGETTYPE = DYNLINK
USE_MSVCRT=0
INCLUDES = C:\WinDDK\2600.1106\inc\ddk\wxp
LIBS = %BUILD%\lib
SOURCES = VirtualDiskTools.c
----- END SOURCES FILE -----
And the MAKEFILE contains only this line:
!INCLUDE $(NTMAKEENV)\makefile.def
When I try to compile the project through Visual Studio, using the ddkbuild tool, I get the following error:
1>NMAKE : U1073: don't know how to make 'VirtualDiskTools.def'
I should change something in my sources file, maybe?
Thanks in advance
|
|
|
|
|
OK, I'll ask the obvious - do you have a VirtualDiskTools.def and is it located in the source directory?
Judy
|
|
|
|
|
Hi Judy,
no, I don't have any VirtualDiskTools.def in my source directory. The strange thing is that I can get a correct build of another project without a def file, compiled using TARGETTYPE=DRIVER (instead of TARGETTYPE=DYNLINK).
Maybe, compiling with DYNLINK, I need to create a def file?
So, how can I create VirtualDiskTools.def in my source directory?
Thanks for your reply
|
|
|
|
|
Member 4124873 wrote: Maybe, compiling with DYNLINK, I need to create a def file?
So, how can I create VirtualDiskTools.def in my source directory?
I agree that you need to create a .DEF file - in my quick search, I didn't find a single sources file that created a DYNLINK that didn't have an accompanying DEF file.
A DEF file is a plain text file that lists the exported functions from your DLL. A bare-bones file would be like:
LIBRARY YourNameHere
EXPORTS
FuncName1
FuncNAme2
For all the gory details, see Module Definition File[^]
Judy
|
|
|
|
|
Maybe I'm too late, I'm sorry Judy.
I tried using your instructions. Please, confirm me the follow:
In my def file I define the name that I want for my DLL (LIBRARY), under the EXPORTS section, I can define a list of functions declared in my DDL source code, that can be accessible from external applications that are referencing the DLL. Is it right?
Because I tried to add into the EXPORTS section a function name (FileDiskCreateDevice) but when I try to compile, I get a lot of errors like:
Error 48 fatal error LNK1120: 23 unresolved externals objchk_wxp_x86\i386\VirtualDiskTools.dll
Error 17 error LNK2019: unresolved external symbol _KeGetCurrentThread@0 referenced in function _FileDiskDeviceControl@8 virtualdisktools.obj
Error 41 error LNK2019: unresolved external symbol _KeGetCurrentThread@0 referenced in function _FileDiskDeviceControl@8 virtualdisktools.obj
Error 11 error LNK2019: unresolved external symbol __imp__SeTokenType@4 referenced in function _FileDiskDeleteDevice@4 virtualdisktools.obj
What's wrong?
Thanks in advance.
|
|
|
|
|
Member 4124873 wrote: What's wrong?
Exactly what the error message says. You've used the functions KeGetCurrentThread and SeTokenType without including the implementations of them. You need to include the libraries for the functions in your sources file. I believe the first is in ntdll.lib but I'm not sure where the second one is since I've never done stuff that needed the IFS kit before. Look in an IFS example and see which libraries are included in that source file.
When I look up SeTokenType in the ddk documentation, it says that routine is reserved for system use. You should be using the recommended alternative SeQueryInformationToken .
Judy
|
|
|
|
|
I tried adding into my Sources file this line:
TARGETLIBS = C:\VirtualDiskTools\lib\ntdll.lib
Anyway, while compiling I get the same errors (I cut here all compiler output for your reference):
1>OSR DDKBUILD.BAT V6.11 - OSR, Open Systems Resources, Inc.
1>WXP BUILD using WNET DDK
1>build in directory C:\VirtualDiskTools with arguments -cZ (basedir C:\WinDDK\2600~1.110)
1>run build -Ze -cZ -MI for checked version in C:\VIRTUA~2
1>BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
1>BUILD: Using 2 child processes
1>BUILD: Object root set to: ==> objchk_wxp_x86
1>BUILD: Compile and Link for i386
1>BUILD: Examining c:\virtua~2 directory for files to compile.
1> c:\virtua~2
1>BUILD: Compiling c:\virtua~2 directory
1>Compiling - virtualdisktools.c for i386
1>Building Library - objchk_wxp_x86\i386\virtualdisktools.lib for i386
1>BUILD: Linking c:\virtua~2 directory
1>Linking Executable - objchk_wxp_x86\i386\virtualdisktools.dll for i386
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__ExFreePoolWithTag@8 referenced in function _DriverEntry@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__ExAllocatePoolWithTag@12 referenced in function _DriverEntry@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeSetEvent@12 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__ObReferenceObjectByHandle@24 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__IoDeleteDevice@4 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__PsCreateSystemThread@28 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeInitializeEvent@12 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeInitializeSpinLock@4 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__IoCreateDevice@28 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeGetCurrentIrql@0 referenced in function _FileDiskUnload@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__SeTokenType@4 referenced in function _FileDiskDeleteDevice@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@ObfDereferenceObject@4 referenced in function _FileDiskDeleteDevice@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeWaitForSingleObject@20 referenced in function _FileDiskDeleteDevice@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@IofCompleteRequest@8 referenced in function _FileDiskCreateClose@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@ExfInterlockedInsertTailList@12 referenced in function _FileDiskReadWrite@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__SeCreateClientSecurity@16 referenced in function _FileDiskDeviceControl@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol _KeGetCurrentThread@0 referenced in function _FileDiskDeviceControl@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__PsRevertToSelf@0 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__SeImpersonateClient@8 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__MmMapLockedPagesSpecifyCache@24 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@ExfInterlockedRemoveHeadList@8 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__PsTerminateSystemThread@4 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeSetPriorityThread@8 referenced in function _FileDiskThread@4
1>objchk_wxp_x86\i386\virtualdisktools.dll : error LNK1120: 23 unresolved externals
1>BUILD: Done
1> 2 files compiled
1> 1 library built
1> 1 executable built - 24 Errors
1>=============== build warnings ======================
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__ExFreePoolWithTag@8 referenced in function _DriverEntry@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__ExAllocatePoolWithTag@12 referenced in function _DriverEntry@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeSetEvent@12 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__ObReferenceObjectByHandle@24 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__IoDeleteDevice@4 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__PsCreateSystemThread@28 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeInitializeEvent@12 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeInitializeSpinLock@4 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__IoCreateDevice@28 referenced in function _FileDiskCreateDevice@12
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeGetCurrentIrql@0 referenced in function _FileDiskUnload@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__SeTokenType@4 referenced in function _FileDiskDeleteDevice@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@ObfDereferenceObject@4 referenced in function _FileDiskDeleteDevice@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeWaitForSingleObject@20 referenced in function _FileDiskDeleteDevice@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@IofCompleteRequest@8 referenced in function _FileDiskCreateClose@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@ExfInterlockedInsertTailList@12 referenced in function _FileDiskReadWrite@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__SeCreateClientSecurity@16 referenced in function _FileDiskDeviceControl@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol _KeGetCurrentThread@0 referenced in function _FileDiskDeviceControl@8
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__PsRevertToSelf@0 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__SeImpersonateClient@8 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__MmMapLockedPagesSpecifyCache@24 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp_@ExfInterlockedRemoveHeadList@8 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__PsTerminateSystemThread@4 referenced in function _FileDiskThread@4
1>virtualdisktools.obj : error LNK2019: unresolved external symbol __imp__KeSetPriorityThread@8 referenced in function _FileDiskThread@4
1>objchk_wxp_x86\i386\VirtualDiskTools.dll : fatal error LNK1120: 23 unresolved externals
1>
1>
1>build complete
1>building browse information files
This is, if it can be usefull, the command line that I use to compile the project:
C:\ddkbuild\ddkbuild -WNETXP chk C:\VirtualDiskTools -cZ
I'm new in driver developing and I'm not able to find out the cause of my troubles compiling this project.
If you need more information on my source, project etc., please ask me.
Thanks in advance
|
|
|
|
|
Member 4124873 wrote: TARGETLIBS = C:\VirtualDiskTools\lib\ntdll.lib
ntdll.lib is part of the ddk, not part of your project. You'd use something like $(DDK_LIB_PATH)\ntdll.lib in your TARGETLIBS statement. However, looking at your output, you're missing some very common functions like ExAllocatePoolWithTag. I'm concerned that your sources file is messed up since you're not picking up the libs that contain those common functions. Compare it with a sources file that builds a dll in the ddk examples.
Judy
|
|
|
|
|
i am studying RObotics cource ..
my project is to develop a "object following robot"
description...
basically it is a car(i will use toy car first) has camera
on it that will capture picture of a object at run time and follow it ......... it takes a check on object through camera and follow it it detects target object by sensors,,or through camera it is not decided yet
this iz alll detail of my project
i want to know how could i start working on it plz any one guide me to the whole process
waiting for replysss.
thks
|
|
|
|
|
kanza azhar wrote: any one guide me to the whole process
waiting for replysss.
Go for it and let us know what happens
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
Hi kanza azhar.
I am industrial automation programmer.
you must select a camera atleast with 640*480 resolation and then you must khow about image processing programming for detect object. then you must khow how to capture camera with this programming language. if you search image processing in google, you can download ebook about this.
thanks
|
|
|
|
|
thanks for ur rply
i have done this analysis already n some form ur rply too
nw i am working for mechinacal structure of my proj. now i am
bulding mechinical design ..........
hope for guidence here too..
|
|
|
|
|
you need guidance about Mechanic, software,hardware or optic?
if you design mechanic , you must describe about your mechanic design type then i guide you about hardware and software.
|
|
|
|
|
thanks for your rply
my mechinical part includes "a car mainly,,,
but that includes a flat wood or iron platform ,,4 wheels and
two motors for straight and left right motion ,,,
trying to cmplete it hope you understand
any suggestions are welcomed....
|
|
|
|
|
Really you design a basic machine for move in two axis;I suggest you used position servo motor for axis moving(left-right and back-front)if you want used cheap motor you can use step motor for this but you need encoder for control position and your accuracy is low with this motor;in both two motors you need supply driver and interface for control(motor);
|
|
|
|
|
hello
my design is complete andstructure is almost done
now i have to do path planning
could you plz guide me again that what path planning should i do
i have a restricted domain
and i have to move my vehicle in that domain
waiting for your reply
thanks
|
|
|
|
|
you want to use servo or step motor with encoder or no?
first estimate your robot need which motor(5kg or 10kg or ...)
select motor; then select driver for this type of motor .
|
|
|
|
|
Hi All,
I need urgent help. We have console based driver installation EXE which is developed through DDK APIs.
On my PC two network adapter card are inserted (D-Link) in two PCI slots.
When i install both Network Adapetr PCI Ethernet throgh my application, It installs the driver properly.
But in Device manager it shows 2 Network Adpater Card (D-Link) properly installed and one extra Network Adpater
Card(D-Link) entry with yellow mark (black exclamation) [This device cannot start. (Code 10)].
Why this third extra driver entry viewing in Device manager.
Entries in Device Manager :
1. D-Link DGE-530T Gigabit Ethernet Adapter
2. D-Link DGE-530T Gigabit Ethernet Adapter # 2
3. D-Link DGE-530T Gigabit Ethernet Adapter #15 (With Yellow,black exclamation mark) Location : Unknown
I am using UpdateDriverForPlugAndPlayDevices() API to install the driver.
Is there any other API need to call before UpdateDriverForPlugAndPlayDevices().
How to select device to install in particular PCI slot.
Or is there any API which takes Location like PCI Slot 3 (PCI bus 4, device 2, function 0) and install driver for
that location.
Any suggestion is most welcome.
Thanks.
Manasi
|
|
|
|
|
UpdateDriverForPlugAndPlayDevices() only works on existing devices.
You can call this first of course, and when it gfails use SetupCopyOEMInf() to do a first time install.
If you get any errors you need to make sure you put all the files in the same place on the hard disk and used that path in the call to setupcopyoeminf.
Morality is indistinguishable from social proscription
|
|
|
|
|
Thanx for your suggestion.
Device get installed but one more extra device get installed saying "Device is not working properly [Code-10] with Yellow exclamation Mark".
But in my case UpdateDriverForPlugAndPlayDevices() does not fail, it return succes for all Hardware ID and install driver for all hardware ID present in the INF file.
So after completion Device manager->Network Card contains 2 successfully installed PCI card (Which is already connected) but 1 more extra entry of the PCI card (Unkown device) with yellow exclamation mark(Code-10 Device is not working properly).
Do you have any idea.
Plz See my code :
BOOL CDriverInstaller::InstallClassDriver()
{
GUID guid = {0};
SP_DEVINFO_DATA spDevData = {0};
HDEVINFO hDevInfo = 0L;
char l_chClassName[MAX_CLASS_NAME_LEN] = {0};
char *pHID = 0L;
short wLoop = 0;
BOOL bRebootRequired = FALSE;
CErrorDisplay l_ErrMsg;
/* Get the class of a specified Windows NT 4.0-style INF file */
if (SetupDiGetINFClass(m_csINFPath, &guid, l_chClassName, MAX_CLASS_NAME_LEN, 0) != TRUE){
l_ErrMsg.DisplayError("SetupDiGetINFClass",GetLastError());
return(FALSE);
};
/* Create an empty device information set */
hDevInfo = SetupDiCreateDeviceInfoList(&guid, 0);
if (hDevInfo == INVALID_HANDLE_VALUE){
l_ErrMsg.DisplayError("SetupDiCreateDeviceInfoList",GetLastError());
return(FALSE);
};
spDevData.cbSize = sizeof(SP_DEVINFO_DATA);
/* Create a new device information element and add it as a new member to the specified device information set */
if (SetupDiCreateDeviceInfo(hDevInfo,l_chClassName,&guid,0L, 0L, DICD_GENERATE_ID,&spDevData) != TRUE){
l_ErrMsg.DisplayError("SetupDiCreateDeviceInfo",GetLastError());
SetupDiDestroyDeviceInfoList(hDevInfo);
return(FALSE);
};
for (wLoop = 0; wLoop < m_carrHardWareID.GetSize(); ++wLoop){
if (pHID){
LocalFree(pHID);
}
/* Allocate the specified number of bytes from the heap */
pHID = (char*)LocalAlloc(LPTR, strlen(m_carrHardWareID.GetAt(wLoop))*HDWARE_ID*sizeof(char));
if (!pHID){
l_ErrMsg.DisplayError("LocalAlloc",GetLastError());
SetupDiDestroyDeviceInfoList(hDevInfo);
return(FALSE);
};
strcpy(pHID, m_carrHardWareID.GetAt(wLoop));
/* Set the specified device registry property */
if (SetupDiSetDeviceRegistryProperty(hDevInfo,
&spDevData,
SPDRP_HARDWAREID,
(PBYTE)pHID,
(DWORD)(strlen(m_carrHardWareID.GetAt(wLoop))*HDWARE_ID*sizeof(char))) != TRUE){
l_ErrMsg.DisplayError("SetupDiSetDeviceRegistryProperty",GetLastError());
SetupDiDestroyDeviceInfoList(hDevInfo);
LocalFree(pHID);
return(FALSE);
};
/* Call the appropriate class installer with the specified installation request (DI_FUNCTION) */
if (SetupDiCallClassInstaller(DIF_REGISTERDEVICE,hDevInfo, &spDevData) != TRUE){
l_ErrMsg.DisplayError("SetupDiCallClassInstaller",GetLastError());
SetupDiDestroyDeviceInfoList(hDevInfo);
LocalFree(pHID);
return(FALSE);
};
printf("\n Installing or updating driver for device: %s",m_carrHardWareID.GetAt(wLoop));
bRebootRequired = 0;
/* Install updated drivers for devices that match the hardware ID */
if (UpdateDriverForPlugAndPlayDevices(0L,
m_carrHardWareID.GetAt(wLoop),
m_csINFPath,
INSTALLFLAG_FORCE,
&bRebootRequired) != TRUE){
l_ErrMsg.DisplayError("UpdateDriverForPlugAndPlayDevices",GetLastError());
if (SetupDiCallClassInstaller(DIF_REMOVE, hDevInfo, &spDevData) != TRUE){
SetupDiDestroyDeviceInfoList(hDevInfo);
}
LocalFree(pHID);
return(FALSE);
};
LocalFree(pHID);
pHID = 0L;
};
/* Destroy a device information set and frees all associated memory */
SetupDiDestroyDeviceInfoList(hDevInfo);
printf("\n\n \t Driver Installation Successfully Completed\n\n\n\n");
return(TRUE);
};
|
|
|
|
|
Do you know ther inf files are good?
You can use chkinf.exe to test them, its part of the DDK.
Morality is indistinguishable from social proscription
|
|
|
|
|
Not entirely sure if this is the right place to post this, but cant think of anywhere more appropriate.
I recently decided to get a new desktop to replace my recently deceased one. I decided to buy all the components and put the thing together myself, as it worked out considerably cheaper.
I set it all up, and turned it on. The only thing that happened was the fan CPU started spinning and the motherboard LED came on. After 30 seconds or so, the CPU fan turned off for 10 seconds or so and then started spinning again, continuing for the half hour I let it run.
However nothing appeared on the monitor at any time, and there were no BIOS warning beeps.
I cannot figure out what is wrong...
I have checked the wiring and pin configurations and it all seems correct.
Components:
320Gb SATA HDD
Asus P5KR motherboard
Intel Q6600 quad-core processor
4Gb DDR2 RAM
500W Antec Earthwatt power supply
8800GTS 640 Mb graphics card.
Any one have any idea how to fix it or anything i could try?
|
|
|
|
|
That somehow sounds like all is not right with your power switch etc.
Remove the "power" and "reset" connectors (the cables leading to the power and reset switches), then close the POWER contact with a pin.
Oh, and double check the position of all connectors on the MB.
If that does not work, try another power supply.
Different possible reason:
No or not enough heat is transferred from the die to the heat sink. Check if you have removed the plastic sheet from the underside of the heatsink. Check that the surface of the heatsink is plane. Remove all heat transfer materials (pad or paste), then use a silver-based transfer paste (small amount on the cpu, allow to spread by gently pressing the heatsink onto the CPU.
Cheers,
Sebastian
--
"If it was two men, the non-driver would have challenged the driver to simply crash through the gates. The macho image thing, you know." - Marc Clifton
|
|
|
|
|
if you do not see any things on monitor , i think your power supply has problem. check power supply pin out voltage with multi meter . first connect two pin with a wire for reson , it turn on.
|
|
|
|
|