Driver differences
Can someone point me to a page that lists or describes the differences
between drivers for Windows XP and drivers for Windows Vista?
I'm not a driver developer, but I've been tasked with getting a high level
overview of the differences. I need to find out what changes will be required
to port our existing NDIS driver to Windows Vista.
Any help will be appreciated. Tag: storport half-duplex mode Tag: 92672
How to call LockWorkStation on Vista 64-bit?
Not a driver question but -
We we call LockWorkStation on Vista 32-bit is works and locks the
workstation. On Vista 64-bit it doesn't work. What is the trick to make this
call or is it unsupported on 64-bit? Tag: storport half-duplex mode Tag: 92671
help files in printer driver user interface
In all previous versions of our printer drivers (for Windows 98, NT, 2000,
XP)
we used the WinHelp API to display context sensitive help for the printer
driver user interface DLL. Windows Vista no longer supports the WinHelp
functions, so I converted the driver UI to use HtmlHelp and rebuilt the old
HLP files into newer CHM files. This does does not seem to work though.
I can debug the driver UI and see that I am passing correct parameters
to HtmlHelp() function, but nothing gets displayed.
Is there some trick to using HtmlHelp from driver UI DLL? Is there a better
way to add context sensitive help to driver UI?
Thanks in advance,
Neal Tag: storport half-duplex mode Tag: 92670
How to use SetErrorMode() to ignore pop-up windows?
Hi all,
The code is:
if(!SetupDiCallClassInstaller(DIF_INSTALLDEVICEFILES, hDevInfo,
&deviceInfoData))
{
// happen error here!
errCall = "SetupDiCallClassInstaller";
goto failed;
}
When application run into SetupDiCallClassInstaller api, it will popup a
error message about device installer error.
There I want to disable this window pop-uped. Then application can execute
normally.
So I try to use SetErrorMode() like following:
SetErrorMode(SEM_FAILCRITICALERRORS);
if(!SetupDiCallClassInstaller(DIF_INSTALLDEVICEFILES, hDevInfo,
&deviceInfoData))
{
// happen error here!
errCall = "SetupDiCallClassInstaller";
goto failed;
}
SetErrorMode(0);
But it seems can't work...
Do you have any suggestions about it?
Thanks in advance!
Eugene Tag: storport half-duplex mode Tag: 92650
Volume control implementation
In this post I am referring to Windows 2K/XP, things seem somewhat
different in Vista and I haven't had a chance to investigate it]
There is volume control in Windows Media Player (or Winamp, or any other
player application) and there is one in Windows control panel. Can anyone
explain what each of them actually does?
My current understanding is that volume control in the player makes player
application scale audio stream programmatically, after which audio stream is
sent to the hardware.
Volume control in the Windows Control panel doesn't change audio stream
programmatically but instead works as a "knob" for hardware amplifier on the
sound card.
Am I correct? Is there any information on MS website that explains all this?
So far I haven't found it. Tag: storport half-duplex mode Tag: 92643
Getting user input and rebooting the machine using a "boot load driver".
Hi,
The product that I am currently working on requires to present the
user with a bunch of options, get the user's input, do "something"
based on user's preference and finally reboot the machine to continue
normally. This needs to be done in a "boot load driver" (before the
login screen appears) that loads very early. Is it doable? If yes, I
would like to know
1. How to display the options to the user and get the inputs (while
holding the system from booting any further)
2. How to initiate a re-boot.
Thank you all for your time and help.
Tom Tag: storport half-duplex mode Tag: 92639
Question on configuration of network adapter
Hope it is the right place for the question
---------
I need do some configuration for network bridge programmatically. The bridge
is created manually. And I need set static IP address, subnet mask,
enable/disable DHCP also disable/enable the bridge interface.
I cannot find any documented win32 API to do this. Is ther some way to do
it through device driver ot IOCTL call?
Thank you for your help Tag: storport half-duplex mode Tag: 92637
Bluetooth DDI support on XP SP2
I am currently developing a filter driver for a Bluetooth HID keyboard, and
this needs to be supported on both Windows XP SP2 and Windows Vista.
I was able to use the Bluetooth DDI on Windows Vista (bthddi.h from WDK)
and everything works fine, but I see that on Windows XP SP2 the
IOCTL I receive are different and not define in any WDK header.
Were can I get access to the Bluetooth DDI for Windows XP SP2, in order to
implement support for this OS?
Thanks for any help,
Olivier Tag: storport half-duplex mode Tag: 92631
SCardListReaders() doesnt list my device!
I'm writing a PC/SC compliant smart card reader driver,
the driver works flawlessly on Windows 2000. So I
installed it on Windows XP SP2 to test, the driver loads and correctly
creates the reader device (using smclib) but it doesn't get listed by
SCardListReaders() i've tryed many fixes but i couldn't manage to get
this to work. No success with SCardIntroduceReader too.
Do you have any idea of what can be causing this condition?
Is there any changes in the smartcard driver infrastructure between these
operational systems? Tag: storport half-duplex mode Tag: 92628
DTM: System Config Master Job not scheduled
After adding Wdk\ConfigureSystem policy to my poll and adding the System
Config Master Job it will not be scheduled to any client computer, even if
it's status is Ready. I get the following Errors:
The Scheduler service has not made any attempts to schedule this job.
Possible Reasons:
SQL Server Agent on the controller may be stopped
The Scheduler SQL Job is not successfully running
Examine details below for more information.
I am sure those 2 services are running. What can be wrong? Do I have to
configure/create some user accounts on client/controller/studio computer? Tag: storport half-duplex mode Tag: 92626
Map physical address in windows 98
I'm translating a win16 driver to a windows 98 driver, and I need to
access physical addresses like c800:0000 (0xc8000) with it.
I googled a lot for it, but I can't realize what's the better way of
doing it.
As far as I'm concerned, one way to do it would be using MmMapIoSpace,
but I should have the windows 98 ddk, which I couldn't find for
download.
Any idea would be appreciated.
Thanks,
Henrique Tag: storport half-duplex mode Tag: 92613
Installing drivers without admin rights
Hi
I would like to install drivers to a machine when the user is not logged on
as an administrator. I am using â??rundll32 setupapi, InstallHinfSectionâ?? but
the operation is failing. If the drivers were WHQL signed would this make a
difference? I have been looking into â??server-side installationsâ?? but since
the drivers are not for hardware (other than an anti-virus IFS driver) Iâ??m
not sure if that would work either. Can anyone help?
Thanks Tag: storport half-duplex mode Tag: 92604
cannot open callback object
Please help, I am trying to create a callback object that can be used in 2
drivers. I can create the callback fine in one driver but cannot open it in
another. To simplify things I tried creating the object and opening in the
same driver ... in the same function, but still no luck ... opening created
callback object always fails with STATUS_OBJECT_NAME_NOT_FOUND.
Here is the code ...
static PCALLBACK_OBJECT unloadCallbackObject;
static PCALLBACK_OBJECT testCBO;
void initCallbackObject(void)
{
NDIS_STATUS status;
UNICODE_STRING unloadCallbackObjectName;
OBJECT_ATTRIBUTES unloadCallbackObjectAttributes = {0};
// register a callback handler
RtlInitUnicodeString(&unloadCallbackObjectName, L"\\Callback\\UnloadCBO" );
InitializeObjectAttributes(
&unloadCallbackObjectAttributes,
&unloadCallbackObjectName,
0,
0,
0);
status = ExCreateCallback(
&unloadCallbackObject,
&unloadCallbackObjectAttributes,
TRUE, // create
FALSE);
if (status == STATUS_SUCCESS)
{
// created ok so see if we can open it ...
status = ExCreateCallback(
&testCBO,
&unloadCallbackObjectAttributes,
FALSE, // open
FALSE);
... this test open always fails! ... however, if I change create flag to
true this call will succeed, even though it should in theory fail because the
object should already exist!
Sounds like the first call to create a new object failed even though the
return value was good. Tag: storport half-duplex mode Tag: 92601
A question on ATTRIBUTE_INFO_3 structure
Hi All,
I am not clear with "dwDrvNumberOfCopies" member of ATTRIBUTE_INFO_3
structure. Can anyone tell me whats the meaning of this?
Is this maximum number of copies(like 9999) that the driver supports?
Where can i get more information on this member?
Thanks Tag: storport half-duplex mode Tag: 92599
BulkUSB / ReadFile
Currently, I am using the BulkUSB driver sample in the Windows DDK
2600.1106.
For the user-mode application, I have been following the sample in the
rwbulk.c (bulkusb\exe) - using API functions like ReadFile(),
WriteFile() and DeviceIoControl() to communicate with the USB reader
via the driver.
In my application, I have allocated a Buffer of 1024 bytes (the
maximum number of bytes supported by the firmware) and the
nNumberOfBytesToRead is assigned to 1024 bytes.
ReadFile(hFile, &Buffer, 1024, &dwBytesRead, NULL);
I have always been able to read the data from the reader.
However, when my colleague tried reading 1 byte of data at a time in a
while loop, there would be an error returned from the driver for the
first ReadFile().
for ( ; ; ) {
if (ReadFile(hFile, &chRead, 1, &dwRead, NULL))
// A byte has been read; process it.
else
// An error occurred in the ReadFile call.
break;
}
}
In the BulkUSB_DispatchReadWrite routine, the driver will send a
request to read 1 Byte of data from the reader. However, in the driver
read completion routine (BulkUSB_ReadWriteCompletion), the Irp-
>IoStatus.Status was 0xC0000001 (STATUS_UNSUCCESSFUL) and the Irp-
>IoStatus.Information = 0.
>From the CATC trace, the reader returned 5 bytes of reply for the Bulk-
In request (even when the driver requested to read 1 Byte).
1. Can the driver read only 1 byte of data from the reader even if the
reader has more data in its reply block ?
2. Is there any rule to assign the nNumberOfBytesToRead for ReadFile()
during USB communication ?
Thank you.
Rgds,
Catrice Tag: storport half-duplex mode Tag: 92598
driver performance monitoring
We have WDM based USB driver and it runs fine on XP but when loaded on
VISTA, when using one of the diagnostic application, my PC CPU usage
hits 100%, but this application runs fine on XP. Is there a good
profiling tool to monitor which exact driver rountine is running when
CPU hits 100% usage.
I can not trying traceview tracefmt tools because this requires code
changes in the driver.
trv Tag: storport half-duplex mode Tag: 92592
Can mirror driver support multiple monitors
I wrote a mirror driver based on Windows DDK mirror driver sample
before. It runs pretty okay. But it tested only on the windows XP with
singleton monitor. I installed my mirror driver on the windows XP with
dual monitors or triple monitors last week. The system crashed. I got
a blue screen when I tried to install the mirror driver. Sometimes, I
could luckily install the mirror driver. It showed that the mirror
driver was working properly. But the system crashed again when I tried
to enable the mirror driver.
Does Microsoft mirror driver only support the primary display? Is it
possible for the mirror driver support multiple displays. If yes, How?
Any comments are welcome!
Thanks in advance.
Lee Tag: storport half-duplex mode Tag: 92588
non-admin SPTI calls on Vista: possible or not ?
I am trying to clarify what is the situation with SPTI calls and Vista?
1) I've read before that Vista [presumably] allows by default non-admin SPTI
calls to optical drives ... is it really so?
2) If yes, how to get device handle from the program running in standard
mode? I tried CreateFile with a "device instance" name received via SetupDi*
enumeration but CreateFile failed with "access denied" diagnostics. Works
fine in elevated [Run as Admin] mode, though ...
Any help would be greatly appreciated!
Many thanks!
igor. Tag: storport half-duplex mode Tag: 92581
Controller enumeration question - Backward XP UINumbers.
I have two hard disk controllers in a PC, and hot plug a disk drive in to
controller 1 first, then the second drive into controller 2.
As expected, the first drive appears in the Disk Manager as Disk 1, and the
second disk as Disk 2.
Now, I reboot the PC. The disks listed in the Disk Manager are now swapped.
This is expected behavior according to a KB article;
"Windows Server 2003 and Windows XP perform an in-place reorder operation to
optimize PnP. As a result of the reorder operation, Windows Server 2003 and
Windows XP may enumerate the hard disk on the secondary IDE channel before
the hard disk on the primary IDE channel. The hard disk that Setup detects
last is listed first."
Unfortunatly, as a writer of a hard disk controller utility, it's hard to
tell my users what has happened. I need to be able to present controllers in
a consistent manner so they know what drive is attached in an intuitive
manner.
The question is, how do I get a controller numbering scheme that will
"match" the disk numbers in the Disk Manager? I can't simply reverse the
order (per the quote above) b/c Windows's controller enumeration scheme may
change at any release of Windows (i.e., Win2K orded controller the other way).
thnx. Tag: storport half-duplex mode Tag: 92577
Vista and NDIS 5.0, Do they play nicely together?
We have an NDIS 5.0 compliant WLAN driver sitting on top of a proprietary bus driver. Vista does
load the bus driver and when the bus driver enumerates the WLAN driver, Vista does install and load
the WLAN driver. The only problem is that the installed WLAN driver is not recognized as a network
driver. The install package works fine in Win2k and XP. We are actually "" that close to Logo on XP
so the inf files and Installshield at this point should not be in question. Does Vista install and
run NDIS 5.0 compliant WLAN drivers?
Thanks
-Ron- Tag: storport half-duplex mode Tag: 92575
About 64 bit in bulk sample.
Hi, I looked at driver sample in the DDK and in the bulkusb they seems to all point at the 32 Bit version in the INF file.
Despite the fact that there is environment for 64 Bit.
My question is 64 Bit operating system backward compatible with the binary of a 32 Bit WDM driver.
If not, is there a sample that generates both?
Thanks
Denis Tag: storport half-duplex mode Tag: 92573
authrootseq.txt ?
Does anybody now why a DifXApi install requires network access to :
http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootseq.txt ?
We have a difxapi signed driver based installer which for some reason is
unable to access the required URL. Disabling the network (and rerunning the
install) allows the install to continue.
Obviously if the URL is inaccessible and given the installation can run when
not connected to the network, why fail completely when the URL cannot be
found? Tag: storport half-duplex mode Tag: 92564
TUSB3200(Streaming Controller) based Audio Device Driver
Hello Experts,
I am trying to write a driver for TUSB3200(Streaming Controller) based
Audio Device on XP.
Can anybody suggest me Which sample is suitable for me from DDK kit.
The TUSB3200 Controller includes both Bulk and Isochronous tranfers
along with DMA channels.
I found AVStream sample in DDK but I am not sure will it be a good
sample for my needs.
Can anybody suggest/Advice me in the right direction.
Your valuable suggestions are always appreciable. Thanks in advance.
Regards,
~Vijji Tag: storport half-duplex mode Tag: 92557
USB thumb drive random re-plugging ("Delayed Write Failed")
I have a USB thumb drive, and I've noticed that if I have it plugged
in while I plug in my USB mp3 player into a different USB port then
the thumb drive's root directory will pop up in an Explorer window as
if I had just unplugged and then plugged it back in again (even though
I haven't touched it). I think the Plug N Play manager is actually
re-enumerating it, removing and re-adding the device stack, because if
I'd previously enabled write caching ("Optimize for performance" in
Device Manager) and formatted it with NTFS then I'll get "Delayed
Write Failed" error messages at this time.
Yes, I know I can disable write caching to make the error message go
away, but I think that will only make the problem less likely to
happen and less likely to notice. I want the drive to work correctly,
not simply fail silently. If there happened to be data transferring
to the thumb drive at the moment when it disappeared and re-appeared
then that data would be lost. Is this a Windows problem, USB host
controller problem, or a USB device problem? Tag: storport half-duplex mode Tag: 92556
Is there a limit to how large buffers can be read on 1394
I have developed a WIA driver for a 1394 device. The device is able to
deliver 16 MB data chunks but it seems that there is a limit around 2MB for
each call when I ask for data using DeviceIOControl.
Is there such a <2MB limit?
I believe it is using scsiscan.sys a the kernel driver for 1394. Tag: storport half-duplex mode Tag: 92553
DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS
Hi all,
I developed a driver that performs some lock of memory pages in physical
memory on user process behalf. It is up to this very same process to ask the
driver to unlock those pages. For some reasons, I cannot use VirtualLock()
and VirtualUnlock() APIs.
The problem is that when I kill the process, I get this BSOD; I perfectly
understand why (I really have memory pages locked in physical memory when I
kill the process). My question is: does anyone know how to handle this?
I mean, is there a way to unlock the pages automatically when the process is
killed at driver level? How do other drivers handle this kind of problem?
Thank you very much for your support. Tag: storport half-duplex mode Tag: 92552
Additional SOURCES for FREEBUILD
Hi,
I tried the following in my sources file:
!if !$(FREEBUILD)
SOURCES=$(SOURCES) \
Debug1.cpp \
Debug2.cpp
!endif
However, BUILD seems to ignore "!if !$(FREEBUILD)" when it comes to SOURCES,
and builds DebugN.cpp even for FREEBUILD. The same "!if !$(FREEBUILD)" works
fine, for example, for C_DEFINES. Is there any way to compile additional
source files only for a checked build?
Thanks! Tag: storport half-duplex mode Tag: 92550
can i use Unclassified Signature in DTM submission for my Smart Card Reader?
This is a multi-part message in MIME format.
------=_NextPart_000_000F_01C75F47.4B0194A0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0010_01C75F47.4B0194A0"
------=_NextPart_001_0010_01C75F47.4B0194A0
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
BlankDear all,
For example,my device type is Smart Card Reader.
I want to get a Microsoft signature for my driver.
But i don't want to use the Input > SmartCard Reader class for DTM =
submission test.
I'd like to use the Unclassfied Signature class.
Is this possible?
DTM test itself doesn't reject this way because it's possible to finish =
the test with unclassfied submission,but will winqual accept such kind =
of submission?
Many thanks in advance,
Have a nice day all,
------=_NextPart_001_0010_01C75F47.4B0194A0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE id=3DridTitle>Blank</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dgb2312"><BASE=20
href=3D"file://C:\Program Files\Common Files\Microsoft =
Shared\Stationery\">
<STYLE>BODY {
MARGIN-TOP: 25px; FONT-SIZE: 10pt; MARGIN-LEFT: 25px; COLOR: #000000; =
FONT-FAMILY: Arial, Helvetica
}
P.msoNormal {
MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-LEFT: 0px; COLOR: #ffffcc; =
FONT-FAMILY: Helvetica, "Times New Roman"
}
LI.msoNormal {
MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-LEFT: 0px; COLOR: #ffffcc; =
FONT-FAMILY: Helvetica, "Times New Roman"
}
</STYLE>
<META content=3D"MSHTML 6.00.2900.3059" name=3DGENERATOR></HEAD>
<BODY id=3DridBody bgColor=3D#ffffff=20
background=3Dcid:000a01c75f04$3cd4b7b0$0c01a8c0@anlai>
<DIV>Dear all,</DIV>
<DIV> </DIV>
<DIV>For example,my device type is Smart Card Reader.</DIV>
<DIV>I want to get a Microsoft signature for my driver.</DIV>
<DIV>But i don't want to use the <FONT color=3D#800080>Input > =
SmartCard=20
Reader</FONT> class for DTM submission test.</DIV>
<DIV>I'd like to use the <FONT color=3D#800080>Unclassfied =
Signature</FONT>=20
class.</DIV>
<DIV> </DIV>
<DIV>Is this possible?</DIV>
<DIV>DTM test itself doesn't reject this way because it's possible =
to=20
finish the test with unclassfied submission,but will winqual accept such =
kind of=20
submission?</DIV>
<DIV> </DIV>
<DIV>Many thanks in advance,<BR>Have a nice day all,<BR></DIV>
<DIV> </DIV>
<P> </P></BODY></HTML>
------=_NextPart_001_0010_01C75F47.4B0194A0--
------=_NextPart_000_000F_01C75F47.4B0194A0
Content-Type: image/gif;
name="Blank Bkgrd.gif"
Content-Transfer-Encoding: base64
Content-ID: <000a01c75f04$3cd4b7b0$0c01a8c0@anlai>
R0lGODlhLQAtAID/AP////f39ywAAAAALQAtAEACcAxup8vtvxKQsFon6d02898pGkgiYoCm6sq2
7iqWcmzOsmeXeA7uPJd5CYdD2g9oPF58ygqz+XhCG9JpJGmlYrPXGlfr/Yo/VW45e7amp2tou/lW
xo/zX513z+Vt+1n/tiX2pxP4NUhy2FM4xtjIUQAAOw==
------=_NextPart_000_000F_01C75F47.4B0194A0-- Tag: storport half-duplex mode Tag: 92549
Nvidia FX5200 Drivers on Vista
Hi All,
I have downloaded the vista 64 drivers for the fx5200 but when i try to
install them the setup program says it cannot find any compatible drivers.
I have tried uninstalling the generic MS ones before running the install but
it fails with the same message.
My question: How can I get these (which I'm fairly sure to be the right
ones) drivers to install properly.
Thanks in advance
Shelby Tag: storport half-duplex mode Tag: 92532
Virtual disk driver problem
Hi,
writing files under 200Mb to my disk is ok. Reading data from real disk and
writing it through my driver to the same disk perfomed syncronous.
But I have problems with larger files. IRP flow to my RW dispatch routine
become infrequent (not stops!) and reading data from real disk still fast. As
I understand information needed to be send to my driver is buffered somewhere
in (I suggest) ntfs driver. Only after full file is buffered my driver
process IRPs with full speed.
If file is about 500Mb I get low physical memory and system stops, waiting
my driver to complete the operation. But my driver stops too.
Reading large files is ok - syncronous processing.
I use DO_DIRECT_IO. IRPs are processed in my self-made thread (no system
"workers"), running on LOW_REALTIME_PRIORITY.
Any suggestions?
Thanks, Mikle. Tag: storport half-duplex mode Tag: 92529
Problems with ZwCreateFile...
I have to read from a file inside my driver, and i have to open the
handle of the file inside a create/open dispatch routine. I really
dont know all the meanings of all parameters of ZwCreateFile, i just
understand the most important ones. So i just copied the code from the
Oney 's book. But it doesn't work. Or better. It works just in the
checked version, not in the free version... The sample code is this...
NTSTATUS status;
OBJECT_ATTRIBUTES oa;
IO_STATUS_BLOCK iostatus;
HANDLE hfile;
InitializeObjectAttributes(&oa, pUnicodeString, //someone gives u
this
OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);
status = ZwCreateFile(&hfile, GENERIC_READ, &oa, &iostatus,
NULL, 0, FILE_SHARE_READ, FILE_OPEN,
FILE_SYNCHRONOUS_IO_NONALERT , NULL, 0);
my guess is.... i am doing wrong the only thing i have not copied from
the book... the UNICODE_STRING... the string is : \??\C:\mydir
\myfile.xxx ...i even tryed \GLOBAL??\C:\mydir\myfile.xxx with no
success.... I really dont understand the concept of "context" of a
running kernel code, and how to set up names of devices considering
the "context" in what ur code is running... Sometimes u have to use \\.
\C: , sometimes \??\C: , sometimes \GLOBAL??\C: ... little bit
confused about it...can any1 give a little explanation? Tag: storport half-duplex mode Tag: 92528
How does a NDIS intermediate driver work with respect to the TCP/IP stack?
I'm running the CHX-I packet filter on Windows 2000, and I am looking
to get a better idea of how it works. I'm hoping you guys can help
me.
One of the CHX-I developers said the following about it:
"The central piece of this new architecture is the Chx IM driver,
which is an NDIS intermediate driver, placed between miniport drivers
(network interface drivers) and protocol drivers."
Can anyone tell me where the NDIS intermediate driver sits with
respect to the TCP/IP stack? Who intercepts incoming packets first --
the NDIS intermediate driver or the TCP/IP stack? If the NDIS
intermediate driver intercepts them first, then will it hand the
packets to the TCP/IP stack after processing them, or is the TCP/IP
stack out of the picture? Tag: storport half-duplex mode Tag: 92525
NET_BUFFER_DATA_LENGTH Problem
Help!
Under Vista, I've run into a problem where NET_BUFFER_DATA_LENGTH(NB) is not
returning the correct value. I'm seeing situations (in this case, ICMP echo
packets undergoing IP fragmentation) where NET_BUFFER_DATA_LENGTH(NB) is
smaller than the cumulative total of the value of MmGetMdlByteCount() for
each MDL in the MDL chain for the net buffer.
I assumed that all I needed to do to query the number of bytes for a
NetBuffer was to call NET_BUFFER_DATA_LENGTH(NB)as opposed to walking the
mdl chain for the net buffer and accumulate the length of each mdl. Is this
an incorrect assumption on my part? Tag: storport half-duplex mode Tag: 92523
Display driver not loaded in Windows XP SP2 -- error code 10
I am having problem with display drivers. After windows XP SP2 boot up, from
system device manager, the error code is 10.
I have a second windows xp SP2 bootable partition. The display driver loads
properly. For the first windows xp bootable partition which has the problem,
the display driver never gets loaded even I switched a couple of other
display cards (AGP or PCI). None of those works.
The display driver comes with the video card which has been signed by
Microsoft.
Other information, I had windows Virtual PC installed before but now
removed. I also had vmware installed before and also now removed.
I need some help to where to trouble shoot the problem. It seems to be some
common support in windows xp or maybe registry need to be fixed.
Any help would be greatly appreciated,
Thanks,
-Biao Tag: storport half-duplex mode Tag: 92520
Examples for print monitor's MONITOREG?
Hello,
Are there more complete examples of using the MONITORREG functions from a
print monitor than the localmon sample in the DDK?
Thanks,
Tom Tag: storport half-duplex mode Tag: 92519
HID issues in Win2k?
So I have a pretty basic app that reads/writes to a custom HID device. On
startup I go through the basic iterative discovery routine using our Vendor
ID and whatnot. This works fine and I can read/write to the device under
both win2k and XP.
The issue is on device removal/reinsertion. I use
RegisterDeviceNotification() and get a WM_DEVICECHANGE which I interrogate
and when I discover its my device I close the handles (use one for read and
one for write) and consider the device dead. When it gets reinserted I get
the message and go through the original discovery process and open my handles
again.
The problem is under windows XP I can resume reading/writing to the new
handles and can insert/remove as many times as I want.
Under Win2k the new handles have valid addresses but nothing ever comes out
of them. I call ReadFile on the read handle and it just times out over and
over again when I know there is data being sent from my device. What is
worse (and potentially a hint for people more knowledgable than I) is from
this point forward I cannot use that USB device anymore. I can stop and
restart the program and it will not work ... basically that USB device is
dead to me and I have to restart the machine to get it to work properly.
Anyone have any insight into why this works fine under WinXP but not 2K?
Are there additional cleanup steps required under 2K beyond simply closing
the handle? I've tried an HidD_FlushQueue because that was about the only
initialization thing I could find but it did not change the behavior.
Ideas? Tag: storport half-duplex mode Tag: 92518
WDK Build Environments
In the relnote.htm for the WDK there is a section called "Build Environments"
In part it says:
Use the Windows XP build environments in the WDK to build drivers that do
not use new functionality that is available only in Windows Vista or only in
Windows Server 2003 and that are targeted for either Windows XP or Windows
Server 2003 and Windows XP. The Windows XP build environments in the WDK
contain minor updates to the Windows DDK that shipped with Windows XP SP1 and
with Windows XP.
Use the Windows 2000 build environments in the WDK to build drivers that are
designed to run on Windows Vista, Windows Server 2003, Windows XP, or Windows
2000. The Windows 2000 build environment in the WDK includes updated headers
and libraries for Windows 2000 Service Pack 4 (SP4).
Does this mean that the XP Build environment does not build a VISTA driver?
Please clarify.
TIA.
--
Gak -
Finecats Tag: storport half-duplex mode Tag: 92507
Upper Filter for HidIr.sys Sample
What would be the best sample driver to start with to write an upper filter
driver for the HidIr.sys driver so we could special case some eHome remote
control buttons? Tag: storport half-duplex mode Tag: 92504
Audio Problem on Vista
Dear All:
I am developing an AVStream driver.
It can support audio and video output streams.
For audio part, I have successfully registered an audio filter into
"Audio Capture Sources" and "WDM Streaming Capture Devices" both
categories on XP32/64 platform.
It works fine, too.
However, when I install this driver to Vista, the wave filter cannot
be showed on "Audio Capture Sources".
I don't know why, but I need this filter.
Please give me some suggestions.
--
Many Thanks and Best Regards,
H.P. Tag: storport half-duplex mode Tag: 92503
USB to Serial Convertor
Hi All,
I want to develop a USB to Serial convertor for a controller with KMDF
of WDF. I have developed few USB drivers with the WDM model but never
worked on Serial stuff. I found few archives regarding this topic in
this group but i hardly had some understanding on this driver
development.
Can i get some documentation on the architecture or data flow of USB
to Serial driver?
Thanks in Advance.
Regards,
James Tag: storport half-duplex mode Tag: 92502
Watermark - implementation
I have implemented watermark feature in print processor. But watermark is not
visible if i take the printout from IE. Then i understood the problem, IE
first draws the rectangle with respect to current paper size and it is filled
with white color. Since this watermark is not visible. The call sequences
like,
GdiStartPageEMF()
<<Watermark calls>>
GdiPlayPageEMF()
GdiEndPageEMF()
Please help me how to solve this problem? Can implement watermark in print
processor or where suppose to be implemented? Tag: storport half-duplex mode Tag: 92498
How to Restart A Job
Hi All,
I am writing a printer driver. One of the requirement is to restart
the job if any error occurs in the printer. Right now what happens is,
as soon as the data is sent to the printer the job gets deleted from
the spooler queue. I want it to stay until the job is actually printed
and the printed paper comes off the printer, so that I can restart the
job if any error occurs.
I am planning to do it in WritePort or EndDocPort function of my port
monitor. Please suggest in which function it would be better. Or there
is a another better place (such as print processor, print provider
etc) to do it.
Also please let me know what all I need to do to restart the job.
Thanks,
Nitin Tag: storport half-duplex mode Tag: 92493
Microsoft's iSCSI wintarget
Hi,
Where can we find latest Microsoft's iSCSI target. So far the latest we can
find is
WinTarget v2.0 (Build 95); Release date: 11/14/2005 from
stringbeansoftware.com.
Thanks in advance. Tag: storport half-duplex mode Tag: 92488
Where is the file sideband.inf in the kmdf\kbfiltr sample?
I have WDK version Nov 2006. Where is the file sideband.inf in the
kmdf\kbfiltr sample? It mentioned in kbfiltr.html under the Windwos 2000
section od the doc. I have pasted the text below.
NULL INF file for Windows 2000:
On Windows 2000, you have to provide an INF file to install a NULL driver
for the RAW PDO enumerated by the filter driver for sideband communication
from usermode. Without this INF file, the raw PDO wouldnâ??t get started. On XP
and later OSes, you donâ??t need to provide an INF. Here are steps for
installing the NULL driver:
-Open the Device Manager.
-Select â??Show Hidden Devicesâ?? in View Menu.
-Find the â??Keyboard_Filter_nnnâ?? device with a yellow â??!â?? in â??Otherâ?? class of
devices. â??nnnâ?? stands for the instance number of the device.
-Double click on the device to open the properties.
-Click the Driver tab, and then click Update Driver.
-Follow the wizard's prompts, and when prompted, select the Search for a
suitable driver for my device (recommended) option, and then click Next.
-Select Specify a location, clear the other choices, and click Next. Point
to the location of the sideband.inf file.
-Proceed through the rest of the install.
-After install, you should see the Keyboard device under â??Sample Deviceâ??
class in the device manager. Tag: storport half-duplex mode Tag: 92487
BUILD 6000 and dependecies
Hi,
I am curious if there is a workaround to have WDK 6000 BUILD properly check
dependencies?
http://www.osronline.com/showThread.cfm?link=101403
Thanks,
Andrew
-- Tag: storport half-duplex mode Tag: 92476
MmMapLockedPagesSpecifyCache and Pending
Hi,
An user mode program I made (consumer) retreive on my driver, via an IOCTL,
the R/W requests it received, to perform some actions. I use
MmMapLockedPagesSpecifyCache to map client (the program who made R/W
requests) buffer to consumer space, to avoid data copy from client to
consumer and the consumer to client. So client requests are queued and
treated by the comsumer one by one.
It works but I want the consumer IOCTLs to be "pendable" on return
immediatly. So now I pend consumer IOCTL and I made a driver thread which is
waiting to have one client request and one consumer request to map client
buffer and complete consumer IOCTL. But now MmMapLockedPagesSpecifyCache
don't give to consumer a good address where it can write. I suppose it's
because I call this function not in consumer thread context.
So is there a solution to the problem ? (using MmMapLockedPagesSpecifyCache
outside of a nonarbitrary thread context)
Is kernel APC can be a part of the solution ?
(Sorry for my english, I'm not sure to explain as clearly as I want) Tag: storport half-duplex mode Tag: 92475
Is HwInterruptRoutine called with the StartIo spinlock held in half-duplex
mode?