Filter driver question
Hi
Can Vista use filter driver , any framework change ?
Does MSDN Library tell us much about filter driver ?
I have question about ComPort Inf section of msports.inf
[ComPort.NT.HW]
AddReg=ComPort.NT.HW.AddReg
[ComPort.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010000,"serenum"
What does Inf HW section use for, and where will it create registry key ?
Thank you . Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105537
Visual studio project files for devcon
Somebody asked for it, so here it is...
Visual Studio 2008 ex. project for the WDK sample program devcon (KB311272).
http://w16.easy-share.com/1700307651.html
Make a copy of devcon source directory and extract the zip there; the
solution file is in vcproj subdir.
Enjoy.
--PA Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105535
IoAllocateMdl Failure- returns NULL 30% in Vista64 but not in othe
Hi,
I observed that IoAllocateMdl is returning NULL around 30% of the times in
Vista64 but not that much in other OS.
I am allocating the MDL memory for 16MB.
System is AMD 64-bit 2GB RAM and for other OS also, i tested in the same PC.
Do i have modify any settings in vista64-PC to increase the success rate of
IoAllocateMdl?
I have read in an article, when system loads heavily & runs lack of system
pages, it happens, but i tried with SystemPages 0 to not limit of the pages
allocation in regedit, but the response is same.
Thanks,
Kota. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105523
PC Restart required after driver unload and before installing agai
Hi,
I am working on a WDF PCI device driver, driver supports
PNP functionality.
Problem: when driver uninstalled, i had to restart the system in xp-32 &
xp-64 before driver installing again, where as this is not required in
vista-32 bit pc.
Driver installation: I am currently using DIFX tools DpInst for installing &
uninstalling the driver.
I also verified that my driver unmaps the resources before uninstalling the
driver using MmUnmapIoSpace to unmap the PCI memory resources.
Device doesnt support power managment
capability, so driver also not supporting any power managment functionality,
instead it just registers the callback & wont do anything inside.
Since this problem is existing only in xp, do i have to take any extra care
to avoid system restart? and also, after uninstall system doesnt prompt for
restart also.
Thanks,
Prafulla Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105522
How to refresh attached disk drivers?
If there a way to force windows to refresh attached disk devices?.
If I change the partition of a unit the system donâ??t refresh the status
until disconnect and reconnect it. For this reason I search how to connect
and disconnect, but if I can force a refresh I donâ??t need to disconnect the
drive.
Thanks for your time, and patience!
--
Juan Segura
www.sd-a.com
juan@sd-a.com Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105521
IOCTL_VOLUME_ONLINE and IOCTL_VOLUME_OFFLINE
Hello:
Turning around connect and disconnect disk devices I look at
IOCTL_VOLUME_ONLINE and IOCTL_VOLUME_OFFLINE functions.
However I donâ??t find any examples jet.
I test this (in c#):
SafeFileHandle h = CreateFile(â??\\\\.\\Physicaldriver3â??,
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
IntPtr.Zero, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL |
FILE_FLAG_WRITE_THROUGH,
new SafeFileHandle(IntPtr.Zero, true));
if (!h.IsInvalid)
{
long bret = 0;
bool ret=DeviceIoControl(h,
IOCTL_VOLUME_OFFLINE,IntPtr.Zero,0,IntPtr.Zero,0,
out bret, IntPtr.Zero);
â?¦
Where IOCTL_VOLUME_OFFLINE is 3, meanwhile IOCTL_VOLUME_ONLINE is 2.
The GetLastWin32Error returns 50, I thing â??ERROR_NOT_SUPPORTEDâ??.
The Physicaldriver3 is an USB Memory stick dervice.
I know others ways for disconnect USB, but my target is to reconnect the USB
without human intervention.
Thanks for your time!
--
Juan Segura
www.sd-a.com
juan@sd-a.com Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105520
sdram configuration,pls help
dear all,
I know this might be an old question for u guys,
but I really met some troubles within it.
My platform is:
CPU : Xscale pxa255
OS : Windows CE .Net 4.2
Flash : 32MB
SDRAM : 128MB (32MBX4)
Now I want to set the configuration of 128M SDRAM.
following some suggestions,I modified the some files below,
but it does not work..
now,I list my main modification:
//////////////////////////////////////
config.bib
//////////////////////////////////////
MEMORY
IF IMGFLASH !
NK 800B8000 02000000 RAMIMAGE
RAM 820B8000 05C00000 RAM
EDBG 87F8D000 00020000 RESERVED
ENDIF
AUD_DMA 87CB8000 0000A000 RESERVED
SLEEP_SAV 87CC2000 00001000 RESERVED
DRV_GLB 87CC3000 00001000 RESERVED
CACHE_FLG 87CC4000 0003C000 RESERVED
DISPLAY 87D00000 00130000 RESERVED
BLOCK_BUF 87E30000 00080000 RESERVED
UNUSED_BUF 87EB0000 000DD000 RESERVED
whql_sig 00000001 00002000 EXTENSION
ZBANK 88000000 00100000 RESERVED
CONFIG
IF IMGFLASH !
AUTOSIZE=ON
ENDIF
IF IMGFLASH !
ROMSTART=800B8000
ROMWIDTH=32
ENDIF
ROMSIZE=01D00000
/////////////////////////////////
memmap.inc
////////////////////////////////
DCD SDRAM_BASE_C_VIRTUAL,SDRAM_BASE_PHYSICAL,128
DCD ZBANK_BASE_C_VIRTUAL, ZBANK_BASE_PHYSICAL, 1 DCD
MEMC_BASE_C_VIRTUAL, MEMC_BASE_PHYSICAL, 1 DCD
PERIF_BASE_C_VIRTUAL, PERIF_BASE_PHYSICAL,32 DCD
PCMCIA_S0_IO_C_VIRTUAL, PCMCIA_S0_IO_PHYSICAL, 32 DCD
PCMCIA_S0_ATTR_C_VIRTUAL, PCMCIA_S0_ATTR_PHYSICAL, 32
DCD PCMCIA_S0_CMN_C_VIRTUAL, PCMCIA_S0_CMN_PHYSICAL,
64
DCD PCMCIA_S1_IO_C_VIRTUAL, PCMCIA_S1_IO_PHYSICAL,32
DCD PCMCIA_S1_ATTR_C_VIRTUAL, PCMCIA_S1_ATTR_PHYSICAL,
32
DCD PCMCIA_S1_CMN_C_VIRTUAL, PCMCIA_S1_CMN_PHYSICAL,
64
DCD LCD_BASE_C_VIRTUAL,
LCD_BASE_PHYSICAL, 1
DCD BOOT_FLASH_BASE_C_VIRTUAL, BOOT_FLASH_BASE_PHYSICAL,
32
DCD CS8900A_BASE_C_VIRTUAL, CS8900A_BASE_PHYSICAL,
1
DCD XHYPER255B_PERI_C_VIRTUAL, XHYPER255B_PERI_PHYSICAL, 5
DCD CY7C67300_BASE_C_VIRTUAL,
CY7C67300_BASE_PHYSICAL, 1
DCD nCS4_BASE_C_VIRTUAL,
nCS4_BASE_PHYSICAL, 8
DCD nCS5_BASE_C_VIRTUAL,
nCS5_BASE_PHYSICAL, 8
DCD 0x00000000, 0x00000000, 0
then,I changed xsc1.h,xsc1.inc,xsc1bd.h,xsc1bd.inc to
be in sync with config.bib and OEMAddressTable,
and I checked a lot ,there's no problem with them.
///////////////////////////////////////////////////////////////////////
and in memdefs.h, I was a little confused about the codes below:
and I modified the two values which I marked to sync.
///////////////////////////////////////////////
#ifndef SABINAL
//
// Cotulla-32 Defs
//
#define MEM_BASE_PHYSICAL 0xA3CB8000
#define MEM_BASE_C_VIRTUAL 0x87CB8000 //modifed
#define EDBG_PHYSICAL_MEMORY_START 0x87F8D000 //modifed
#else
//
// Sabinal Defs
//this seems not used,so I do not modify the value
#define MEM_BASE_PHYSICAL 0xA1CB8000
#define MEM_BASE_C_VIRTUAL 0x81CB8000
#define EDBG_PHYSICAL_MEMORY_START 0x81F8D000
#endif
///////////////////////////////////////////
I also changed the value in xsc1bd.inc
MDCNFG_VAL EQU 0x19C319C3
; Setup default MDCNFG value for 128MB SDRAM
///////////////////////////////////////////
in the end,according to K.S.huang's advice,i modified file fwxsc1.s
; enable sdram bank 0 if installed (must do for any populated bank)
orr r3, r3, #MDCNFG_DE0
;4.28 add
orr r3, r3, #MDCNFG_DE1
;add above
and also changed some uart address in platform.reg
such as:
;-------------------------------------------------------------
; Serial1 : FFUART
;-------------------------------------------------------------
; @CESYSGEN IF CE_MODULES_SERIAL
IF BSP_NOSERIAL !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial]
"Dll"="xsc1bd_serial.Dll"
; "IoBase"=dword:a6300000 ;FFUART_BASE_U_VIRTUAL
"IoBase"=dword:a8300000 ;FFUART_BASE_U_VIRTUAL
................
///////////////////////////////////////////////
when all of them had done,I download the NK.bin,
and the debug information shows:
rom_offset=0x0.
Found pTOC signature.
ROMHDR at Address 800B8044h
RomHdr.ulRAMStart=81C50000h RomHdr.physfirst=800B8000h.
Done.
Writing 0x80076BD8 to flash address 0xB8340000 (length=0xA40).
Sector=0x200 (Length=0x6) Block=0x1 (Length=0x1).
Handling non-block aligned data...
FlashErase: Unlocking flash block(s) [0x1, 0x1] (please wait): Done.
Erasing flash block(s) [0x1, 0x1] (please wait): .Done.
Writing to flash (please wait): Done.
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIG, flags:0x00000000
Download successful! Jumping to image at physical 0xA00B9000...
Begin
******************************************************
******************************************************
******************************************************
******************************************************
******************************************************
OEMInitDebugSerial using UART2
Windows CE Kernel for ARM Built on Mar 13 2003 at 22:54:19
ProcessorType=02d0 Revision=6
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable =
800b9ef4
as u see,my system hung at last,
if normal,sp=ffffc7cc should be printed behind
OEMAddressTable = 800b9ef4
but now,system hung there....
and Platform builder printed the word"Kernel debugger is waiting to
connect with target."
Anybody has experience ?
could u give me some advice?
I so appreciate it, thank u a lot. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105519
Generating a driver without DDK,...
Hi,
i have a situation here which is really true. I have a
old laptop, running windows 2000 professional
and there is no space left for the DDK from Microsoft.
I want to write and test some (simple, monolithic)
drivers, targeting 2000/XP/Vista which handle a
special device over USB. So the situation is that
i dont have a lot of space for ddk on my machine
and i am looking for a way to write a driver, compile
it into a native image and all this WITHOUT the
MS DDK. Is there such a way, a minimal package
of compilers, headers, not bigger than 200 MB?
I already have livekd and WinDbg here, but no compiler
so far and no environment. The environment should
be as small as possible and the compiler should
be capable of inline assembly. Is something like this
available somewhere?
I am not kidding, i really have no space left
here on the machine. This may sound funny
but this is really the situation.
Regards
Kerem
--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied." Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105515
Can one force a USB disconnect then reconnect?
Is there a way to have Windows pretend a USB device has been unplugged,
then plugged back in?
--
#include <standard.disclaimer>
_
Kevin D Quitt USA 91387-4454 96.37% of all statistics are made up Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105513
extra WHQL warnings
My app calls UpdateDriverForPlugAndPlayDevices and it works. The driver is
installed, the device works, everybody is happy. Except...
If more than one instance of the model in question is on the bus (it's a USB
device), then I get not just one WHQL warning but at least one more. And the
pattern is very weird.
Let's say the user plugs in one of my devices, and my app calls
UpdateDriverForPlugAndPlayDevices, and the user gets a WHQL warning, and she
says continue, and everything works. Peachy, right? Now she plugs in a
second device and she gets two warnings. Weird! Let's say she says continue
two more times and then plugs in a third device. Now she gets three
warnings, but the weirdness is just getting started. She plugs in a fourth
instance of the device and she gets one warning (expected) but then she
plugs in a fifth instance and gets two warnings.
Remember, I get the extra warnings even if all but one instance of the
device in question already has the driver. But, just to be paranoid, I made
sure I was not calling UpdateDriverForPlugAndPlayDevices again due to
re-entrant delivery of messages to my window.
Of course, I am looking to inhibit the extra WHQL warnings. Any ideas?
Pete Gontier
http://www.m-audio.com/
pete (at) m-audio (dot) com Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105510
Mount and dismount physicaldriver
Hello:
I donâ??t know if it is the correct forum, sorry if Iâ??m wrong.
I need to mount and dismount physical drives, like \\.\Physicaldrive0 for
example, for a backup software.
The idea is to dismount the usb drive after the backup for a safe extraction
(this is the less problem), and mount it before start the backup. All of this
without human intervention.
I develop in c#, but I call Kernel32.dll APIs.
Some ideas?
Thanks, and sorry for my bad English!
--
Juan Segura
www.sd-a.com
juan@sd-a.com Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105508
Creating an IP option within a WFP Callout
Hello everyone, I am trying to design a driver that will add an IPv4 option
to every outbound IPv4 packet. I have developed a WFP callout that allows me
to inspect each IP packet as flows through the network layer. At this point
I'd like to clone the netbuffer, add the option header and recalculate the
appropriate fields. However, I am stuck at one critical area. I need to
report to the higher layers that the MTU is reduced by the size of the option
header to ensure that the finished packets do not exceed the MTU. Since an
outbound network layer callout can not see IP fragments, I am concerned that
the packet will then be fragmented, thus invalidating the header that I
applied (each option is correlated to the data in the payload). Can any of
the forum gurus give me any advice?
Thanks! Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105505
Access violation when device plugged out
I have allocated using ExAllocatePoolWithTag to allocate buffer from non
paged pool for reading data through the USB AV streaming device.
when the driver is streamng the data from the device, and when device is
suddenly removed, I check for the URB's status for NO DEVICE after IoCall
driver to the next device object.
The data recieved is buffered and processed and sent to the other layer.
during this time some time when the device is plugged out suddenly, it gives
ACCESS VIOLATION BSOD with 0x7E,
I am sure the allocated memory is not freed also, the accessed location is
not out of bounds of the allocated memory area. The address is not null.
Is there any way to check whether the address is valid.
This happens only when the device is plugged out. and during normal
operation, it works fine.
There are 2 possibilities:
Device present: during this time bulk transfer is done to read the data from
deivce into the buffer and is further sent to processing.
Device is removed: when a bulk transfer is attempted, it is programmed to
return STATUS_NO_SUCH_DEVICE such that the call is returned and the buffer
pointer is not sent for processing.
In both the case, how does it give access violation, as the buffer is
allocated and is not freed yet.
Can somebody let me know if any thing I am missing..
Thanks.. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105495
WPP Tracing in miniport
Hi,
How do I use HwStorInitializeTracing in a miniport driver? Would the
following be correct:
HwStorInitializeTracing(p1,p2)
{
WPP_INIT_TRACING(p1,p2)
}
Thank you,
Andrew Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105493
Windows 95/98 Vxd driver question
Hi
I might need to study Windows 98 Vxd driver framework , is there any book
talk abount it ?
Where can I find MSDN online document about Vxd driver ?
Thank you . Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105486
Bug in usbser.sys when using a high speed hub
I have a full speed USB device that I'm developing that uses usbser.sys.
I found that if I connect the device directly to my Dell laptop everything
works find. If I connect the device through a high speed USB 2.0 hub
everything is very flaky. I see hangs when opening the com port, Windows
lockups, and other wierd falures.
I found a workaround. If I disabled the enhanced USB controller in
device manager to force the hub to use full speed everything is rock solid.
So this makes me think the problem is either a bug in Windows or a bug with
the Intel chipset in my Dell Inspiron laptop.
1. Is this a known bug in usbser.sys or Windows?
2. What do I need to do to report the problem?
My operating system is Vista SP1. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105484
Asyc Call Of MiniportProcessSGList
If HAL asynchronously completes the request to to create a scatter/gather
list through calls to NdisMAllocateNetBufferSGList (i.e., completes the
request outside of the context of the NDIS call), can I assume that it
serialize the completion of pending requests?
For example, if I have two requests, can I assume that request #1 will
always be completed before request #2?
Thanks! Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105483
Deserialized miniport question
Hi,
I am leveraging a deserialized miniport driver that hooks into the NDIS
library. The driver is written in WDM format, not in WDF, and the OS is
Windows XP
The miniport driver hooks into the Windows TCP/IP stack and uses my hardware
driver to send and receive data across the physical medium. The hardware is
a PCIe Non-transparent bridge.
I have successfully connected on a HARDWARE level, and am able to transfer
data back and forth between the processors' exposed memory.
Consider:
Processor A = Windows XP = miniport Driver.
Processor B = other side of the NTB PCIe chip.
Processor A boots first, and establishes the connections as far as it can.
When Processor B boots, it sends a GRATUITOUS ARP to Processor A through my
hardware and miniport driver.
1) From what I can tell, the ARP comes across from B to A, and I can see it
in Wireshark when I monitor my adapter. HOWEVER, the ARP information does
not get logged into the ARP table, even when I â??preloadâ?? the table with the
IP and a bogus Physical Address. I was expecting the Physical Address to get
updated with the GRATUITOUS ARP, but it doesnâ??t.
2) Data from the GRATUITOUS ARP is passed up to the Windows stack via a call
to NDISMIndicateReceivePacket() in my minport driver, and I can see my
MiniportReturnPacket() function get called to release the packet.
3) Next, when I try to â??pingâ?? Processor B from Processor A, I can see the
ping request come across into Processor B, and then see B respond back to A.
I see the data come through into the miniport driver, but it all hangs when
NdisMIndicateReceivePacket() is called. There is no Blue screen of Death,
but it might as well, because it all hangs. It BEHAVES as if the system is
locked on a spin lock, but I donâ??t think that is it. I can comment in and
out the NdisMIndicateReceivePacket( ) to change behavior.
The OOB data packet status is set to:
NDIS_SET_PACKET_STATUS(RecvPacket, NDIS_STATUS_SUCCESS);
Prior to calling NdisMIndicateReceivePacket().
I am looking for ideas on what to look into as possible suspects. Does
anyone have any thoughts?
Thanks,
Jan Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105480
Ramdisk with Vista SP1
Hi,
I installed the wdk 6.0 6001.18001 on Windows Vista SP1,
then I compiled the exmaple of the ramdisk.
After I installed the driver, i noticed that the disk are not accessible
via the explorer nor the cmd.
But if I launch the cmd via the administrator rights, i can access the
ramdisk drive.
How I can do to get it worked around normal user?
Thanx,
Pierluigi Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105479
Ramdisk example and Vista
Hi,
I installed the wdk 6.0 6001.18001 on Windows Vista SP1,
then I compiled the exmaple of the ramdisk.
After I installed the driver, i noticed that the disk are not accessible
via the explorer nor the cmd.
But if I launch the cmd via the administrator rights, i can access the
ramdisk drive.
How I can do to get it worked around normal user?
Thanx,
Pierluigi Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105478
USB 2.0 Streaming MPEG - Best way to queue request?
We have a USB 2.0 device that outputs small multiples of MPEG2 TS
packets(188 bytes), and therefore need to queue
up multiple BULK requests to the USB bus driver(USBD) in order to keep the
MPEG2 video flowing without
dropping packets. Since in BULK mode our requests are not aligned on 512
byte boundaries, submitting a
large buffer to the USBD does not help, since in BULK mode a transaction of
less than 512 bytes ends the session.
So the question is: What is the best way to queue up multiple BULK
requests with small buffers in the driver?
Are System Work Items a way to go, queue up multiple initially, then requeue
in the callback?
The DDK docs indicate that the System thread pool is a shared resource and
should be used sparingly...
Any suggestions would be appreciated.
Thanks
-decoder Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105477
DIFxApp download help
I am trying to download DIFxAPP so that I can integrate a driver
installation with my application installer. I keep finding myself going in
circles trying to find it and would appreciate a URL. I went to the
Installer home page and still was able to find the latest version.
Thanks,
Sid. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105471
DPInst.exe encounters PnP Manager busy
With Windows XP SP2, following is my installation experience using
DPInsta.exe v2.1.0.0:
1. With deceive attached during installation, the DPInst.log reports,
"PnP Manager busy, waiting until it processed the pending install
events". And the driver won't be installed if the 'Found New Hardware
Wizard' is not dismissed manually. How to fix the issue to allow auto
installation without user intervention?
2. After preinstall the device driver, the XP machine still pops up
the 'Found New hardware Wizard' for the device which requires user to
search for the driver that has been pre-installed in the system. How
to avoid the pops up after preinstall? Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105470
custom page size and dmPaperLength/dmPaperWidth
If in Microsoft Word's "Page Setup" dialog I select custom page size
and enter 1.5 inch width by 1 inch high, how does this information get
passed to the printer driver?
I expected that the DEVMODE passed to DrvEnablePDEV would
contain the correct dmPaperLength and dmPaperWidth, but these
values seem to be the default form size for the printer.
I set a breakpoint at DrvEnablePDEV and inspected every DEVMODE
passed to the driver. All of them contained the default page size as set
in the "Printing Preferences" property pages. Several of the calls showed
the DEVMODE dmFields did have DM_PAPERLENGTH and
DM_PAPERWIDTH set, but the values for those fields were still the
default for the printer.
I know these values are available because another vendor's printer
driver works correctly in this case.
What am I missing?
Neal Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105452
WPP & KMDF Crash
I have been attempting to use WPP tracing in my Bus Driver and when I create
a session in TraceView with either the symbols or CTL file I will get a bug
check on occasion. I have several function driver which use WPP just fine.
Any pointers on where to start looking?
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced. This cannot be protected by try-except,
it must be protected by a Probe. Typically the address is just plain bad or
it
is pointing at freed memory.
Arguments:
Arg1: 86193940, memory referenced.
Arg2: 00000000, value 0 = read operation, 1 = write operation.
Arg3: 819da52f, If non-zero, the instruction address which referenced the
bad memory
address.
Arg4: 00000000, (reserved)
Debugging Details:
------------------
READ_ADDRESS: GetPointerFromAddress: unable to read from 819726d8
Unable to read MiSystemVaType memory at 819532e0
86193940
FAULTING_IP:
nt!WmipForwardWmiIrp+75
819da52f ff10 call dword ptr [eax]
MM_INTERNAL_CODE: 0
CUSTOMER_CRASH_COUNT: 2
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0x50
PROCESS_NAME: System
CURRENT_IRQL: 0
TRAP_FRAME: 85728b94 -- (.trap 0xffffffff85728b94)
ErrCode = 00000000
eax=86193940 ebx=84c6b008 ecx=00000004 edx=00000000 esi=84371178 edi=85728c90
eip=819da52f esp=85728c08 ebp=85728c40 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010246
nt!WmipForwardWmiIrp+0x75:
819da52f ff10 call dword ptr [eax]
ds:0023:86193940=????????
Resetting default scope
LAST_CONTROL_TRANSFER: from 818a0ae4 to 818b6b4e
STACK_TEXT:
85728b7c 818a0ae4 00000000 86193940 00000000 nt!MmAccessFault+0x158
85728b7c 819da52f 00000000 86193940 00000000 nt!KiTrap0E+0xdc
85728c40 819da169 00000000 00000004 86193940 nt!WmipForwardWmiIrp+0x75
85728c6c 819da1be 00000004 86193940 85728ce8 nt!WmipSendWmiIrp+0x56
85728c9c 819ad46a 00000004 86f56c74 00000040 nt!WmipDeliverWnodeToDS+0x22
85728d18 819ad24b 99abf480 86f82754 8193e8fc
nt!WmipProcessLegacyEtwCallback+0x89
85728d44 818a16be 86f82754 00000000 82a8e828 nt!WmipLegacyEtwWorker+0x5e
85728d7c 819ee6ad 86f82754 5ac88d9a 00000000 nt!ExpWorkerThread+0xfd
85728dc0 818d5686 818a15c1 00000001 00000000 nt!PspSystemThreadStartup+0x9d
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
STACK_COMMAND: kb
FOLLOWUP_IP:
nt!WmipForwardWmiIrp+75
819da52f ff10 call dword ptr [eax]
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!WmipForwardWmiIrp+75
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 47918b0a
FAILURE_BUCKET_ID: 0x50_nt!WmipForwardWmiIrp+75
BUCKET_ID: 0x50_nt!WmipForwardWmiIrp+75
Followup: MachineOwner Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105444
BthPort - How do I get the connection?
I notice that there are a series of Bluetooth functions that talk to and
return a handle to BthPort. I need something like "\\?\BthPort" that I can
call from another driver. Unfortunately MS made all the control calls only
callable from another device driver (IRP_MJ_INTERNAL_DEVICE_CONTROL) and not
from the App layer so I need to write a relay driver to call SCO. I see that
BthPen, BthModem, BthEnum, and BthUSB have calls.
What is the exported device name for BthPort?
Thanks,
-Erik Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105442
malloc,free,mbtow problem
hi
i m working on file hooking
i had applied two basic hooks i.e NTCreateFile and NtOpenFile
i am almost finish but with very simple error and i am unable to resolve:
i am allocating dynamic memory to char pointer i.e.
char *cPtrDst ;
cPtrDst = (char*)malloc(size);
and deallocating it by free:
free(cPtrDst);
and i am converting this array into wchar_t variable
using :
wchar_t dir[10];//suppose its an array
result = mbtowc(dir,cPtrDst,size);
when i compile the driver it gives error:
error LNK2019: unresolved external symbol __imp__free referenced in function
_freePolicyData@0
unresolved external symbol __imp__malloc referenced in function
_policyWriteNeither@8
i had included stdlib.h
but in vain.........
any idea about error? Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105435
Filtering the I/O requests sent by non-system applications in a file
HI,
I'm a newbie in the world of drivers. I'm developing a file system
filter driver that needs to process all I/O requests sent in by user
mode applications eg; MS Word, Excel etc; I don't want to do any sort
of processing on IRPs generated on behalf of the Windows OS itself
( I'm not sure I'm using the correct words here :) ).
To put it simple, I want to distinguish between IRPs generated on
behalf of the OS processes and those generated on behalf of user mode
applications.
Could anybode tell me the easiest mechanism to achieve this?
Thanks in advance,
Shaji. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105429
windows file system internals -o reilly ebook???????
I need to know whether any link is there to download windows NT file system
internals book.osr publications.Is there any e book for this is available???
If so can anybody send a link to it.
Thanks in advance Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105424
STORAGE-0012: Separated Cache Solution WHQL test
I have a question about the Separated Cache Solution WHQL test.
=46rom the language contained within, it seems the STORAGE-0012 test
suite is defined to be more or less a stand-alone set of requirements
that is self-contained from the perspective of not having a dependency
on any other STORAGE-XXXX tests except STORAGE-0005 (except if a
separate flash disk device is exposed in which case the device must be
logo=92d separately as well).
Barring the separately-exposed device case mentioned immediately
above, it appears in particular that a STORAGE-0012 =93storage adapter=94
does not imply/include a requirement to meet all STORAGE-002 (Storage
host controllers and adapters) requirements
For one thing, it seems that if that was the intention, it would have
been explicitly mentioned as that is the convention throughout the
Windows Hardware Logo Program Requirements document.
if anybody could give us an opinion on the relationship or non-
relationship of STORAGE-0002 to STORAGE-0012, it would be most greatly
appreciated. Thanks. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105420
returning DCR_HALFTONE from DrvDitherColor
What does it mean to return DCR_HALFTONE from my printer drivers
DrvDitherColor function?
The DDK states that the return value should be "DCR_HALFTONE if the
engine should create a halftone approximation for the driver."
I return DCR_HALFTONE but this seems to have zero effect on the use
of gray or colored brushes used by applications when drawing into my
printer DC. In most cases, anything that is not white is printed as black.
For example, black text on a gray background prints as a black block.
Also, the following is from the comments section of the DDK documentation
for DrvDither Color. What the heck does this mean?
"Monochrome device drivers, including most raster printers, should use the
iMode parameter to tell GDI how to get good gray-scale patterns."
I don't understand. The "iMode" parameter is passed to my driver. What does
that
statement mean "to tell the GDI" ??? Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105415
FileSystem: Non cached read.
Hi all,
i am writing the file system driver.
There is a problem with non-cached read.
here is the sample code,
whenever the call reaches to keWaitForSingleObject() it hangs (waits)
there infinitely?
can anyone please tell me what could be the problem?
i am using my own buffer ( allocated paged memory ).
is it the case that i have to lock the buffer?
i have tried with locking the buffer also.
this problem occurs only in Windows XP not in Vista.
is there any specific thing we need to take care?
please help me,
thanks
hitesh ughreja
here is the sample code.
KEVENT Event;
PIRP Irp;
IO_STATUS_BLOCK IoStatus;
NTSTATUS Status;
KeInitializeEvent(&Event, SynchronizationEvent, FALSE);
Irp = IoBuildSynchronousFsdRequest(
IRP_MJ_READ,
TargetDeviceObject,
Buffer,
Length,
(PLARGE_INTEGER)(&Offset),
&Event,
&IoStatus
);
if (!Irp)
{
Status = STATUS_INSUFFICIENT_RESOURCES;
}
Status = IoCallDriver(TargetDeviceObject, Irp);
if (Status == STATUS_PENDING)
{
KeWaitForSingleObject(
&Event,
Executive,
KernelMode,
FALSE,
NULL
);
Status = IoStatus.Status;
}
if(!NT_SUCCESS(Status))
{
DbgPrint("Read disk failure\n");
return Status;
} Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105413
PnP device recognition
Hi.
i have a question regarding the PnP mechanism.
my driver (WDF based) controls a pci board. my system can have between one
to ten boards on its backplane.
my question is - is there a way for me to know (to be sure) that PnP have
finished dealing with all of my boards (that are related to my driver) in a
given moment. my user mode side of the system needs to know weather there are
still boards that were not handled by the PnP.
a possible soulution might be using some kind of configuration, meaning that
the user mode will have to know how many boards exist on a given system and
will be able to query the driver of how many boards were found in a given
moment.
but since i try to avoid this kind of solution i would to know if the OS/pnp
mechanism can help me with that.
thanks a ot,
kobi. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105409
USB Composite Device and Selective Suspend on Windows XP
Hi,
Does anyone know if the Common Class Generic Parent driver (usbccgp.sys)
supports USB Selective Suspend on Windows XP? Is there a minimum SP (i.e.
SP3) needed to support this?
TIA
Pete Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105408
Margin for PCL5e and PCLXL drivers is not the same for Windows
Hi,
We are developing Windows Monolithic Printer Driver for PCL5e and
PCLXL languages. The printable area for both the drivers for all paper
types is the same. The PCL5e driver uses GDI scaling and in PCLXL
scaling is done by the driver using commands. The problem is that the
borders are not printed at the same location for both the drivers when
a normal Word document with page borders is printed.
It would be helpful if anyone can give some inputs on this, regarding
its possible cause and solution.
Thanks in advance. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105407
Margin for PCL5e and PCLXL drivers is not matching in Monolithic
Hi,
We are developing Monolithic Windows Printer Driver for PCL5e and
PCLXL languages. The printable area for both PCL5e and PCLXL drivers
is same. The PCL5e driver uses GDI scaling and in PCLXL, scaling is
done by the driver using commands. The problem is that the border is
not printed at the same location for the two drivers when a normal
Word document with borders is printed with the two drivers.
It would be helpful if anyone can give some inputs on this, regarding
its possible cause and solution. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105406
Can not use ShellExecute or ShellExecuteEx in Co-installer Entry
I'm writing a co-installer for my driver and I need launch other
applications in co-installer entry point, in response to
DIF_INSTALLINTERFACES request. But I found it works in XP, but not in
Vista. How should I do? Any help will be appreciated. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105402
How to send data from WinCE to Windows XP ?
Hi
How to send data between Windows and WinCE , is Activesync protocol best way,
where can I find the documents ?
Do you know Windows CE USB Serial Host wceusbsh.sys driver ? Where can I get
its WDM source , can I use it to recieve WinCE device data ? Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105401
How to send data from Windows CE to Windows XP ?
Hi
How to send data between Windows and WinCE , is Activesync protocol best way,
where can I find the documents ?
Do you know Windows CE USB Serial Host wceusbsh.sys driver ? Where can I get
its WDM source , can I use it to recieve WinCE device data ? Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105400
How to find Invalid Nonpaged memory address?
Hi..
I have allocated memory from Nonpaged pool using ExAllocatePoolWithTag.
I am passing the pointer to the allocated memory location into a function
call, and sometime when tried to access the same, gives a
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
The allocated memory is not freed. The access violation happends randomly..
EXCEPTION_RECORD: badd0b3c -- (.exr ffffffffbadd0b3c)
ExceptionAddress: b9ceb90c (mydriver!MyBox::MyBoxType+0x0000000c)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 004d98a4
Attempt to read from address 004d98a4
Is there any way find out whether the address in the Nonpaged is valid or
not..
I tried using MmIsAddressValid, it's mentioned in documentation that it's
not recommended to use it.. also I am not able to compile with WDK 6000 build.
Thanks.. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105398
DTM:Error occurs during receiving the list of machines in Default
Hi,
I have installed Windows DTM Studio.
After trying to receive the list of machines in Default Pool I have received
an error.
Root Cause: INFORMATION : Marking RunJob Task "Create Dimension
Display_DriverModel - Task - Create Dimension Xslt" As Failed as the
LibraryJob "Create Dimension Xslt" has Failed
Resolution: The Library job that was called by this RunJob task has failed.
Hence this RunJob task will also be marked failed.
How can I resolve this issue? Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105397
How to monitor IRP
Hi
Is there any magic tool that we can monitor all or some Windows drivers IRP,
IO control code and data if they do not dump message , can WinDbg do this ?
Thank you . Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105395
Problem with mapping more than one page using ZwMapViewOfSection u
Hello,
I have a problem with sharing memory, which is bigger than one page (4
kBytes), between driver and user space application.
In a driver I have allocated static global variable
char myTable[sizeof(__int64)*2044]; //size of it is 16352 bytes
and initialized it with simple loop:
__int64* initPtr = (__int64*)myTable;
for (__int64 i=0; i<size/sizeof(__int64); i++ )
intPtr[i]=i;
Next Iâ??ve tried to share this table with user mode application. Iâ??ve
achieved this by execution of the following code:
void getSharedMemory(void* pVA)
{
HANDLE physicalMemorySectionHandle;
UNICODE_STRING physicalMemorySectionUnicodeString;
OBJECT_ATTRIBUTES physicalMemoryObjectAttributes;
PVOID physicalMemorySection = NULL;
PHYSICAL_ADDRESS physicalAddressBase;
PHYSICAL_ADDRESS viewBase;
NTSTATUS status;
PVOID mappedVirtualAddress;
HANDLE processHandle = ZwCurrentProcess();
if (NULL == pVA)
return;
/* Mapping memmory to user space */
RtlInitUnicodeString (&physicalMemorySectionUnicodeString,
L"\\Device\\PhysicalMemory");
InitializeObjectAttributes (&physicalMemoryObjectAttributes,
&physicalMemorySectionUnicodeString,
OBJ_CASE_INSENSITIVE,
(HANDLE) NULL,
(PSECURITY_DESCRIPTOR) NULL);
status = ZwOpenSection (&physicalMemorySectionHandle,
SECTION_ALL_ACCESS, &physicalMemoryObjectAttributes);
if (!NT_SUCCESS(status))
{
*((PVOID*)pVA) = NULL;
return;
}
status = ObReferenceObjectByHandle (physicalMemorySectionHandle,
SECTION_MAP_READ,
(POBJECT_TYPE) NULL,
KernelMode,
&physicalMemorySection,
(POBJECT_HANDLE_INFORMATION)
NULL);
if (!NT_SUCCESS(status))
{
*((PVOID*)pVA) = NULL;
ZwClose(physicalMemorySectionHandle);
return;
}
/* convert kernel va to real phisical address */
physicalAddressBase = MmGetPhysicalAddress(myTable);
viewBase = physicalAddressBase;
mappedVirtualAddress = NULL;
ULONG size = sizeof(__int64)*2044; //size of global static table
status = ZwMapViewOfSection (physicalMemorySectionHandle,
processHandle,
&mappedVirtualAddress,
0L,
size,
&viewBase,
&size,
ViewShare,
0,
PAGE_READWRITE | PAGE_NOCACHE);
if (!NT_SUCCESS(status))
{
status = ZwMapViewOfSection (physicalMemorySectionHandle,
processHandle,
&mappedVirtualAddress,
0L,
size,
&viewBase,
&size,
ViewShare,
0,
PAGE_READWRITE |PAGE_WRITECOMBINE);
}
if (!NT_SUCCESS(status))
{
status = ZwMapViewOfSection (physicalMemorySectionHandle,
processHandle,
&mappedVirtualAddress,
0L,
size,
&viewBase,
&size,
ViewShare,
0,
PAGE_READWRITE);
}
if (!NT_SUCCESS(status))
{
*((PVOID*)pVA) = NULL;
ZwClose(physicalMemorySectionHandle);
return;
}
//now size is 20480 â?? rounded up to 4kB boundary
mappedVirtualAddress = (PVOID)((ULONG)mappedVirtualAddress +
(ULONG)physicalAddressBase.LowPart - (ULONG)viewBase.LowPart);
*((PVOID*)pVA) = mappedVirtualAddress;
ZwClose(physicalMemorySectionHandle);
return;
};
It looks everything works OK, but when Iâ??m trying to read whole the table
from user space application the result is as follow:
[Value] [Mapped Virtual Address (hex)]
0 348b58
1 348b60
2 348b68
3 348b70
4 348b78
5 348b80
6 348b88
7 348b90
8 348b98
9 348ba0
10 348ba8
11 348bb0
���.
652 349fb8
653 349fc0
654 349fc8
655 349fd0
656 349fd8
657 349fe0
658 349fe8
659 349ff0
660 349ff8
14757395258967641088 34a000 <- here is next page and
problems begins
14757395258967641292 34a008
1507725027235463051 34a010
5028082440786512726 34a018
17889923897613475068 34a020
23678979336568832 34a028
3640333463937649408 34a030
277895171801089 34a038
â?¦..
The problem appears not always but very often. It always lies on the
boundary of two pages. Usually first or first two pages are visible properly
but third, fourth and next pages are totally wrong. The table is static and
allocated in driver so it is for sure NONPAGED memory.
Is it a problem with Virtual Translation Table at user space side?
Why, in spite of usage ZwMapViewOfSection which maps 20480, third, fourth
and following pages are not visible form user application? Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105392
Removing Hardware from System by UserMode Code and Reinstalling it...
Hi,
i have a PCMCIA WLan Adapter plugged into my Laptop.
I would like to remove it from my system by code and reinsert
it into system, also done by code. The Hardware Device will still
be plugged into the systems pcmcia slot after "software" removal.
How can i do this by user mode code?
I want to remove the device as it would be done by the tray icon
for the devices and i want to reinsert it into the system. The Hardware
will be always in the pcmcia slot,...
TIA
Regards
Kerem
--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied." Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105388
Microsoft Loopback Adapter
Hello,
I have some questions about the Microsoft Loopback Network Adapter.
I hope someone can help answer these.
- How different is it from NTKernel.com's Virtual Network Adapter
VirtNet ?
- Are there any sample code or sources I can build/download for
Microsoft Loopback Network Adapter?
- If not, is it the same as netvmini is WinDDK? The netvmini as if
needs two instances of it to loopback...Are there major changes that
need to be done to get netvmini to loopback with 1 instance - that's
if Microsoft Loopback Network Adapter source are not available?
Thanks Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105383
Getting a reference to an Unnamed Device
Is there a way to get a reference to an unnamed device?
How can you get a pointer / call CreateFile() from user mode on such a
device?
Thanks. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105378
New release of undocumented.ntinternals.net
Pleased to announce there's a new release of http://undocumented.ntinternals.net/
documenting most NTAPI "undocumented" functions and structures. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105377
read from virtual comport
Hi,
I have a program that writes/reads a virtual comport.
Writing is ok.
Reading always returns 0 bytes. (the connected device is sending stuff
continuously)
The read uses standard windows API, CreateFile / ReadFile.
Commtimeouts are set.
I tried every combination of options for the above mentioned functions.
Hyperterminal & teraterm DO receive data from this port.
A Hid-code-sample I have opens the port in the same way I do.
Any idea's ?
Greetings,
Rob. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105376
Unable to Pend IRP on ISO Read (IN) pipe
I need to pend an IRP on the ISO IN pipe with a completion routine, which
will get invoked when the driver below (USB) has some data on the pipe. My
problem is that i have been unable to pend an IRP (Created using
IoAllocateIrp) on the ISO read (IN) pipe. I have tried with the sample
provided in DDK (\WinDDK\6000\src\usb\isousb\sys) as well as the sample
provided by Walter Oney (\Samples\Chap12\usbiso\sys).
I am using the alternate setting number 5 provide by my device on interface
1, wherein the maximum packet size is 0x33 (51) bytes.
Whenever i call to IoCallDriver to send the IRP to the next driver below, i
get a failure with code 0xC000000D(STATUS_INVALID_PARAMETER). If at all the
call returns STATUS_PENDING, the completion routine for the sub IRP's is
getting called.
Any help in this regard will be great.
Thanks in advance. Tag: Prevent loading of SCSIAdapter in Safe Mode Tag: 105368
Hi,
Is there any way to prevent my driver from being loaded in safe mode? In my
INF, I have Class=SCSIAdapter.
Re: Prevent loading of SCSIAdapter in Safe Mode by muriwai
muriwai
Thu May 08 23:08:18 CDT 2008
The answer was, check for the safe mode in DriverEntry.
"muriwai" <muriwai@nospam.nospam> wrote in message
news:uRCuVbbrIHA.1772@TK2MSFTNGP03.phx.gbl...
> Hi,
>
> Is there any way to prevent my driver from being loaded in safe mode? In
> my INF, I have Class=SCSIAdapter.
>
> Thank you,
>
> Andrew
>
>
>
>