Install Printer Driver with my print processor in NT
Hi,
I have my own print processor. I am installing it using
AddPrintProcessor.
Now I am using UNIDRV.DLL, UNIDRVUI.DLL for AddPrinterDriver. These
files are not installed in some version of NT by default.
So what should I do? I can copy this files to PrinterDriverDirectory.
But for all OS with various service pack these files may be different.
So this is not good approach, that I am thinking. Also in groups I
also got the help that it is not recommended.
So I am trying to use rundll32 printui.dll,PrintUIEntry... But there
is no option to select PrinterProcessor. So how can I change the
PrinterProcessor to my own automatically.
My Printer Processor is testpr, testpr.dll.
Can you suggest me what should I do for automatically installation?
Thanks,
Dhaivat Shah Tag: Try on these security patch from M$ Corp. Tag: 33213
Installable driver problem
Hallo,
I'm writing an installable driver for recording purposes, and I have
some strange problems: I've written a dummy version, thinking to add
functionalities in a second time, but I cannot install it: the 'new
hardware wizard' fails with the message 'incorrect parameter'.
The only message reaching my driver is DRV_LOAD, and I only return 1,
with no other operations.
After the failed installation every application using sound fails to
initialize with exception 0xC0000005, so I'm thinking of some access
violation, but I really cannot figure where I'm doing wrong.
Does somebody have any idea ?
Thank you,
Marco
PS here is the OEMSETUP.INF and the driver code:
//////////////////////////////////////////////////////////
OEMSETUP
/////////////////////////////////////////////////////////
[Source Media Descriptions]
1 = "RecorderTest sound driver" , TAGFILE = RecorderTest_disk
[Installable.Drivers]
RecorderTest = 1:RecorderTest.dll, "wave,mixer", "RecorderTest sound
driver" ,,,
[RecorderTest ]
1:RecorderTest.dll
//////////////////////////////////////////////////////////////////
// RecorderTest
//////////////////////////////////////////////////////////////////
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
return TRUE;
}
LRESULT DriverProc(DWORD dwDriverId, HDRVR hdrvr, UINT msg,
LONG lParam1, LONG lParam2)
{
DWORD dwRes = 0L;
switch (msg) {
case DRV_LOAD:
// Sent when the driver is loaded. This is always
// the first message received by a driver.
dwRes = 1L; // returns 0L to fail
break;
case DRV_FREE:
// Sent when the driver is about to be discarded.
// This is the last message a driver receives
// before it is freed.
dwRes = 1L; // return value ignored
break;
case DRV_OPEN:
// Sent when the driver is opened.
dwRes = 1L; // returns 0L to fail
break; // value subsequently used
// for dwDriverId.
case DRV_CLOSE:
// Sent when the driver is closed. Drivers are
// unloaded when the open count reaches zero.
dwRes = 1L; // returns 0L to fail
break;
case DRV_ENABLE:
// Sent when the driver is loaded or reloaded and
// when Windows is enabled. Install interrupt
// handlers and initialize hardware. Expect the
// driver to be in memory only between the enable
// and disable messages.
dwRes = 1L; // return value ignored
break;
case DRV_DISABLE:
// Sent before the driver is freed or when Windows
// is disabled. Remove interrupt handlers and place
// hardware in an inactive state.
dwRes = 1L; // return value ignored
break;
case DRV_INSTALL:
// Sent when the driver is installed.
dwRes = DRVCNF_OK; // Can also return
break; // DRVCNF_CANCEL
// and DRV_RESTART
case DRV_REMOVE:
// Sent when the driver is removed.
dwRes = 1L; // return value ignored
break;
case DRV_QUERYCONFIGURE:
// Sent to determine if the driver can be
// configured.
dwRes = 0L; // Zero indicates configuration
break; // NOT supported
case DRV_CONFIGURE:
// Sent to display the configuration
// dialog box for the driver.
dwRes = DRVCNF_OK; // Can also return
break; // DRVCNF_CANCEL
// and DRVCNF_RESTART
default:
// Process any other messages.
return DefDriverProc (dwDriverId, hdrvr,
msg, lParam1, lParam2);
}
return dwRes;
} Tag: Try on these security patch from M$ Corp. Tag: 33208
How to associate an Ndis Protocol Handle with a Binding Handle?
What I'd like to do is have several instances of a protocol driver
registered with NDIS. The problem I am having is associating the
NdisProtocolHandle (returned from NdisRegisterProtocol()) with the
BindingContext given to ProtocolBindAdapter(). Since NdisRegisterProtocol()
does not take a user context as a parameter and there is no user context
passed into ProtocolBindAdapter(), it is impossible to tell which binding
context belongs to which protocol handle. Any ideas?
((&-< Tag: Try on these security patch from M$ Corp. Tag: 33207
Installable driver problem
[my newsreader is hiccuping today, sorry if this post is doubled]
Hallo,
I'm writing an installable driver for recording purposes, and I have
some strange problems: I've written a dummy version, thinking to add
functionalities in a second time, but I cannot install it: the 'new
hardware wizard' fails with the message 'incorrect parameter'.
The only message reaching my driver is DRV_LOAD, and I only return 1,
with no other operations.
After the failed installation every application using sound fails to
initialize with exception 0xC0000005, so I'm thinking of some access
violation, but I really cannot figure where I'm doing wrong.
Does somebody have any idea ?
Thank you,
Marco
PS here is the OEMSETUP.INF and the driver code, i think it's the
plainest possible:
//////////////////////////////////////////////////////////
OEMSETUP
/////////////////////////////////////////////////////////
[Source Media Descriptions]
1 = "RecorderTest sound driver" , TAGFILE = RecorderTest_disk
[Installable.Drivers]
RecorderTest = 1:RecorderTest.dll, "wave,mixer", "RecorderTest sound
driver" ,,,
[RecorderTest ]
1:RecorderTest.dll
//////////////////////////////////////////////////////////////////
// RecorderTest
//////////////////////////////////////////////////////////////////
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
return TRUE;
}
LRESULT DriverProc(DWORD dwDriverId, HDRVR hdrvr, UINT msg,
LONG lParam1, LONG lParam2)
{
DWORD dwRes = 0L;
switch (msg) {
case DRV_LOAD:
// Sent when the driver is loaded. This is always
// the first message received by a driver.
dwRes = 1L; // returns 0L to fail
break;
case DRV_FREE:
// Sent when the driver is about to be discarded.
// This is the last message a driver receives
// before it is freed.
dwRes = 1L; // return value ignored
break;
case DRV_OPEN:
// Sent when the driver is opened.
dwRes = 1L; // returns 0L to fail
break; // value subsequently used
// for dwDriverId.
case DRV_CLOSE:
// Sent when the driver is closed. Drivers are
// unloaded when the open count reaches zero.
dwRes = 1L; // returns 0L to fail
break;
case DRV_ENABLE:
// Sent when the driver is loaded or reloaded and
// when Windows is enabled. Install interrupt
// handlers and initialize hardware. Expect the
// driver to be in memory only between the enable
// and disable messages.
dwRes = 1L; // return value ignored
break;
case DRV_DISABLE:
// Sent before the driver is freed or when Windows
// is disabled. Remove interrupt handlers and place
// hardware in an inactive state.
dwRes = 1L; // return value ignored
break;
case DRV_INSTALL:
// Sent when the driver is installed.
dwRes = DRVCNF_OK; // Can also return
break; // DRVCNF_CANCEL
// and DRV_RESTART
case DRV_REMOVE:
// Sent when the driver is removed.
dwRes = 1L; // return value ignored
break;
case DRV_QUERYCONFIGURE:
// Sent to determine if the driver can be
// configured.
dwRes = 0L; // Zero indicates configuration
break; // NOT supported
case DRV_CONFIGURE:
// Sent to display the configuration
// dialog box for the driver.
dwRes = DRVCNF_OK; // Can also return
break; // DRVCNF_CANCEL
// and DRVCNF_RESTART
default:
// Process any other messages.
return DefDriverProc (dwDriverId, hdrvr,
msg, lParam1, lParam2);
}
return dwRes;
} Tag: Try on these security patch from M$ Corp. Tag: 33206
Queued spinlock mystery !!!
< Do you know how the queued spinlock works? It maintains
< a linked list of
< KLOCK_QUEUE_HANDLEs, where the list tail is the
< acquisitor who runs, others are
< acquisitors who wait.
< KLOCK_QUEUE_HANDLE is like Irql variable for usual
< spinlocks.
< You must have at least 1 KLOCK_QUEUE_HANDLE per CPU,
< and use
< KeGetCurrentProcessorNumber to access the correct one,
< with raising on
< DISPATCH_LEVEL beforehand.
I don't understand how queuedspinlocks works anymore. I
thought that there
was only one queue and all cpus were locking themselve
with that queue ex:
KLOCK_QUEUE_HANDLE
|
----------------
| Acquire lock | <----- cpu #0
----------------
----------------
| Acquire lock | <----- cpu #2
----------------
----------------
| Acquire lock | <----- cpu #1
----------------
----------------
| Acquire lock | <----- cpu #3
----------------
If this is not the case but every cpu must have his
KLOCK_QUEUE_HANDLE how
can cpu #2 knows that it must wait because cpu 0 have the
lock if this
lock was putted into the KLOCK_QUEUE_HANDLE of cpu #0 ?
Can someone at Microsoft can explain to me how queued
spinlock really works ?
Thanks Tag: Try on these security patch from M$ Corp. Tag: 33204
Usbscan.sys for multi interface installation in windows 98 ?
I am a software developer for multifunction printer
driver. Here is my problems:
I can't successfully install multifunction printer driver
(composite device, and use usbprint.sys + usbscan.sys)
in Windows 98/SE. The F/W in our device reports multi
interfaces to PC host. Vid_xxxx&Pid_yyyy&MI_00 is printer
interface and Vid_xxxx&Pid_yyyy&MI_01 is scanner
interface.
I referenced the "Building for Windows 98 and Windows 98
SE" section in usbscn9x.htm in Windows Server 2003 DDK.
I follow the DDK's instructions to do some fix, restart my
computer in Windows 98, and use 98 DDK to build the
sample. But it fails.
1. What's wrong with it?
2. Or ... anybody can give me usbscn9x.sys binary
directly?
3. I may doubt the problem may occur in .inf. Does the
scanner .inf has any special writing for multi interface
in Windows 98/SE?
Regards, Tag: Try on these security patch from M$ Corp. Tag: 33199
need a better method to install ps/2 mouse filter
Installing the mouse filter example from the ddk (moufiltr) removes
whatever driver the user had installed for their mouse and overrides
it with the ps/2 mouse driver. For instance, it is undesirable to
replace trackpoint drivers with the less optimal ps/2 mouse driver
when all we want to do is get a mouse filter installed. Is there a
better way to value add a mouse filter driver? It doesn't matter if it
can't get logo or requires programatically updating the registry; the
end user experience is what counts here. Tag: Try on these security patch from M$ Corp. Tag: 33198
How to send the vendor command via the USBprint.sys
Hello...
I try to send the vendor command
(IOCTL_USBPRINT_VENDOR_GET_COMMAND)in the user mode AP via
the usbprint.sys. In the DDK, it tell the programmer to
include the ioctl.h, but there's no defination in the
include file. Who can tell me how to do it?
Thank you very much.
Kent 9/29/2003 Tag: Try on these security patch from M$ Corp. Tag: 33196
What is power up ??
hello
if the device is in DevicePower D3 state.i mean device is
in sleeping state, how do i wake up the
device. i mean when a ioctl is called,how to power up &
complete the task.what are the basic step to power up in a
deviceiocontrol.can anyone guide me getting the logic
behind power up.
Thanks in advance.
pavan Tag: Try on these security patch from M$ Corp. Tag: 33195
how to remove/unplug a usb disk?
Is there any way to remove/unplug the usb disk without the os warning(like
use mouse to click the tray icon to remove it)?
Does any SetupDixxx function to do this? Tag: Try on these security patch from M$ Corp. Tag: 33193
code_seg and MSVC 7.0, 7.1...
Is there any way to control the code segment an expanded inline class member
or templated function is placed into? For the code below, all functions but
ccc() are placed into _TEXT. Only ccc() is placed into CCC.
Yes, this is for driver development.
Cheers,
Nick
#include <stdio.h>
#define LPCSTR char*
struct A
{
#pragma code_seg(push, "AAA")
LPCSTR aaa() { return "aaa aaa aaa"; }
#pragma code_seg(pop)
#pragma code_seg(push, "BBB")
template<class T>
T bbb(T t) { return t; }
#pragma code_seg(pop)
};
#pragma code_seg(push, "CCC")
__forceinline LPCSTR ccc() { return "ccc ccc ccc"; }
#pragma code_seg(pop)
#pragma code_seg(push, "DDD")
template<class T>
T ddd(T t) { return t; }
#pragma code_seg(pop)
void main()
{
A a;
a.aaa();
printf( "%p %p %p %d %d", a.aaa, ccc, ddd(1), a.bbb(1) );
} Tag: Try on these security patch from M$ Corp. Tag: 33192
Timer in kernel mode
Hi
can anyone tell me how to use timer (and their callbacks)
in kernel mode?
Thanks
Sam Tag: Try on these security patch from M$ Corp. Tag: 33182
Spool file name
Hi all,
Somebody knows how to get the spool file name related to a
print job? In pre-W2003 Server I could use the job number,
but in Windows 2003 Server, if the port is TCP or IR the
job number is not used in the file name, and the .SHD file
is locked.
I'm wondering there is some hidden API in local print
provider to get the name.
Thanks in advance,
Wendell. Tag: Try on these security patch from M$ Corp. Tag: 33155
TAPI - autodialers & Prerecorded Voice calls using a cellular modem
Hi,
First I wanted to confirm that it is legal to do this so long as you
are calling another business (you just can't call a private residence
using this system).
Second I wanted to know if anyone knows of a particular software
package, either pre-made or a software development kit to make your
own program to:
have a cell modem autodial a number then play back an mp3 or wav file
with a prerecorded voice then disconnect.
I know this *does* exist to work with land-based phone lines and
regular modems. There are also some pc peripheral cards that allow for
a phone system to be set up but these cards costs hundreds of dollars.
I am just interested only in something that works specifically with a
cell phone plan on a computer - IE:
a cellular modem, aircard or wireless voicemodem
Thanks in advance,
Stan Tag: Try on these security patch from M$ Corp. Tag: 33153
When does The pending IRP be Cancelled?
Hello Everyone?
I meet a problem when I write a driver for my virtual serials
device.
In driver, i need pend some wait event irp( for function WaitCommEvent()).
When The data is little, The wait event irp works well.
But when much data comes, The wait event irp often cancels automatically.
I set cancel routine for event wait irp,and the routine is called.
Why does the kernel cancel the irp?
Why is so?
Jerry Tag: Try on these security patch from M$ Corp. Tag: 33152
USB 2.0 isoch transfers CPU load up to 50%
Hello,
Our device use two iso endpoints. One In and one OUT.
We connect 6 devices. And on some machines the system hang. On other
we have more than 50% CPU load.
How we can decrease CPU load ?
Best regards, Alex. Tag: Try on these security patch from M$ Corp. Tag: 33151
HCT 11.2 Driver Verifier test : Problem in PMTE test
Hi All,
=20
I got a problem during my NDIS Mux Intermediate=20
driver testing with HCT 11.2 kit in Driver Verifier Test.=20
In this test there is four subtests.
=20
1. NDIS Test
2. NDIS(IPSec) Test
3. ACPI S1 Stress Test
4. Driver Enable/Disable Test
=20
=20
NDIS test and NDIS(IPSec) tests are pass. But during ACPT=20
Test -it will fail with PMTE test. I attach that log=20
below. I use Windows XP OS.
During Driver Verifier test, when execute pm test shell it=20
will give error messege:
***************************************
PMTE failed to init
Error : DEVICE_TEST_INFOC :: INIT()
Error : Failed to init Device info
***************************************
For hardware requirement, Is there require S1,S2,S3 or S4=20
support in my Hardware Bios. Which way I come to know that=20
my motherboard support S1,
S2,S3 or S4 ? Is there any additional setting require=20
related to IP Addres binding with server and test system.=20
Now I had prepare my Test setup as per detail
given in HCT Documentation. Please tell me if there power=20
management related setting require.
=20
=20
Can you help me if you have any solution for above=20
test problem.
=20
Thanks in advance.
=20
Amit Dhaduk
=20
Log ::
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+
Log header
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+
=20
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
VARIATION 1 START=20
Start
=20
FAILURE: couldn't find device with PNPID=3D=20
ROOT\MS_MUXMP\0001
=90=16=F5w=D85=20
=20
VARIATION 1:FAIL=20
Elapsed Time: Days 0 Hours 0 Minutes 0 Seconds 3
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-----------------------------------------------------------
---------
NTLOG REPORT
-----------------------------------------------------------
---------
Tests Total 0 | Variations Total =20
1
-----------------------------------------------------------
---------
Tests Passed 0 0 % | Variations Passed =20
0 0%
Tests Warned 0 0 % | Variations Warned =20
0 0%=20
Tests Failed sev3 0 0 % | Variations Failed sev3 =20
1 100%=20
Tests Failed sev2 0 0 % | Variations Failed sev2 =20
0 0%=20
Tests Failed sev1 0 0 % | Variations Failed sev1 =20
0 0%=20
Tests Blocked 0 0 % | Variations Blocked =20
0 0%=20
Tests Aborted 0 0 % | Variations Aborted =20
0 0%=20
-----------------------------------------------------------
---------
=20 Tag: Try on these security patch from M$ Corp. Tag: 33150
Driver architecture for multi-channel DMA
I am designing a driver to support a multi-channel DMA bus-master
device. I wanted to associate a channel with the file handle from a
CreateFile call. For example UserA connects to the driver by calling
CreateFile. The driver reserves DMA channel A for them. UserB
connects to the driver by calling CreateFile. The driver reserves DMA
channel B for them. UserA writes data to the device using WriteFile
and UserB does the same. In my DispatchWrite function, how do I
distinguish between IRPs that came from different WriteFile calls and
properly associate them with their channel's queues?
Am I on the right track or do I need to consider an alternate driver
architecture?
Thanks,
David Atkisson Tag: Try on these security patch from M$ Corp. Tag: 33127
regsvr32 error says "file not found" on Win2003 Server
Hello all,
Last week I asked this forum how to register a DLL and got the answer:
________________
Assuming the dll was not part of a COM+ package, put your dll in the
directory you want (doesn't have to be part of the folder structure for the
website) and then open a DOS prompt and type:
regsvr32.exe c:\PathToTheDLL
________________
We are running Win2003 Server Web edition and when I do this I get the error
message:
LoadLibrary("c:\Windows\system32\filefunctions.dll") failed - The specified
module could not be found.
This is definitely where the file is. The DLL is necessary to support a
function in the ColdFusion based administrator tools for our web site. Any
ideas anyone??
There is one strange thing about this DLL and that is that it was written in
1997 and when I view the permissions on the file I cannot change them at
all. I copied it over from the server that is currently in use and I am
trying to get the new server ready to replace the old server.
Last important thing is that when I looked at the Properties panel just now
I saw the following comment:
COM object for providing filefunctions to ASP. So it appears that this
could be part of a COM+ package as indicated in the answer I received in the
forum.
I'm the ColdFusion guy - not a windows developer but I have not been able to
resolve this.
Thanks in advance, Jerry Tag: Try on these security patch from M$ Corp. Tag: 33124
Interrupt Handler
Do, I have to have an interrupt handler for a PCI card
that supports interrupts?
This is a throw-away driver for architectural testing.
I can guarentee that the card will not fire interrupts
during my testing. However, the I/O manager will assign
resources to my card.
Can I skip the handler, or should I just supply a no-op
function? What happens if I don't supply the handler? Tag: Try on these security patch from M$ Corp. Tag: 33122
set infrastructure mode & SSID programmatically
I would like to write a program to set the SSID and
infrastructure mode on a Cisco 350 wireless adapter card.
The solution needs to work on Win2K as well as XP so I am
limited to NDIS 5.0. I can't just use the network
configuration app in the Control Panel or Cisco's ACU. It
has to be done through a program. Any advice? Tag: Try on these security patch from M$ Corp. Tag: 33114
Windows XP bootup issue with wireless 802.1x
While debugging wireless/WPA/802.1x against
our Access Points, I found that there are bootup
issues in XP booting with the wireless NICs as
the only interface i.e. no wired connectivity
when they are using 802.1x/EAP/PEAP
Many a time, PEAP negotiations using user login
credentials fail because the RasMan/Remote
Access Connection Manager that hosts MSCHAPV2
authentication exits/aborts unexpectedly leaving
the authentication to time out at the AP side.
It does not seem to recover from this failure.
From looking at the "netsh ras..." tracing logs it
seems that RasMan terminates based on reference
counting mechanism. The mechanism may be flawed or
there is a race condition between it and the
EAP processing.
In any case I have found a way to keep this
problem from happening by keep RasMan alive -
enabling Application Layer Gateway and
Internet Connection Firewall - users of RasMan -
keeps the reference count up and prevents RasMan
from exiting prematurely.
Any one else seen problems with windows XP boot
when using wireless/802.1x? Any patches/updates
from Microsoft?
Thanks,
- Nehru
ps: If there is a another group which is more appropriate
for this post I'd appreciate it if you let me know. Tag: Try on these security patch from M$ Corp. Tag: 33112
IWiaLog still not working
I've asked this question a while back and no one seemed to know the
answer. But I have a bit more info this time.
I've built a WIA minidriver using the DDK compiler and linker. But for
some reason, I've not been able to output trace and warning messages
through system WIA log facility. I've enabled logging with the DDK's
Wia Logging Configuration Tool---I added the module and set the debug
output to full (level 3; trace, warning, & error messages enabled).
I've also tried directly using the IWiaLog interface instead of the
macros, to make sure the call is made. But no messages are output.
However, I CAN get messages written to the log as long as I specify
the WIA_ERROR flag in the call to IWiaLog::Log(). But if I specify
WIA_TRACE or WIA_WARNING, the messages do not get sent to the log.
That sounds as if something in Windows is configured to output error
messages but not trace or warning messages. And there is a place in
the registry for this at:
HKLM\System\CurrentControlSet\Control\StillImage\Logging\
I've made sure that my module appears there and that the level is set
to 7. And I've restarted the WIA service after making those changes.
But still no warning or trace messages. I've also set the levels to 7
for the modules listed under:
HKLM\System\CurrentControlSet\Control\StillImage\Debug\
although I don't believe that should have anything to do with it. It
was something to try.
So why is it that I can output only WIA_ERROR messages but not
WIA_TRACE or WIA_WARNING messages? It seems like it should be simple
but I can't find it. I hate having to debug the debugging facility. :( Tag: Try on these security patch from M$ Corp. Tag: 33111
low resource situation during IRP_MN_SET_POWER
Hello
I have modeled my power handling along the lines of toaster example in
the DDK. The example allocates separate work item and queues it to
handle device specific power handling which gets scheduled at passive
level. When I am running it with driver verifier enabled and low
resource simulation option turned on, I find that at times allocation
of work item can fail. Now as per DDK, the Device can never fail the
IRP_MN_SET_POWER IRP.
I am looking for suggestions on how to handle these and other kind of
resource failures that can happen during IRP_MN_SET_POWER.
Thanks in advance.
Puneet Tag: Try on these security patch from M$ Corp. Tag: 33106
capturing text information using a display driver
I am using DrvTextOut to capture the text information. However,
whenever I type anything on any editor I first get a DrvBitBlt which gives
the co-ordiante of the entire client area of the editor as the destination
surface and then only I get the DrvTextOut call. I want to know why the
DrvBitBlt call comes in this case and not only the DrvTextOut call. Is there
a way to distinguish this call from the DrvBitBlt which comes when there is
actual change in the screen.
Thanks,
Sachin Tag: Try on these security patch from M$ Corp. Tag: 33100
Setting Events???
Hi.
How can I SetEvents in the kernal mode which are initialised by the user
mode without completing the IRP.... so that the user mode can know that the
event is signalled?
Iam using a DeviceIoControl( ) in the user mode and this comes to the Kernal
mode as an IRP. DeviceIoControl ( ) is called in an asynchronous mode with
lpOverLapped ( with a handle to an event created in the UserMode) . When I
complete this IRP in the kernal mode the the event is fired and the UserMode
which waits in the WaitForSingleObject (for this event) gets processed.
Now I want to Set the Event (created in the UserMode) in the Kernal Mode
without completing the related IRP.
I have two questions...
If I send the event in the IOBuffer and extract it and set it using
KeSetEvent in KMD, does the WaitForSingleObject ( ) in UserMode fires????
Or
Is there any other mechanism, by which I can send messages to the UserMode
from the KernalMode without using IRP???
Thanks
Anand. Tag: Try on these security patch from M$ Corp. Tag: 33092
GetPaletteEntries
Hello!
Is it possible to determine the palette information of a driver within
application level?
Say, create and application then query for its default palette
information such
as PAL_BITFIELDS or PAL_INDEXED or the RGB value of the each entry in
the palette.
Thank you.
alvin Tag: Try on these security patch from M$ Corp. Tag: 33088
IEEE1394 Gapcount
I my 1394 network the gapcount changes sometimes dynamically to a low value
e.g. if I have three nodes in my network the gapcount will set to 7.
How can I be certain that the gapcount keeps the max value, that is 63?
Is there a registry setting that the IEEE1394 stack of Win2k and WinXP uses?
Or is it maybe sufficient enough to set the gapcount only once with the
IoControl call IOCTL_SET_LOCAL_HOST_INFORMATION using level
SET_LOCAL_HOST_PROPERTIES_GAP_COUNT?
Thanks in advance,
Ronny Tag: Try on these security patch from M$ Corp. Tag: 33082
Debug Symbols for WinXPSP1 FreeBuild
I downloaded the xpsp1sym_x86.exe symbol file Win XP Sp1
x86 Freebuild at
http://www.microsoft.com/whdc/ddk/debugging/symbolpkg.mspx
but when I try to execute it an error message box appears
saying
"xpsp1sym_x86.exe is not a valid Win32 application".
How do I get this to extract/load/work?
Also, where in the world can Win XP Checked Build be
purchased? Can this only be obtained by ordering from
Microsoft or are there particular CD-ROM retailers or
computer stores which carry it?
Thanks in advance.
Antranik Tag: Try on these security patch from M$ Corp. Tag: 33075
WPA problem under Windows XP
Hello...
I have developed wireless lan device driver.
Now I have tested WPA and there is a issue in the XP SP1+ WPA patch.
[AP environment]
AP - Athelos AP(a/g/b and supporting WPA)
: 11g/11b mode
: WPA-PSK, key=0x0123456789,cipher type = AUTO
: AP software 2.4.2.2
## Auto cipher means AP uses unicast cipher as TKIP and AES.
[Client environemt]
:Ahtelos a/b/g card, Intersil reference card,TI 11b cardbus
[sympton]
- in the 4way handshake, the XP does not send 4rd messages to AP.
- the 3 cards have same result.
- just changing the Cipher type as TKIP,AES and then there is no problem.
- but using FUNK WPA software(ver 2.22,Auto cipher) there is no problem.
--
Bruce
WLAN Card develpoment, R&D Center
Samsung Electro-Mechanics Co., LTD.
Tel : +82-31-210-6713
Fax : +82-31-210-5529
E-mail: brucejr@samsung.com
http://www.magicLAN.com Tag: Try on these security patch from M$ Corp. Tag: 33065
MS Word landscape - Portrait mix - w2000 Print driver
I have a problem with printing a Word 2000 document which has both
landscape and portrait. The document pages start in portrait, and
switche to landscape. For some reason, Word draws the first landscape
page as landscape, and the subsequent pages as portait.
I have watched the DrvDocumentPropertySheets function and the passed
in DevMode, and can see Word switch the orientation to portrait.
Anybody suggestions? Anybody?
thanks
Rollin
I am using Windows 2000. Tag: Try on these security patch from M$ Corp. Tag: 33063
Disk Filter Driver won't unload
When I stop my disk filter driver it receives a stop message and a remove
message, but it does not unload. I presume this is because it has not
released a resource that it has allocated. I've checked my code and can not
see any problems. If I omit to set the FILE_REMOVABLE_MEDIA flag then the
driver will unload, but windows will not assign a driver letter to the
device.
I assume that by setting the FILE_REMOVABLE_MEDIA flag Windows does
something extra that I need to tell it to undo, but I am unclear as to what
to do. Do I need to release the drive letter allocation somehow? Tag: Try on these security patch from M$ Corp. Tag: 33059
WINDBG 6.2.0013.0 Hang
Debugee is Windows 2000 SP4 system. Debugger is Windows XP
SP1 system running WINDBG 6.2.0013.0, com1, 115200. When
Win2000 system selects debug start, "Starting Windows"
progress bar goes to full sweep, WINDBG gets
to "Executable search path is", then both hang.
If Debuggee does not select debug start, startup is
normal, can login.
What might be hanging the debug session? Thanks. Tag: Try on these security patch from M$ Corp. Tag: 33056
Usb isochronous transmision error
Hello,
I have written a USB driver for a simple USB camera. The OS is Windows 2000.
I use isochronous mode for reading data basing on code from isousb (DDK W2k
example).
On my own machine all work well (I've Duron 1000 with sis Usb interface --
ohci?).
I've also tested driver using other computers (Celeron 400 + Intel usb
interface -- uhci ?, 2xPentium 3 600 with intel usb interface), and the last
one with VIA usb interface).
The results of testing wasn't good, after a few good received iso packages
occured packed with status code 0x0000009. As I read, it's means, that
system load is too high / cpu is too slow, but in all cases idle process
takes 40-60 % of CPU.
Even, if driver don't process received data, bad packeges occures.
I use the same pipe configuration, as orginal driver which works very good
on all of this configuration.
I set USBD_TRANSFER_DIRECTION_IN | USBD_START_ISO_TRANSFER_ASAP flag (the
same as orginal drv). USBD_SHORT_TRANSFER_OK make no difference. Also
reseting pipe don't help.
<<My brain is boiling now - please help...>>
best regards
--
Tomasz Berg
*** remove "x" from before and after "tomasz.berg" for direct email *** Tag: Try on these security patch from M$ Corp. Tag: 33053
devcon source from DDK
Hello.
I need to take a look to devcon souce code from Windows DDK.
Please send or post it.
Thanks,
Vlad Tag: Try on these security patch from M$ Corp. Tag: 33051
Can I support 2 disks on a single USB device using two interfaces
Can I support 2 disks on a single USB device using two interfaces?
I know you can't natively do this for COM ports, is there any similar
limitation for mass storage devices?
Thanks in advance,
Marc Reinig
System Solutions Tag: Try on these security patch from M$ Corp. Tag: 33049
reading from a HID device
I've got an application that's reading from my HID driver,
and most of the time there's no problems. But there seems
to be occassions when some of the packets the driver reads
in from the device, never make it to the application. I'm
using the system ReadFile, to get these packets, so I
thought I'd have sidestepped missing packet troubles. Can
this be avoided somehow? Any help would be appreciated!
benjamin Tag: Try on these security patch from M$ Corp. Tag: 33043
IM driver under Win98
Will an IM driver for Win98 work under WinMe also?
Where can I read about installation of an IM driver under Win98, I read
somewhere it's a bit tricky
TIA
Zuka Tag: Try on these security patch from M$ Corp. Tag: 33040
driver not starting failing with file specified not found in XP and 2003
Hello,
We are installing our product in XP and 2003. After the
reboot of the machine, we find that our drivers and
services are not started. The reason given in the system
event log is the file specified not found. The imagepath
in the registry is \systemroot\system32\drivers\[driver
name]. The file is in that path too. If we change the
file to some other directory like \systemroot\system32
\bob\[driver name], the driver is getting started. This
error is happening only in XP and 2003. We checked in the
System Information and found that the driver is being
pointed to the right path. Please let me know the
traces/logs/dumps or docs that you need to analyse the
problem.
Regards,
Ramki Tag: Try on these security patch from M$ Corp. Tag: 33031
IP address not setting with NDIS IM installed?
Hi, All!
What could be the origin to following problem:
When I change TCP/IP host address in the card properties with my IM
filter driver installed, ipconfig remain to show _previous_ IP address
(before change), and only when I uninstall my IM driver - ipconfig
starts to show _new_ IP address.
Say, at start (when no USB device plugged in) - ipconfig shows up
"0.0.0.0". Then I install IM driver and plug USB card in. Then I change
IP address to "192.168.5.239" and ipconfig still shows "0.0.0.0". When I
remove IM driver - ipconfig starts to show "192.168.5.239". If I install
IM driver back - ipconfig shows IP "192.168.5.239", but when I change
it, say, to "192.168.5.111" - it continues to show "192.168.5.239" until
I uninstall IM filter driver.
What the f*? I mean what could be handled wrong to lead to described
behaviour?
Thanks in advance. Tag: Try on these security patch from M$ Corp. Tag: 33029
Detecting PCI devices on Win98 and XP
Hi,
I am relatively new to the DDK and am trying to familiarize myself
with hardware detection and interaction.
Currently I am writing a little application to detect what devices are
on a users computer, and have run into a trouble spot. PCI devices.
I realize that with the SetupAPI, I can get PCI device information
from Win 2000 and XP, but I am looking for a more suitable solution
that would cover all Windows operating systems. I have done this for
the USB detection already.
Is it possible to code a one stop shop for PCI devices as well?
So - to boil it down, does anyone have any information concerning PCI
Device detection, and/or, examples that might put me on the path to
success!?
Thanks in advance,
Bert Grantges Tag: Try on these security patch from M$ Corp. Tag: 33021
Writing and Reading Directly to a Hard Drive
Can someone point me in the right direction as to how I can write directly to a location on a
harddrive and read directly from a location on a harddrive. Assume I know little to nothing about
low level hard drive communication. Tag: Try on these security patch from M$ Corp. Tag: 33014
Unable to be "WPA Capable" because of some OID handshake problem.
Hi,
I am developing a WLAN Ndis driver and use latest ntddndis.h. I have
applied Q815485 WPA Wireless Security Update on WinXPSP1a as mentioned
in WPA-Overview document by Microsoft. According to "IEEE 802.11
Network Adapter Design Guidelines for Windows XP, May 22, 2003" (pg 7)
I get a query/set OID_802_11_AUTHENTICATION_MODE as
Ndis802_11AuthModeWPA followed by 3 query/sets of
OID_802_11_ENCRYPTION_STATUS for Ndis802_11Encryption3/2/1Enabled.
After this I keep receiving query OID_802_11_ENCRYPTION_STATUS once in
a couple of minutes where I return Ndis802_11Encryption1Enabled.
I don't receive set/query on OID_802_11_ADD_KEY nor
OID_802_11_ASSOCIATION_INFORMATION. Due to which I am unable to get
'WPA' in Wireless-N/W-Prop->Association->N/W-Authentication dropbox.
Can somebody please tell why I don't receive ADD_KEY or
ASSOCIATION_INFORMATION 802.11 OID's. Is there anything else to be
done for being 'WPA Capable' ?
Thanks,
Ashirwad.
(One off the track observation is that the 802.11 OID's in ntddndis.h
are not #defined in ascending numeric order e.g.#define
OID_802_11_STATISTICS, OID_802_11_POWER_MODE, OID_802_11_BSSID_LIST.
This is just fyi.) Tag: Try on these security patch from M$ Corp.