"Identifier not found" and shlwapi.h on WDK
I'm a beginner with driver.. help me please.
I have to develop a PScript Mini Driver and I started with oemps.
I have to check a registry key so I included <shlwapi.h> and I inserted
$(SDK_LIB_PATH)\shlwapi.lib on file SOURCES.
When I run build utility (w2k environment) I get this error:
ddihook.cpp(545) : error C3861: 'SHGetValueW': identifier not found.
I use latest WDK released (6001.18000)
What I forget to do?
Thanks in advantage Tag: WHQL retest required ? Tag: 103767
can you help me to find what is the problem with this driver?
Hello,
This is not a device driver development question but I hope you can help
me to find a solution or redirect me to the correct newsgroup.
I have a Motorola RAZR V3 phone. I used to connect it to my XP computer and
sync it with my outlook.
Some days ago, I found a malware on my PC and for removing it, I did a
repair install and after that my mobile cannot be detected by windows XP.
I delete the mobile driver and re installed it without any success. when I
connect my mobile to the PC, I get a message that system is found a Motorola
V3 mobile and then a windows appears saying that it cannot install my
hardware.
How can I find what is the problem and how can I fix it?
Any help is very appreciated.
Regards Tag: WHQL retest required ? Tag: 103751
ACPI Resource / PMBase Register ICH9 / Watchdog
I have been tasked with implementing a watchdog driver using the ICH9
watchdog. Until now my only experience in writing KMDF drivers were with
standard PCI devices such as the SMBus interface. However, now I am having a
tough time trying to determine exactly how to access the resource I need when
it seems to be part of the "motherboard resources" with no clear way of
accessing. I am going to run into this same problem when it comes time to
write the GPIO driver needed of future SBC's.
Has anyone had any experience in writing drivers similar to this - where the
resource within the ICH device is tucked away with no clear way to access.
Is it somehow tied to ACPI.sys ?? Tag: WHQL retest required ? Tag: 103742
NDISTest 6.5 On Windows Server 2003 SP1
Hi!
Is it possible to run NDISTest 6.5 on 2003 SP1? I've been trying to run
NDISTest in server mode on a 2003 system and have not had much luck.
NDISTest appears to be trying to load ndprot60.sys and fails, which seems to
be expected.
Anybody know what I need to do?
Thanks! Tag: WHQL retest required ? Tag: 103739
polliing of HID class device input endpoints
Hi,
I am developing the firmware of a low-speed HID-class device and
corresponding PC user application.
Is there any way to disable polling in an HID-class device interrupt endpoint?
The device must receive input report requests only when the user application
request it, and not continuously.
Thank you
--
Andrea Tag: WHQL retest required ? Tag: 103738
UniDV and location of My Documents
I have a UniDRV based print driver that implements a rendering plugin (to use
the IPrintOemUni::ImageProcessing method to catch the image data). Normally
works fine on XP and Vista (with or without SP1).
It doesn't work though on Vista (with or without SP1) if the user's
Documents folder location is changed to a UNC path. Changing the location of
the Documents folder to a mapped network drive does not cause the problem,
but a UNC path does. (A UNC path works fine on XP).
Symptoms are that the rendering plugin is never loaded.
To reproduce simply right-click on the Documents entry in the Start menu,
select properties, then the Location tab and the Move button, and select as a
new location a folder addressed by UNC. Then print to a printer using a
UniDRV based driver that implements a rendering plugin. It won't be loaded.
Is this something I'm doing wrong, or a UniDRV problem? Any suggested
workaround?
Thanks,
Colin. Tag: WHQL retest required ? Tag: 103736
UniDRV and redirection of My Documents
I have a UniDRV based driver that implements the
IPrintOemUni::ImageProcessing method in a rendering plugin. Normally works
fine in both XP and Vista. But in Vista it fails when the user's Documents
folder is changed to a location referenced by a UNC name (\\server\dir). It
is happy if the Documents folder location is changed to a mapped network
drive, but not if the same location is referenced by UNC. Relocating the My
Documents folder to a UNC on Windows XP does not exhibit the problem.
The symptoms are that the rendering plug in is never called if the Documents
folder location is changed to a UNC path.
I can't see really how this can be my code or configuration causing this, I
think it must be an issue with UniDRV.
To reproduce simply right click on Documents in the Start Menu and select
Properties then the location tab, and then select the Move button and select
a UNC named location. Then try a UniDrv based driver that implements a
rendering plug in. I don't think it will be called.
Is it something I'm doing wrong, or a bug? Is there a workaround?
Colin. Tag: WHQL retest required ? Tag: 103735
retrieve driver object of a device handled by other driver
Hi.
Is there a way to get a DEVIE_OBJECT pointer of a device which is handled by
a driver that is not mine ?
my driver (WDF based) handles few devices that exist on one PCI card. The
pci-2-pci bridge device on that board(card) is handled by the pci.sys driver.
so my question is - can i get a handle to that bridge's DEVICE_OBJECT ?
the reason for i want this can be for reading PCI location info of the bridge
for example.
thanks,
Kobi. Tag: WHQL retest required ? Tag: 103734
How can RS-232 communication in WDM?
How can RS-232 communication in WDM?
(Something like ReadFile(), WriteFile() in Win API32)
I'm beginning WDM programming.
I has searching DDK document.
But, I can't. I want sample code or hit and tips.
Sorry, My English is bad.
Thank you for reading. Tag: WHQL retest required ? Tag: 103733
Mirror Display Driver: how to lock desktop so that only remote use
Hi all,
I have a Mirror Display driver for remote desktop like application. I want
to lock server's display while remote users are connected and seeing the
display. Like when RDP client connects, server gets locked and only remote
user can see.
Please suggest me what to do?
--
SachinS Tag: WHQL retest required ? Tag: 103732
Need help writing NT4 compatible Audio and Video Drivers
Guys,
I know this should look lame for you, but I am new here and I really need a
Video and Audio Driver for my Intel G31 chipset (onboard audio and video),
and compatible with Windows NT4.
Doesn't matter how weird this looks (since its a brand new chipset and an
old OS) but that's a real need, since I can't find these driver anywhere.
Can you guys give me tips of how can I do that (I am an expert C/C++
programmer but never created a Device Driver before), or there is some easy
way to transform an Windows XP Driver in a NT4 Driver ?
Regards,
Helio Tag: WHQL retest required ? Tag: 103731
FYI: New Windows Driver Kit (WDK) Documentation blog
http://blogs.msdn.com/wdkdocs/
This new blog provides timely information about the WDK and Windows Logo Kit
(WLK) documentation sets and connects Windows driver developers with the WDK
documentation team.
If you are in the Windows driver community, you can add this blog to your
RSS feed. Tag: WHQL retest required ? Tag: 103724
detect if driver is already installed
Hi,
I have a driver, simple .inf.
I 'install' it, wit SetupCopyOEMInf().
At this stage, the driver is not yet fully installed, until after device is
attached to the PC and windows (XP) detects the device and maps the right
drivers for it.
I wish to programmatically detect if drivers are already fully installed
(mapped to device).
What's the most reliable way?
I'm guessing I need to enumerate all devices and find for one that has the
correct Device ID?
Any easier way? Any sample code?
Thanks!
Lisa Tag: WHQL retest required ? Tag: 103721
Who is responsible for showing non-formatted media prompt?
Hi,
When I insert an unformatted flash drive in Windows Vista,
automatically a prompt about a non-formatted media appears; it
prompts
me to format the media. Is it possible to somehow turn off this
behaviour, thus we don't see any warnings/prompts? Turning off
autorun
in different ways doesn't help.
Also, I'd greatly appreciate, if someone could briefly describe the
processes, going on after inserting flash drive, in particular is any
driver responsible for appearing of the abovementioned format prompt?
I just need to programmatically turn the prompt off.
Thanks in advance,
Martin Tag: WHQL retest required ? Tag: 103715
Usb Max Transfer Size
Hi,
What is the definition of USB Max Transfer Size.
In bulkusb src i noticed there are a few variable which i think related to
that
1. in bulkpnp.c: Interface->Pipe[i].MaximumTransferSize =
USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE. (PAGE_SIZE)
2. in bulkusb.h BULKUSB_MAX_TRANSFER_SIZE 256,
BULKUSB_TEST_BOARD_TRANSFER_BUFFER_SIZE (64*1024)
3. in bulkusb.inf, Registry entry MaximumTransferSize, 4096
How are those three variables related?
How are they used in DispatchReadWrite,
What is the general rule in setting them in order to maximize throughput
How will those value affect ReadFile? can I request as much data as I want
here?
Regards
charly Tag: WHQL retest required ? Tag: 103710
BSOD when indicating (NdisMIndicateReceiveNetBufferLists)
Hi All,
There is a BSOD when my NDIS 6 miniport driver is indicating
NET_BUFFER_LISTS. This BSOD happens only when I have wireshark
(winpcap) launched to capture packets. Does anyone know what could be
wrong with the NET_BUFFER_LIST that I indicate? The call stack looks
like the following whin it crashes
nt! RtlpBreakWithStatusInstruction
nt!KiBugCheckDebugBreak +0x1c
nt!KeBugCheck2+0x67f
nt!KiTrap0E+0x2b4
NDIS! ndisFreeConvertedPacket+0x22
NDIS! ndisXlateReturnPacketToNetBufferList+0x33
NDIS! ndisIndicateXlatedPacketsToNdis5Protocols+0x115
NDIS! ndisMDispatchReceiveNetBufferLists+0x10d
NDIS! ndisMTopReceiveNetBufferLists+0x2c
NDIS! ndisMIndicateReceiveNetBufferListsInternal+0x27
NDIS! NdisMIndicateReceiveNetBufferLists+0x20
Thanks for the help
Arun Tag: WHQL retest required ? Tag: 103705
Kernel mode socket
Hi
Is TDI interface the only way to do kernel mode socket ?
Does Vista support it , if not how can we do ?
Thank you very much . Tag: WHQL retest required ? Tag: 103698
Vista Inbox HDAUDIO Driver BSOD 7E ISSUE
Hi ALL
I meet a problem after install Vista Inbox hdaudio Driver and do S4
sleep Test for several times.
the Stack is:
85bb8b44 9aaac124 HdAudio!CAzCommon::SendVerb+0x1f 85bb8b70 9aaac329
HdAudio!CAzAfGroup::SendVerb+0x4c 85bb8b9c 9aab7b58
HdAudio!CAzAfGroup::SetPowerState+0x5d
85bb8bb8 999979b0 HdAudio!AzPower::PowerChangeState+0x144
85bb8bd4 81cacb3b portcls!PowerIrpCompletionRoutine+0x1bd
85bb8c08 804ed4f9 nt!IopfCompleteRequest+0x13d 85bb8c1c 804f7403
Wdf01000!FxPkgPnp::CompletePowerRequest+0x2a
85bb8c30 804f24ec Wdf01000!FxPkgPdo::PowerReleasePendingDeviceIrp+0x23
85bb8c44 804f19c2 Wdf01000!FxPkgPnp::PowerStartSelfManagedIo+0x8f
85bb8cbc 804f30ae Wdf01000!FxPkgPnp::PowerEnterNewState+0x169
85bb8ce8 804f3403 Wdf01000!FxPkgPnp::PowerProcessEventInner+0x212
85bb8cfc 804f9f34 Wdf01000!FxPkgPnp::_PowerProcessEventInner+0x26
85bb8d28 804f9fdc Wdf01000!FxEventQueue::EventQueueWorker+0x47
85bb8d30 81d8c882 Wdf01000!FxThreadedEventQueue::_WorkItemCallback+0xd
85bb8d44 81c78e18 nt!IopProcessWorkItem+0x23 85bb8d7c 81e254a8
nt!ExpWorkerThread+0xfd 85bb8dc0 81c9145e nt!PspSystemThreadStartup+0x9d
00000000 00000000 nt!KiThreadStartup+0x16
Does somebody meet same problem?
can you give some advice?
thanks very much
rech Tag: WHQL retest required ? Tag: 103697
How to get device arrival and removal notification in an applicati
Hi All,
I have written an application to receive notifications for all USB device
plug-in and plug-out. I have used RegisterDeviceNotification() for
GUID_CLASS_USB_DEVICE and my application get WM_DEVICECHANGE notifications.
But, my application does not get any sort of notifications when I plug-in a
new hardware which doesn't have any drivers on my XP machine (it shows as
unknown device is device manager).
Can any one please let me know, how to get notifications for unknown
devices? I am pretty sure, there must be is a way out(Windows device manager
does it). Your help is well appreciated.
Thank you all.
-Jay Tag: WHQL retest required ? Tag: 103695
About Bitmap drive source code
help me pls,
WDK sample Bitmap drive souce code give out single page BMP file, so how
can i modify that code to support multiple page BMP files.
now i m add OEMStartPage method like below, but never got any multiple
pages. still first page only comes out..
BOOL APIENTRY
OEMStartPage(
SURFOBJ *pso
)
{
//thiru
OEMDBG(DBG_VERBOSE, L"SEND page OEMEndDoc entry.");
PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev;
POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM;
DWORD dwWritten;
INT cScans;
if (pOemPDEV->pBufStart)
{
DWORD dwTotalBytes = pOemPDEV->cbHeaderOffBits +
pOemPDEV->bmInfoHeader.biSizeImage; // File size
pOemPDEV->bmFileHeader.bfType = 0x4d42; // Signature = 'BM'
pOemPDEV->bmFileHeader.bfSize = dwTotalBytes; // Bytes in whole file.
pOemPDEV->bmFileHeader.bfReserved1 = 0;
pOemPDEV->bmFileHeader.bfReserved2 = 0;
pOemPDEV->bmFileHeader.bfOffBits = pOemPDEV->cbHeaderOffBits; //
Offset to bits in file.
if (pOemPDEV->bColorTable)
pOemPDEV->bmFileHeader.bfOffBits += pOemPDEV->cPalColors *
sizeof(ULONG);
// Num of scanlines
//
cScans = pOemPDEV->bmInfoHeader.biHeight;
// Flip the biHeight member so that it denotes top-down bitmap
//
pOemPDEV->bmInfoHeader.biHeight = cScans * -1;
// Dump headers first
//
dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj,
(void*)&(pOemPDEV->bmFileHeader), sizeof(BITMAPFILEHEADER));
dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj,
(void*)&(pOemPDEV->bmInfoHeader), sizeof(BITMAPINFOHEADER));
if (pOemPDEV->bColorTable)
{
dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj,
pOemPDEV->prgbq, pOemPDEV->cPalColors * sizeof(ULONG));
LocalFree(pOemPDEV->prgbq);
}
// Dump the data now
//
dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj,
pOemPDEV->pBufStart, pOemPDEV->bmInfoHeader.biSizeImage);
vFreeBuffer(pOemPDEV);
}
return (pOemPDEV->m_pfnDrvStartPage)(pso);
} Tag: WHQL retest required ? Tag: 103690
IOCTL_HID_READ_REPORT usage ?
Hello everyone,
I am trying to modify the report descriptor in vhidmini to report a mouse
cursor.
First I make sure that this report descriptor works properly in a USB HID
driver.
Then I checked the WDK documents on IOCTL_HID_READ_REPORT, it instructs me
to do the
following things :
(1) fill in Irp->UserBuffer with my HID_INPUT_REPORT
(2) set Irp->IoStatus.Information = sizeof ( HID_INPUT_REPORT )
(3) set Irp->IoStatus.Status = STATUS_SUCCESS
(4) call IoCompleteRequest(Irp, IO_NO_INCREMENT)
So I write the code as follows, the HID report is 5 bytes total.
=========================================================================
NTSTATUS Internal_IOCTL ( IN PDEVICE_OBJECT device , IN PIRP Irp )
{
NTSTATUS status = STATUS_SUCCESS ;
PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation(Irp) ;
switch ( irpStack->Parameters.DeviceIoControl.IoControlCode )
{
case IOCTL_HID_READ_REPORT:
{
PUCHAR readReport = (PUCHAR)Irp->UserBuffer ;
readReport[0] = 0x00 ; // the mouse button , 0x00 should be no
mouse down
readReport[1] = 0x00 ; // the low part of X
readReport[2] = 0x00 ; // the high part of X
readReport[3] = 0x00 ; // the low part of Y
readReport[4] = 0x00 ; // the low part of Y
Irp->IoStatus.Information = 5 ;
Irp->IoStatus.Status = STATUS_SUCCESS ;
IoCompleteRequest(Irp, IO_NO_INCREMENT) ;
break ;
}
... // other IOCTLs code
}
return status ;
}
=========================================================================
I suppose that the cursor should be fixed at (0,0) after system loads the
driver.
However, after the driver loads, the cursor doesn't move at all.
Can anyone tell me what's wrong with my code?
Thanks :)
Best Regards,
John
2008.03.03 Tag: WHQL retest required ? Tag: 103688
PsCreateSystemThread
Hello, I'm trying to call PsCreateSystemThread to create a thread that will
start in a usermode entrypoint. Lets say I have my loader application. It
contains a function:
void Box() {
MessageBoxA(NULL, "test", "test", MB_OK);
}
Now, the loader starts up the driver and the driver needs to know the "real"
address of Box, since it can't use the usermode addresses that start at
0x00400000.
How can I get the "real" address of a function using either kernel or
usermode apis? Thanks in advance for your help. Tag: WHQL retest required ? Tag: 103679
Want to know if I need to change my windows XP driver to work on
Hi All
Please help me to know if I had to make changes to my windows XP BDA
driver to make it work on the windwos vista PC. Also one thing to be
noted is that, when I try to install the on the vista PC, it says that
the driver installed successfully, but it didnot install actually. I
couldnot see any DbgPrints from the driver.
Please suggest me what I need to do to get the driver working on the
Vista 32-bit PC. Do I reuire to do the self-signing process to get it
working.
Regards Tag: WHQL retest required ? Tag: 103671
dvd rw will not read
have a HL-DT-ST DVD-RW GSA-H11N ATA device will notm read tried updating
still doesn't work all i get is code 37 error Tag: WHQL retest required ? Tag: 103670
Benefits of gates
Hi
I have basic questions about gates.
Intel designed gates for system calls.
Why?
Because:
" * Note that both the selector and offset are given in the call gate
preventing lower privileged programs from jumping into the middle of higher
privileged code.
o This mechanism makes the higher privileged code invisible to the
caller.
* Call Gates have "tolls" as well, making some or all of them
inaccessible to lower privileged processes.
o The rule is that the Call Gate's DPL field (bits 45-46) MUST be
>= (lower in privilege) than the process's CPL before the call."
1-) Why does higher privileged code need to be invisible?
2-) Are there only 2 reasons(above) to design "gates"? Do I miss something?
Thanks... Tag: WHQL retest required ? Tag: 103669
Question Reguarding Handles
Hello I made a simple driver to practice using IoControl between my usermode
program and driver. My problem is, when I try opening a file handle from my
usermode program, it always returns INVALID_HANDLE_VALUE (-1). This is my
code for initializing the device:
RtlInitUnicodeString(&DeviceName, L"\\Device\\Test");
status = IoCreateDevice(pDriverObject, 0, &DeviceName, FILE_DEVICE_UNKNOWN,
FILE_DEVICE_SECURE_OPEN, FALSE, &pDeviceObject);
So, if I assume correctly, it creates a the device object in <path to
driver>\Device\Test ? This is the path I have been trying to get the handle
from.
I put my usermode application in the same directory as the driver, and call:
HANDLE hDevice = CreateFile(L"\\Device\\Test", GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
This always returns invalid even when my driver is running. Thank your for
any help you can provide. Tag: WHQL retest required ? Tag: 103661
Crash on NdisMCoIndicateReceivePacket() API call
I did the following stress test on my driver and find the following the
bug.
1. Open two Dos boxes and run a script to loop on Wget test.
2. Run a building scrtip to build the driver and application code.
After the building scrtip is launched, the driver is crashed on the
following location.
If I do not launch the building script, I can open many DOS boxes and run
the Wget without any problem
From the memory dump, it showed that driver was crashed on the following API
call.
KeRaiseIrql(DISPATCH_LEVEL, &oldIrql);
NdisMCoIndicateReceivePacket(
<--------------------------------------------------------- Crash on this
API.
pLink->NdisVcHandle,
pLink->PacketArray, // PacketArray
pLink->NumberOfPackets // NumberOfPackets
);
KeLowerIrql(oldIrql);
I check my driver code and the memory is allocated by calling
"NdisAllocateMemory", which allocates the memory from
non-pageable memory. How can memory be invalid when I launched the script
to build application and driver?
Can anyone tell me how to attack this problem? Thanks?
0: kd> !analyze -v
*******************************************************************************
*
*
* Bugcheck Analysis
*
*
*
*******************************************************************************
DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at
an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 0000000c, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, value 0 = read operation, 1 = write operation
Arg4: f7b44ffe, address which referenced memory
Debugging Details:
------------------
WRITE_ADDRESS: 0000000c
CURRENT_IRQL: 2
FAULTING_IP:
NDIS!NdisMCoIndicateReceivePacket+cd
f7b44ffe 834b0cff or dword ptr [ebx+0Ch],0FFFFFFFFh
CUSTOMER_CRASH_COUNT: 3
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xD1
PROCESS_NAME: F5DialSrv.exe
LAST_CONTROL_TRANSFER: from a5982ecb to f7b44ffe
STACK_TEXT:
a6e12a4c a5982ecb 89f3fe98 88b1ef31 00000000
NDIS!NdisMCoIndicateReceivePacket+0xcd
a6e12a64 a598411c 89d97008 88b63c48 00000000
covpndrv!CardIndicateReceivedPacket+0x13b
[c:\dev\newfea\rh\winbuild\projects\vpn\src\rh\vpn\driver\cowandrv\card.c @
2086]
a6e12a80 a598e032 89d97008 00000000 00000000 covpndrv!TDI_EventReceive+0x3cc
[c:\dev\newfea\rh\winbuild\projects\vpn\src\rh\vpn\driver\cowandrv\receive.c
@ 460]
a6e12ac8 a5987a4a 88b63c48 88f20b38 00000fff covpndrv!WritePacket+0x202
[c:\dev\newfea\rh\winbuild\projects\vpn\src\rh\vpn\driver\cowandrv\userio.c
@ 172]
a6e12b8c f7b2c4bb 89d7d030 88f20b38 88b4f018
covpndrv!URVPNDriverDispatch+0x9fa
[c:\dev\newfea\rh\winbuild\projects\vpn\src\rh\vpn\driver\cowandrv\dispatch.c
@ 330]
a6e12ba4 f7b2c947 89d7d030 88f20b38 88b681f8 NDIS!ndisDummyIrpHandler+0x48
a6e12c40 804e13d9 89d7d030 88f20b38 806ff410
NDIS!ndisDeviceControlIrpHandler+0x5c
a6e12c50 8056f50b 88f20ba8 88b15aa0 88f20b38 nt!IopfCallDriver+0x31
a6e12c64 8057cfc3 89d7d030 88f20b38 88b15aa0
nt!IopSynchronousServiceTail+0x60
a6e12d00 805896c4 00000154 00000000 00000000 nt!IopXxxControlFile+0x5ef
a6e12d34 804dd99f 00000154 00000000 00000000 nt!NtDeviceIoControlFile+0x2a
a6e12d34 7c90eb94 00000154 00000000 00000000 nt!KiFastCallEntry+0xfc
WARNING: Frame IP not in any known module. Following frames may be wrong.
0012f7a8 00000000 00000000 00000000 00000000 0x7c90eb94
STACK_COMMAND: kb
FOLLOWUP_IP:
covpndrv!CardIndicateReceivedPacket+13b
[c:\dev\newfea\rh\winbuild\projects\vpn\src\rh\vpn\driver\cowandrv\card.c @
2086]
a5982ecb 8b4d08 mov ecx,dword ptr [ebp+8]
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: covpndrv!CardIndicateReceivedPacket+13b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: covpndrv
IMAGE_NAME: covpndrv.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 47c8a144
FAILURE_BUCKET_ID: 0xD1_W_covpndrv!CardIndicateReceivedPacket+13b
BUCKET_ID: 0xD1_W_covpndrv!CardIndicateReceivedPacket+13b
Followup: MachineOwner
--------- Tag: WHQL retest required ? Tag: 103650
Using a checked build for debugging on WINXP SP2
To the Windows team,
I have written and compiled KMDF driver that I need to start debugging. To
do this, I downloaded a checked build compressed file from the MSDN site.
I have been trying to get a checked build system running using just the
hal.dll and the ntoskrnl.exe. I am using XP Version 5.1 Build 2600
xpsp_SP2_rtm.040803-2158: service pack2. I have downloaded the Windows
XP-KB835935-SP2-DEBUG-ENU.exe compressed image. From this image I have
extracted the following files
Hal.dl_
Ntoskrnl.ex_
Ntkrnlpa.ex_
I used the expand.exe utility to expand my compressed files to halc.dll,
ntoschk.exe, and ntckpa.exe. These files were placed into the
windows\system32 directory.
I modified my boot.ini to look like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro
Checked Build" /fastdetect /kernel=ntoschk.exe /hal=halc.dll
On boot up, I get two options. If I select the checked build option the
system starts to load the OS and then resets. I never get a screen. The
reset happens within about three seconds of selecting the checked build boot
option.
I have also extracted the sp2.cab zip file from the archive and have tried
to use the following files:
Hal.dll
Ntoskrnl.exe
Ntkrnlpa.exe
These files were renamed per the file names specified in the boot.ini file
and placed in the windows\system32 directory.
I get the same results when I select the checked build boot image.
I have been referencing the msdn2.microsoft.com/en-us/library/ms792430.aspx
document as well as the information in the boot.ini reference document.
Although they give different file names, they basically give the same
instructions.
Here is my setup.log data
setup.log
[Files.WinNt]
\WINDOWS\system32\hal.dll = "hal.dll","24f6c"
\WINDOWS\system32\ntkrnlpa.exe = "ntkrnlpa.exe","1fb94e"
\WINDOWS\system32\ntoskrnl.exe = "ntoskrnl.exe","2160c9"
I have not replaced the ntkrnlpa.exe with the checked build version from the
checked build image. Should I do this? Do you see anything I am doing that
would cause this problem? Also, is there an ISO image I can download from
MSDN that will allow me to build an installable checked build image?
I have been messing with this all day. It is becoming a critical problem
because I need to get my driver debugged and released in order to meet our
release schedule. I need a resolution by Monday. Your help will really be
appreciated!
--
Greg Curwen Tag: WHQL retest required ? Tag: 103644
driver compilation options
When I compile my kernel driver project in WDK6000, I see that it is not
compiling C files when header file is changed. Only when there is change in C
file or if I remove object files using "build -c" option, WDK recompiles the
files. How to specify header file dependency? How to tell compiler to work
like Visual studio compiler and build for changes to header file?
Thanks,
Raj Tag: WHQL retest required ? Tag: 103642
Upgrading to 6001.18000
When I try to re-install a driver that was rebuilt with 6001.18000
(originally built against 6001) I get all sort of strange behavior.
Sometimes the installation hangs, or the driver just exits without producing
any errors. But if I first delete wdf01000.sys and wdfldr.sys and reboot
before re-installing, then everything seems to work fine. Is there known
issues with upgrading from 6001 to 6001.18000. What is supported way of
doing this?
Thanks,
Michael Tag: WHQL retest required ? Tag: 103639
[Q] Where to get information on a device for which I write a driver?
Hello.
I have a MacBook and installed a Windows XP x64.
Although things work OK, I found some glitches.
1. Any mouse doesn't work with the MacBook. The built-in trackpad works.
However, I would like to connect my USB mouse.
The Windows XP x64 detects my mouse, but the MS HID device driver
installed automatically by the XP x64 doesn't work with the mouse.
2. I have a Vantek NexStar 350UF external HDD. It has a Firewire and a
USB port. They, the Vantek, don't provide a device driver for it, and
the MS doesn't.
Because of these two reason, I would like to write a device driver for
them. (Actually this is the reason why I bought a notebook computer,
although I have a desktop already. )
I read the WinDDK document and "Programming the Windows Driver Model"
written by 'Oney'. They explains how to prepare your code to conform to
the Windows device driver model.
However, I think it is up-to driver writer to figure out what kind of
information is necessary to write a driver for his/her device.
Probably there are some specific addresses and hardware interrupt for
the specific H/W, and so on.
Although the book mentioned about memory-mapped I/O and port mapped I/O,
but I don't have clear clue if they can be used for any H/W, or the H/W
should supports one of them. Or it is, how to get information on that is
in question.
Should I open up the devices and check what chips are used and try
obtaining reference manual for the chips?
How do you get information, which is meaningful for device driver
writers, on H/W?
I will appreciate any help.
Thank you.
JongAm Park Tag: WHQL retest required ? Tag: 103633
IoOpenDeviceRegistryKey WdfDeviceOpenRegistryKey Docerr
WDK docs claim that IoOpenDeviceRegistryKey & WdfDeviceOpenRegistryKey with
PLUGPLAY_REGKEY_DEVICE param open the "hardware" key.
This is obviously wrong. It was true on Win 98/Me, but since W2K the
"Hardware Parameters" subkey is opened instead.
I know this is not an official WDK docs feedback... Tag: WHQL retest required ? Tag: 103623
DriverStudio ...
... does anyone remember that?
I used it for Windows 98, ME, 2000 and XP drivers, can anyone recommend
something similar for Vista or are we stuck with Microsoft's DDK?
Thanks.
--
fenster Tag: WHQL retest required ? Tag: 103621
Little Driver USB
Hi,
I'am working with a USB capacitive table (tactile table).
(I'have the driver for this table), and the protocol communication of
the driver Table.
My goal, is write my OWN little USB driver, for "get" the Data sent by
the Table.
I have searched a lot of time, documentation for write a little USB
driver (sample code (of a usb mouse..), or good tutorial), but i have
find Nothing !!! (in the DDK, there are some code, but it's very very
compicated, for what i want to do...)
Anyone can help me to start in usb driver coding ?
In advance, thank's Tag: WHQL retest required ? Tag: 103619
beginners help
i am looking for some basic book for beginners on windows driver. as i am
working on wddm driver on which no book has been written till now, so just to
start of which book should I refer.
I also want to know the difference between windows driver foundation and
windows driver model and which model is going to be used in future
technology.
I think its too novice to ask such type of question but i am totally confused
with these terms
regards Tag: WHQL retest required ? Tag: 103618
Regarding WHEA testing
Hi,
I am having following problem with WHEA testing of the x64(AMD64)
motherboard I am having (I am using latest DTM 6001.xx.100 version released
on february):
1. plugin.sys and installplugin.bat files are missing. (They are
available only for IA-64 platforms). I am not sure they're really required.
2. If I run "WHEAHCT.exe /HCT" with WHEA enabled in BIOS, I receive
following error:
Error 0x0, Error 0x00000000
WHEA WMI Error Injection Failed. Check Platform Type.
If I run WHEAHCT /ERR 1 or some other valid error type, I got
following error during WHEA Error Injection tests:
"Failed to get class object" error code 0x80041002.
Due to platform type error, I tried in windows server 2008 too. There it
often started hanging during error injection test if the error type is among
the standard errors. (1, 2, 4, 8, 16, 32, 64 and 128). I am not sure whether
this is BIOS problem or missing plugin.sys & co problem.
Has somebody else encountered such problems?
Thanks in advance. Tag: WHQL retest required ? Tag: 103615
Substitute for IOCTL_ATA_PASS_THROUGH_DIRECT in windows VISTA
Dear Sir or Madam:
I have a problem writing a "ATA disc drive checker" program in Windows
VISTA.
In Windows XP, arbitrary ATA commands are issuable using DeviceIoControl
function with IOCTL_ATA_PASS_THROUGH_DIRECT.
The ATA command exit information is available in CurrentTaskFile struct.
I read the MSDN article and knew that IOCTL_ATA_PASS_THROUGH_DIRECT is
obsolete in Windows VISTA.
---
Article ID : 942448
Changes to the file system and to the storage stack to restrict direct
disk access and direct volume access in Windows Vista and in Windows
Server 2008
---
My question is:
Is there any substitute for IOCTL_ATA_PASS_THROUGH_DIRECT in windows
VISTA?
I need to know how to issue arbitrary ATA commands and get exit
information, at least Error register and Status register.
My environment is as follows.
OS : Microsoft(R) Windows Vista(TM) Ultimate
version : 6.0.6000 Build 6000
Mother board: ASUS(R) P5B-E Plus
CPU : Intel(R) Core(TM)2 Duo 6400
Chipset : Intel(R) P965 + Intel(R) ICH8R
Driver : Standard AHCI 1.0 Sereal ATA Controller
driver file (time stamp):
c:\wdows\system32\drivers\atapi.sys
(6.0.6000.16584, 21.05 KB (21,560 bytes), 2008/01/16 15:40)
c:\windows\system32\drivers\ataport.sys
( 107 KB(109,624 bytes), 2008/01/16 15:40
c:\windows\system32\drivers\msahci.sys
(6.0.6000.16584, 25.05 KB (25,656 bytes), 2008/01/16 15:40)
c:\windows\system32\drivers\atapi.sys
(6.0.6000.16584, 21.05 KB (21,560 bytes), 2008/01/16 15:40)
c:\windows\system32\drivers\pciide.sys
(6.0.6000.16584, 15.55 KB (15,928 bytes), 2008/01/16 15:40)
Sincerely, Tag: WHQL retest required ? Tag: 103612
Claude Von Stroke free mp3s
C L A U D E V O N S T R O K E L E G A L M P 3 M U S I C
*Who's Afraid Of Detroit 2007*
'Claude Von Stroke - Who's Afraid of Detroit?'
(http://tinyurl.com/2yl438) (6:44 15.42Mb 320kbps)
'Claude Von Stroke free MP3 download'
(http://mp3tube.info/claude_von_stroke/), 'Claude Von Stroke Who's
Afraid Of Detroit MP3' (http://mp3tube.info/claude_von_stroke/)
--
Mene
------------------------------------------------------------------------
Posted via http://www.codecomments.com
------------------------------------------------------------------------ Tag: WHQL retest required ? Tag: 103606
TraceView and bitmask flags
I am using a form of DoTraceMessage(level, flags), where level is the
standard TRACE_LEVEL_CRITICAL to TRACE_LEVEL_VERBOSE as defined in
evntrace.h, and flags are WPP_DEFINE_BIT bit masks that indicate the
association of the trace output, e.g. filesystem, memory, performance,
network, etc.
Levels are numeric values tested by (trace level >= configured level), and
flags are one or more bits tested by (trace flags & configured flags).
When using TraceView from the W2K8 DDK it treats both flags and levels as
levels, using the string values from evntrace.h.
- How do I get TraceView to allow me type a flags value, or select multiple
bits, i.e. I want to be able to enable multiple bits?
- How do I get TraceView to use the descriptive names for the bit fields, as
visible when using tracepdb to generate an MOF file?
Regards
P. Tag: WHQL retest required ? Tag: 103602
NdisMCoIndicateReceiveNetBufferLists not working with NDIS_RECEIVE_FLAGS_RESOURCES flag
All,
I found one problem in the NdisMCoIndicateReceiveNetBufferLists()
API call.
According to the driver's document , if CoReceiveFlags is specified
with "NDIS_RECEIVE_FLAGS_RESOURCES ", driver can calim the owership of the
buffer. However, I found this API not working. What I did is to
initialize the value of "SourceHandle" to 0x55aa before indicating the
packet up. However, in the the ":MiniportReturnNetBufferLists "
function, this packet was returned from the protocol layer. Does anybody
know what it is going on with problem?
---------------------------WinDbg debugging
output -----------------------------------------
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
1:VPNDRV:WARNING:MiniportReturnNetBufferLists Not our
NetBufferLists=0x836f54e8 SourceHandle=0x55aa
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
1:VPNDRV:WARNING:MiniportReturnNetBufferLists Not our
NetBufferLists=0x83bd71d8 SourceHandle=0x55aa
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
1:VPNDRV:WARNING:MiniportReturnNetBufferLists Not our
NetBufferLists=0x836231d8 SourceHandle=0x55aa
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
1:VPNDRV:WARNING:MiniportReturnNetBufferLists Not our
NetBufferLists=0x83716418 SourceHandle=0x55aa
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
1:VPNDRV:WARNING:MiniportReturnNetBufferLists Not our
NetBufferLists=0x836f54e8 SourceHandle=0x55aa
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
1:VPNDRV:WARNING:MiniportReturnNetBufferLists Not our
NetBufferLists=0x836381d8 SourceHandle=0x55aa
0:VPNDRV:WARNING:CardIndicateReceivedPacket NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=1
1:VPNDRV:WARNING:MiniportReturnNetBufferLists Not our
NetBufferLists=0x83716418 SourceHandle=0x55aa
-------------------My function to indicate the packet
up ------------------------------------------------
if (pLink->ReceivedNBLChain)
{
ULONG ReceiveFlags=0;
DBG_NOTICE(pAdapter, ("NumberOfPackets
=%d\n",pLink->NumberOfPackets));
if (pAdapter->pCard->RCBCount==RCB_THRESHOLD)
{
NDIS_SET_RECEIVE_FLAG(ReceiveFlags,
NDIS_RECEIVE_FLAGS_RESOURCES);
//-------------------I put a hard code value 0x55aa to "
CurrentNetBufferList->SourceHandle" before indicating the packet
up.---------------------------
#if DBG
{
PNET_BUFFER_LIST CurrentNetBufferList;
UINT i;
CurrentNetBufferList = pLink->ReceivedNBLChain;
for (i=0; i<pLink->NumberOfPackets; i++)
{
CurrentNetBufferList->SourceHandle=0x55aa;
CurrentNetBufferList =
NET_BUFFER_LIST_NEXT_NBL(CurrentNetBufferList);
}
}
#endif
}
else
pAdapter->TotalIndicatedNetBufferList +=pLink->NumberOfPackets;
NET_BUFFER_LIST_NEXT_NBL(pLink->LastReceivedNBL) = NULL;
NdisMCoIndicateReceiveNetBufferLists(
pLink->NdisVcHandle,
pLink->ReceivedNBLChain,
pLink->NumberOfPackets,
ReceiveFlags
);
//
// Packets that were indicated with NDIS_STATUS_RESOURCES
// need to be returned to Hw11 immediately.
//
if ((ReceiveFlags&NDIS_RECEIVE_FLAGS_RESOURCES)) // Implies
LowResourceNBLChain != NULL
{
PNET_BUFFER_LIST CurrentNetBufferList;
UINT i;
PRCB pRCB;
DBG_WARNING(DbgInfo,("NDIS_RECEIVE_FLAGS_RESOURCES
NumberOfPackets=%d\n",pLink->NumberOfPackets));
CurrentNetBufferList = pLink->ReceivedNBLChain;
// DBG_WARNING(pAdapter,
("RCBCount=%d\n",pAdapter->pCard->RCBCount));
for (i=0; i<pLink->NumberOfPackets; i++)
{
pRCB = GET_RCB_FROM_NBL(CurrentNetBufferList);
ASSERT(pRCB);
CardQueueRCB(pAdapter->pCard,pRCB, FALSE);
CurrentNetBufferList =
NET_BUFFER_LIST_NEXT_NBL(CurrentNetBufferList);
}
// Make sure we walked the entire list.
ASSERT(CurrentNetBufferList == NULL);
// DBG_WARNING(pAdapter,
("RCBCount=%d\n",pAdapter->pCard->RCBCount));
}
//reset the following values
pLink->ReceivedNBLChain=NULL;
pLink->LastReceivedNBL=NULL;
pLink->NumberOfPackets=0;
} Tag: WHQL retest required ? Tag: 103600
C vs C++ Device Driver Question
On the MS website: http://www.microsoft.com/whdc/driver/kernel/KMcode.mspx
it points out the many pitfalls of developing a kernel mode driver using C++
(classes, inheritance etc.).
If it presents so many problems to use C++, why do the AVStream samples use
C++ classes?
For example in C:\WINDDK\3790.1830\src\wdm\avstream or
C:\WINDDK\6000\src\AVStream, the sample
files provided by MS contain C++ classes, and use inheritance!!
Since especially the avshws sample is targeted for eventual use with
hardware( it is pin-centric, shows how to
do DMA etc.), why is it not written in C, like the bulkusb sample for
example?
What does the community think about using C++ in kernel mode drivers?
Thanks
-decoder Tag: WHQL retest required ? Tag: 103599
Porting pthread_mutex and pthread_cond into Win32
I'm trying to implement the thread process from Linux into WinXP. Does anyone
know about the corresponding functionalities on Win32 similar to
pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock,
pthread_cond_init, pthread_cond_wait, pthread_cond_signal, and pthread_join?
Thanks Tag: WHQL retest required ? Tag: 103598
Unable to load driver compiled with Visual Studio 2005
Hi
I have driver that is compiled with Visual Studio 6. It works without any
issues. The driver is kernel mode TDI Client driver. It ported to Visual
Studio 2005. It is comiling successfully. However when I tried to load the
driver using net start command, it gives an error saying that "system error 2
has occurred. The system can't find the file specified"
any thoughts on this issue
Thanks for your help
Kishore Tag: WHQL retest required ? Tag: 103595
error code 0X800700C1
I tried to install sample microsoft Mux driver on a vista machine and I get
this error:
"Could not add the requested feature. The error is 0X800700C1"
Does any one has this error before? Tag: WHQL retest required ? Tag: 103585
Missing ksxbar.ax in Server 2008
I have been unable to get a video crossbar driver to work with Server 2008.
I noticed that the ksxbar.ax file is not installed. I also noticed that the
kscaptur.inf file is not the same as Server 2003, in that the file names have
been removed from the file sections, e.g., [Filters.Files]. The same goes
for Vista.
How is the ksxbar.ax file supposed to get installed on Server 2008 (and
Vista)?
Thanks,
Harry Tag: WHQL retest required ? Tag: 103558
Enumerating protected audio device
Hi,
I am trying to active the copy protection mechanism on a sound card that
supposedly supports SCMS. I am trying to follow the steps published by
Microsoft on how to do so.
http://www.microsoft.com/japan/whdc/device/audio/digital-aud_protect.mspx
Basically, from the documentation, it says that first you need to enumerate
the devices to search for the audio device that has protection mesures and
then call the CreateFile to load the identified device path and finally, use
the DeviceIoControl to activate the copy protection bit.
For the device enumeration, below are the steps stated in the documentation:
1) Locate the device node for the audio endpoint where audio is being
rendered by calling SetupDiEnumDeviceInfo.
2) Obtain the audio protection device name related to the device by using
SetupDiGetDeviceInterfaceDetail for the CLSID_AudioProtection interface class
ID.
3) Open the audio protection device. (Using CreateFile)
4) Get/Set the audio protection using DeviceIoControl
For the CLSID_AudioProtection, the GUID ID is { 0x9ff3b516, 0xcd99, 0x4eaf,
0x83, 0x73, 0xf2, 0xca, 0xf8, 0x7e, 0xd2, 0x6b };
Below is what I wrote:
void EnumDeviceInfo()
{
HDEVINFO hDevInfo;
SP_DEVINFO_DATA DeviceInfoData;
SP_DEVICE_INTERFACE_DATA DeviceIntfData;
PSP_DEVICE_INTERFACE_DETAIL_DATA pDeviceIntfDtlData;
DWORD i,j;
// Create a HDEVINFO with all present devices.
hDevInfo = SetupDiGetClassDevs(NULL,
0, // Enumerator
0,
DIGCF_PRESENT | DIGCF_ALLCLASSES );
if (hDevInfo == INVALID_HANDLE_VALUE)
{
// Insert error handling here.
return;
}
// Enumerate through all devices in Set.
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)
{
LPOLESTR pwszStr = NULL;
StringFromIID(DeviceInfoData.ClassGuid,&pwszStr);
wprintf(L"Device GUID: %s\n",pwszStr);
CoTaskMemFree(pwszStr);
DeviceIntfData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
DeviceIntfData.InterfaceClassGuid = CLSID_AudioProtection;
DeviceIntfData.Flags = SPINT_ACTIVE;
DWORD dwLength = 0, dwRequired = 0;
SetupDiGetDeviceInterfaceDetail(hDevInfo,&DeviceIntfData,NULL,0,&dwLength,NULL);
pDeviceIntfDtlData = NULL;
if (dwLength)
{
pDeviceIntfDtlData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(dwLength);
pDeviceIntfDtlData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
}
if
(SetupDiGetDeviceInterfaceDetail(hDevInfo,&DeviceIntfData,pDeviceIntfDtlData,dwLength,&dwRequired,NULL))
printf("Device with CLSID_AudioProtection path =
%s\n",pDeviceIntfDtlData->DevicePath);
if (pDeviceIntfDtlData)
free(pDeviceIntfDtlData);
}
if ( GetLastError()!=NO_ERROR &&
GetLastError()!=ERROR_NO_MORE_ITEMS )
{
// Insert error handling here.
return;
}
// Cleanup
SetupDiDestroyDeviceInfoList(hDevInfo);
}
When I run this code, All I could see is a list of Device GUID. Device with
CLSID_AudioProtection interface is never found. Suspecting that the sound
card used on my system may not be actually provide such interface, I modified
my code to as below:
void EnumDeviceInfo()
{
HDEVINFO hDevInfo;
SP_DEVINFO_DATA DeviceInfoData;
SP_DEVICE_INTERFACE_DATA DeviceIntfData;
PSP_DEVICE_INTERFACE_DETAIL_DATA pDeviceIntfDtlData;
DWORD i,j;
// Create a HDEVINFO with all present devices.
hDevInfo = SetupDiGetClassDevs(NULL,
0, // Enumerator
0,
DIGCF_PRESENT | DIGCF_ALLCLASSES );
if (hDevInfo == INVALID_HANDLE_VALUE)
{
// Insert error handling here.
return;
}
// Enumerate through all devices in Set.
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)
{
LPOLESTR pwszStr = NULL;
StringFromIID(DeviceInfoData.ClassGuid,&pwszStr);
wprintf(L"Device GUID: %s\n",pwszStr);
CoTaskMemFree(pwszStr);
for (j = 0; SetupDiEnumDeviceInterfaces (hDevInfo, &DeviceInfoData, NULL,
j, &DeviceIntfData); j ++)
{
StringFromIID(DeviceIntfData.InterfaceClassGuid,&pwszStr);
wprintf(L"Interface GUID: %s\n",pwszStr);
CoTaskMemFree(pwszStr);
}
if ( GetLastError()!=NO_ERROR &&
GetLastError()!=ERROR_NO_MORE_ITEMS )
{
// Insert error handling here.
return;
}
// Cleanup
SetupDiDestroyDeviceInfoList(hDevInfo);
}
Again, the result is the same, I only get to see a list of enumerated device
GUID.
This brings me to a few questions.
1) For each device, does it have an enumeration of interfaces?
2) What is the difference between SP_DEVICE_INTERFACE_DATA's
InterfaceClassGuid and SP_DEVINFO_DATA's ClassGuid? From some of the sample
codes online, seems like they are refering to the same device class GUID.
Thank you for reading my posting and I hope someone could help me here.
John Tag: WHQL retest required ? Tag: 103555
Hi
If we just change device name from inf file , should we retest WHQL ?
Or can we have a way to update inf file with a lower fee ?
i remember resubmitting package for signing with inf changes without retest
but not sure if that involved price discounts :)
"Kid" <Kid@discussions.microsoft.com> wrote in message
news:37506C7F-1CB2-4E1A-A32F-EF7750DB969F@microsoft.com...
> Hi
>
> If we just change device name from inf file , should we retest WHQL ?
>
> Or can we have a way to update inf file with a lower fee ?
>
> Thank you .
On Mar 6, 12:13=A0pm, "rtshiva" <rtsh...@hotmail.com> wrote:
> i remember resubmitting package for signing =A0with inf changes without re=
test
> but not sure if that involved price discounts :)
>
BTW, at some point I will need to go through the WHQL process too. How
much should I expect to spend on this?
It's DUA(Driver Update Acceptable) submisstion and you don't need to retest
WHQL.
The INF update submssion fee is the same as $250 for each submssion.
But if you need to do reselling procedure, you will be charged $100 for
extra.
>i remember resubmitting package for signing with inf changes without
>retest but not sure if that involved price discounts :)
>
> "Kid" <Kid@discussions.microsoft.com> wrote in message
> news:37506C7F-1CB2-4E1A-A32F-EF7750DB969F@microsoft.com...
>> Hi
>>
>> If we just change device name from inf file , should we retest WHQL ?
>>
>> Or can we have a way to update inf file with a lower fee ?
>>
>> Thank you .
>