GDI_DRIVER Driver compilation with VS7.1 IDE
Hi,
Introduction:
**********
I am writing a display mirror driver, I am trying to use the VS7.1 (.NET)
IDE to compile the driver, conversion to an .vsproj solution is done by the
'Source to DSP converter' app provided with 'SoftIce driver suit'.
The Problem:
**********
The mirror is build of to files: the miniport driver and the display driver,
no problems has occurred converting compiling and using the miniport driver,
in contrast, conversion of the display driver failed: the 'Source to DSP
converter' doesn't support GDI_DRIVER conversions, SO..., I tried to do some
tricks: I have changed the TARGETTYPE of the GDI_DRIVER to DRIVER and then
used the 'Source to DSP converter' with the new source file, the result was
a new .vsproj compiling a .sys driver I have changed the name of the driver
to be .dll and removed the 'DriverEntry' DLL entry point from the project
configuration, still, using the new driver causes an 'Unhandled kernel mode
exception', using the display driver compiled by the 'source' makefile works
fine and doesn't reproduce this problem, what may cause the problem? what
went wrong during the 'Source to DSP converter' conversion? what special
configurations are required for a GDI driver?
Should there be any specific entry point to a GDI_DRIVER?
Thanks in advance,
Nadav, Tag: Penidng IOCTL Tag: 38463
PNP Manager
I have developed a failover driver for a fibre channel
medium changer device on Windows 2000 that is tightly
dependent on the PNP Manager. When I pull the cable out
of my hardware, one of my Win/2K systems immediately
rescans the bus without any intervention on my part,
notifies Device Manager of a hardware change, and sends
IRP_MN_SURPISE_REMOVAL to my driver.
I have another Windows system on which the rescan does
not automatically take place. On that system I have to
use device manager to manually "Scan for hardware
changes" before the surprise removal notification will
happen.
In order for this driver to work, the scan needs to
happen automatically. How do I get this to happen? Does
it depend on Windows or on the fibre channel adapter card
and its driver? Tag: Penidng IOCTL Tag: 38462
Hi ,want some tips about the report descriptor of a HID device,thankyou
Hi,now the HID device can be write ,but not read ,and app is
following:
Result = ReadFile (ReadHandle,
InputReport,
Capabilities.InputReportByteLength,
&NumberOfBytesRead,
(LPOVERLAPPED) &HIDOverlapped);
cout<<"ReadFile: "<<GetLastError()<<endl ;
GetLastError's return is always TIMEOUT.I think that it is something
wrong in the firmware,but I cannot find them out ,hope some tips ,the
following is the report descriptor:
PS: Createfile and Writefile are normal.
DSCR_DEVICE equ 1;; Descriptor type: Device
DSCR_CONFIG equ 2;; Descriptor type: Configuration
DSCR_STRING equ 3;; Descriptor type: String
DSCR_INTRFC equ 4;; Descriptor type: Interface
DSCR_ENDPNT equ 5;; Descriptor type: Endpoint
ET_CONTROL equ 0;; Endpoint type: Control
ET_ISO equ 1;; Endpoint type: Isochronous
ET_BULK equ 2;; Endpoint type: Bulk
ET_INT equ 3;; Endpoint type: Interrupt
public DeviceDscr, ConfigDscr, StringDscr, UserDscr, HIDDscr,
ReportDscr, ReportDscrEnd
DSCR SEGMENT CODE
;;-----------------------------------------------------------------------------
;; Global Variables
;;-----------------------------------------------------------------------------
;; Note: This segment must be located in on-part memory.
rseg DSCR;; locatethedescriptortableanywherebelow 8K
DeviceDscr:db deviceDscrEnd-DeviceDscr;; Descriptor length
db DSCR_DEVICE ;; Decriptor type
dw 1001H ;; Specification Version (BCD)
db 00H ;; Device class
db 00H ;; Device sub-class
db 00H ;; Device sub-sub-class
db 40H ;; Maximum packet size
dw 0B404H ;; Vendor ID
dw 0255H ;; Product ID
dw 0100H ;; Product version ID
db 1 ;; Manufacturer string index
db 2 ;; Product string index
db 0 ;; Serial numberstring index
db 1 ;; Number of configurations
deviceDscrEnd:
ConfigDscr:db ConfigDscrEnd-ConfigDscr;; Descriptor length
db DSCR_CONFIG ;; Descriptor type
db StringDscr-ConfigDscr;;Configuration+EndPoints length
(LSB)
db (StringDscr-ConfigDscr)/256;;Configuration +
EndPointslength(MSB)
db 1 ;; Number of interfaces
db 1 ;; Interface number
db 0 ;; Configuration string
db 10000000b;; Attributes (b7 - buspwr, b6 - selfpwr, b5 -
rwu)
db 0FAH ;; Power requirement (div 2 ma)
ConfigDscrEnd:
IntrfcDscr:
db IntrfcDscrEnd-IntrfcDscr;; Descriptor length
db DSCR_INTRFC ;; Descriptor type
db 0 ;; Zero-based index of this interface
db 0 ;; Alternate setting
db 2 ;; Number of end points
db 03H ;; Interface class (HID)
db 00H ;; Interface sub class
db 00H ;; Interface sub sub class
db 05H ;; Interface descriptor string index
IntrfcDscrEnd:
HIDDscr:
db 09h ;; length
db 21h ;; type: HID
dw 1001h ;; release: HID class rev 1.1
db 00h ;; country code (USA)
db 01h;; number of HID class descriptors tofollow
db 22h ;; report descriptor type (HID)
db (ReportDscrEnd-ReportDscr);;lengthofHID descriptor
db 00h
HIDDscrEnd:
Ep1InDscr:
db Ep1InDscrEnd-Ep1InDscr;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 81H ;; Endpoint number, and direction
db ET_INT ;; Endpoint type
db 40H ;; Maximum packet size (LSB)
db 00H ;; Max packet size (MSB)
db 1 ;; Polling interval (ms)
Ep1InDscrEnd:
Ep2OutDscr:
db Ep2OutDscrEnd-Ep2OutDscr;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 02H;; Endpoint number, and direction
db ET_INT ;; Endpoint type
db 40H ;; Maximum packet size (LSB)
db 00H ;; Max packet size (MSB)
db 1 ;; Polling interval (ms)
Ep2OutDscrEnd:
ReportDscr:
db 06h, 0A0h, 0FFh ;; Usage Page (FFA0H = vendor defined)
db 09h, 01h ;; Usage (vendor defined)
db 0A1h, 01h ;; Collection (Application)
;; The input report
db 09h, 01h ;; Usage (vendor defined)
db 15h, 00h ;; Logical minimum (0)
db 25h, 0FFh ;; Logical maximum (255)
db 75h, 08h ;; Report size (8 bits)
db 95h, 40h ;; Report count (64 fields)
db 81h, 02h;; Input (Data, variable, absolute)
;; The output report
db 09h, 02h ;; Usage (vendor defined)
db 75h, 08h ;; Report size (8 bits)
db 95h, 40h ;; Report count (64 fields)
db 91h, 02h;; Output (Data, Variable, Absolute)
;; The feature report
db 09h, 03h;; Usage Page (vendor defined)
db 75h, 08h ;; Report size (8 bits)
db 95h, 05h ;; Report count (5 fields)
db 0B1h, 02h;; Output (Data, variable, absolute)
db 0C0h ;; End Collection
ReportDscrEnd: Tag: Penidng IOCTL Tag: 38457
Hi ,want some tips about the report descriptor of a HID device,thankyou
Hi,now the HID device can be write ,but not read ,and app is
following:
Result = ReadFile (ReadHandle,
InputReport,
Capabilities.InputReportByteLength,
&NumberOfBytesRead,
(LPOVERLAPPED) &HIDOverlapped);
cout<<"ReadFile: "<<GetLastError()<<endl ;
GetLastError's return is always TIMEOUT.I think that it is something
wrong in the firmware,but I cannot find them out ,hope some tips ,the
following is the report descriptor:
PS: Createfile and Writefile are normal.
DSCR_DEVICE equ 1;; Descriptor type: Device
DSCR_CONFIG equ 2;; Descriptor type: Configuration
DSCR_STRING equ 3;; Descriptor type: String
DSCR_INTRFC equ 4;; Descriptor type: Interface
DSCR_ENDPNT equ 5;; Descriptor type: Endpoint
ET_CONTROL equ 0;; Endpoint type: Control
ET_ISO equ 1;; Endpoint type: Isochronous
ET_BULK equ 2;; Endpoint type: Bulk
ET_INT equ 3;; Endpoint type: Interrupt
public DeviceDscr, ConfigDscr, StringDscr, UserDscr, HIDDscr,
ReportDscr, ReportDscrEnd
DSCR SEGMENT CODE
;;-----------------------------------------------------------------------------
;; Global Variables
;;-----------------------------------------------------------------------------
;; Note: This segment must be located in on-part memory.
rseg DSCR;; locatethedescriptortableanywherebelow 8K
DeviceDscr:db deviceDscrEnd-DeviceDscr;; Descriptor length
db DSCR_DEVICE ;; Decriptor type
dw 1001H ;; Specification Version (BCD)
db 00H ;; Device class
db 00H ;; Device sub-class
db 00H ;; Device sub-sub-class
db 40H ;; Maximum packet size
dw 0B404H ;; Vendor ID
dw 0255H ;; Product ID
dw 0100H ;; Product version ID
db 1 ;; Manufacturer string index
db 2 ;; Product string index
db 0 ;; Serial numberstring index
db 1 ;; Number of configurations
deviceDscrEnd:
ConfigDscr:db ConfigDscrEnd-ConfigDscr;; Descriptor length
db DSCR_CONFIG ;; Descriptor type
db StringDscr-ConfigDscr;;Configuration+EndPoints length
(LSB)
db (StringDscr-ConfigDscr)/256;;Configuration +
EndPointslength(MSB)
db 1 ;; Number of interfaces
db 1 ;; Interface number
db 0 ;; Configuration string
db 10000000b;; Attributes (b7 - buspwr, b6 - selfpwr, b5 -
rwu)
db 0FAH ;; Power requirement (div 2 ma)
ConfigDscrEnd:
IntrfcDscr:
db IntrfcDscrEnd-IntrfcDscr;; Descriptor length
db DSCR_INTRFC ;; Descriptor type
db 0 ;; Zero-based index of this interface
db 0 ;; Alternate setting
db 2 ;; Number of end points
db 03H ;; Interface class (HID)
db 00H ;; Interface sub class
db 00H ;; Interface sub sub class
db 05H ;; Interface descriptor string index
IntrfcDscrEnd:
HIDDscr:
db 09h ;; length
db 21h ;; type: HID
dw 1001h ;; release: HID class rev 1.1
db 00h ;; country code (USA)
db 01h;; number of HID class descriptors tofollow
db 22h ;; report descriptor type (HID)
db (ReportDscrEnd-ReportDscr);;lengthofHID descriptor
db 00h
HIDDscrEnd:
Ep1InDscr:
db Ep1InDscrEnd-Ep1InDscr;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 81H ;; Endpoint number, and direction
db ET_INT ;; Endpoint type
db 40H ;; Maximum packet size (LSB)
db 00H ;; Max packet size (MSB)
db 1 ;; Polling interval (ms)
Ep1InDscrEnd:
Ep2OutDscr:
db Ep2OutDscrEnd-Ep2OutDscr;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 02H;; Endpoint number, and direction
db ET_INT ;; Endpoint type
db 40H ;; Maximum packet size (LSB)
db 00H ;; Max packet size (MSB)
db 1 ;; Polling interval (ms)
Ep2OutDscrEnd:
ReportDscr:
db 06h, 0A0h, 0FFh ;; Usage Page (FFA0H = vendor defined)
db 09h, 01h ;; Usage (vendor defined)
db 0A1h, 01h ;; Collection (Application)
;; The input report
db 09h, 01h ;; Usage (vendor defined)
db 15h, 00h ;; Logical minimum (0)
db 25h, 0FFh ;; Logical maximum (255)
db 75h, 08h ;; Report size (8 bits)
db 95h, 40h ;; Report count (64 fields)
db 81h, 02h;; Input (Data, variable, absolute)
;; The output report
db 09h, 02h ;; Usage (vendor defined)
db 75h, 08h ;; Report size (8 bits)
db 95h, 40h ;; Report count (64 fields)
db 91h, 02h;; Output (Data, Variable, Absolute)
;; The feature report
db 09h, 03h;; Usage Page (vendor defined)
db 75h, 08h ;; Report size (8 bits)
db 95h, 05h ;; Report count (5 fields)
db 0B1h, 02h;; Output (Data, variable, absolute)
db 0C0h ;; End Collection
ReportDscrEnd: Tag: Penidng IOCTL Tag: 38456
usb with ohci?..any simple tutorials?..code?
Howdy all,
well I was wondering if anyone had come across some really simple...but
good tutorials on the ohci specification with code...and how to use it with
a usb device...very low level stuff...for example mapping to the registers
in memory ...testing for bits...and with simple code examples that would
explain why......not working through the os though...a kernel driver
possible...like that is done in linux :)
Thanx for any help :)
Ben Tag: Penidng IOCTL Tag: 38453
CMOS sensor - USB Trust 120 Spacec@m Webcam
Hello.
Can someone tell me the name/model of the CMOS sensor in
the above webcam? Or an hint on how to retrieve it?
I don't have datasheets. Trust and Google don't help.
The name is not written on the hardware.
I analyzed the drivers for windows
(40 MB of zipped shit for just a driver..hu..): nothing
The only information is the it has 28 pins: **nothing** more.
Any idea would be much appreciated.
Thanks in advance. Tag: Penidng IOCTL Tag: 38441
HCT 11.2 - TestImports Problem
Can someone help me understand what this error means:
ERROR: 71: Public Imports Test failed to run, TestImports function call
failed.
This is from a run of HCT with an NDIS IM driver. What's odd is the NDISTEST
1c_KernelCalls passes (I assume that TestImports checks for invalid kernel
calls from an NDIS driver).
Also, the driver is not binary compatible (it's only used for XP). Would
that cause this problem. Tag: Penidng IOCTL Tag: 38439
HCT 11.2 - TestDrivers failure
Can someone help me understand what this error means:
ERROR: 71: Signability Test failed to run, TestDrivers function call failed.
This is from a run of HCT with an NDIS IM driver. Also, the driver is not
binary compatible (it's only used for XP). Would that cause this problem. Tag: Penidng IOCTL Tag: 38438
Service Name Issues With CheckInf
I get the following error with checkinf from Windows 2003 DDK:
Line 77: ERROR: (E22.1.1014) Service Net6IM already using binary
$WinDir$\system32\drivers\net6im50.sys.
This is odd since I am using the same service for both W2K and XP
installations. However, I've added a target OS version in the Manufacturer
section and am using separate NDI's for the OSs that the inf is used on.
Is this a WHQL requirement that different services must be used on different
OSs or is this a problem with the chkinf tool? Tag: Penidng IOCTL Tag: 38437
AVSTREAM and Power Management
Hi,
Is there any pointer on how to implement Power management in a Avstream minidriver
I have a video capture device that causes the machine to hang when it tries to resume from Standby. The device is USB2.0 compliant Tag: Penidng IOCTL Tag: 38431
ExtEscape directly to video miniport
Is it possible to do a createdc on a video miniport driver(.sys) and send it
escapes, or do i have to connect to the display driver(.dll) and send it
escapes?
Thanks a million
Brian Tag: Penidng IOCTL Tag: 38429
FYI: Recently Published KBs
FIX: Drivers That Have Images That Are Larger Than 16 Megabytes May Corrupt
Memory When Loaded
http://support.microsoft.com/default.aspx?scid=kb;EN-US;827484
How to call video miniport driver functions from a display driver
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q832517
FIX: A USB Device Appears with a Yellow Exclamation Mark (Code 31) in
Windows Device Manager
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q822368
Accelerated Graphics Port (AGP) memory allocation
http://support.microsoft.com/default.aspx?scid=kb;EN-US;819637
Multimedia device does not shut down correctly if you unplug the device
during streaming
http://support.microsoft.com/default.aspx?scid=kb;EN-US;816650
Composite USB devices whose interfaces are not sequentially numbered do not
work on Windows XP
http://support.microsoft.com/default.aspx?scid=kb;EN-US;814560
Change in how self-directed loopback packets are processed for Windows XP
http://support.microsoft.com/default.aspx?scid=kb;EN-US;813542
FIX: Selective Suspend Does Not Work on Video Capture Devices That Use the
Stream Class Driver
http://support.microsoft.com/default.aspx?scid=kb;EN-US;813348
BUG: The 1394 host controller properties dialog box incorrectly shows the
Power Management tab
http://support.microsoft.com/default.aspx?scid=kb;EN-US;328902
How to identify identical 16-bit PC cards that are inserted in different
slots
http://support.microsoft.com/default.aspx?scid=kb;EN-US;323610
BUG: Known issues with intermediate (IM) driver samples
http://support.microsoft.com/default.aspx?scid=kb;EN-US;323458
You cannot use Control Panel to calibrate a joystick that has no buttons
http://support.microsoft.com/default.aspx?scid=kb;EN-US;318919
How to use the DDKSynth audio sample on Windows 98 and on Windows Millennium
Edition
http://support.microsoft.com/default.aspx?scid=kb;EN-US;318772
PRB: Video Driver Installation Is Unsuccessful When You Click the Update
Driver Button in Device Manager
http://support.microsoft.com/default.aspx?scid=kb;EN-US;314283
Windows 98 Smartcard drivers must call the SmartcardCreateLink function
http://support.microsoft.com/default.aspx?scid=kb;EN-US;300600
Smart card power down behavior on Windows 2000 and earlier operating systems
http://support.microsoft.com/default.aspx?scid=kb;EN-US;297854
--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
http://www.microsoft.com/whdc/hwdev/driver/kb-drv.mspx Tag: Penidng IOCTL Tag: 38423
Audio synchronization
I need to synchronize audio with another output device.
Can I do this with an interrupt driven heartbeat generated
by the output device. The synchronization only needs to
be visually accurate, in other words I'm not concerned
about microseconds, but I would like to be accurate to 100
milliseconds.
My initial thought is to have my interrupt routine begin a
100ms segment of audio. The next interrupt would stop the
previous segment (if the audio is behind) and then play
the next segment. My "interrupt routine" would probably
be a thread at the application level waiting for my device
to interrupt. I don't think I would need to place this in
my device's DPC.
I've been reading up on the Wavform Audio Interface, is
this the correct area? There must be some support for
this built into the interface to facilitate the usage of a
scroll bar to scan through an audio file. My questions
are, am I looking in the right place and a corrollary, how
flexible is the interface? I don't want to waste research
time going down a false path.
Brian Tag: Penidng IOCTL Tag: 38421
Picture transfer protocol
Folks,
I would like to acquire images and change camera settings
under program control, using a Nikon Coolpix camera
connected via USB, and the Nikon SDK (which I have). I
gather this requires PTP and WIA, but am so far entirely
ignorant of these technologies. I'd really appreciate it
if someone would give me a pointer to documentation that
could get me started. (The information I've obtained by
searching msdn seems pretty disorganized so far.)
Thanks much,
Matthew Fleming
mgf@mcw.edu Tag: Penidng IOCTL Tag: 38415
INF files help
Ok, in my device driver install inf, I would either like to luanch an
application or force a reboot or let the user know to reboot. Does anyone
know of a way to accomplish this?
Thanks
Brian Tag: Penidng IOCTL Tag: 38413
ZwCreateFile failing
Hi,
I have a routine which open the file handle for me. It
works fine as long as no one touches the file from
Explorer. But once someone opens the file from explorer
the driver create file always fails with status LOCK
CONFLICT. Here is the file open code.
Any clues.
-Praveen
RtlInitUnicodeString(&fileName, L"\\??\\C:\\MyDrvTest");
InitializeObjectAttributes(&objectAttributes,
(PUNICODE_STRING)&fileName,
OBJ_CASE_INSENSITIVE|OBJ_KERNEL_HANDLE ,
NULL,
NULL);
status=ZwCreateFile(&fileHandle,
GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE,
&objectAttributes,
&IoStatus,
0,
FILE_ATTRIBUTE_SYSTEM,
FILE_SHARE_READ|FILE_SHARE_WRITE,
FILE_OPEN_IF,
FILE_SYNCHRONOUS_IO_NONALERT|FILE_NO_INTERMEDIATE_
BUFFERING,
NULL,
0); Tag: Penidng IOCTL Tag: 38412
Difference between IoBuildPartialMdl and IoAllocateMdl
Which is the difference between the function
IoBuildPartialMdl and IoAllocateMdl?
Apparement they allocate all two MDL;
I do not see any difference in operation,
why in IoBuildPartialMdl there is like parameter " IN
PVOID VirtualAddress "??
Nothing understood, the address is already in sourcemdl-
>startva!
Will be used to you it for dedoubler an address virtual?
apparament not
How can you one read the true pointer MDL corresponding at
address memory indicated?
because when I modify a property of a variable pointer
MDL, the address memory corresponding to this MDL remains
similar Tag: Penidng IOCTL Tag: 38407
Error USBD_STATUS_ISO_NOT_ACCESSED_BY_HW
Hello:
What is the meaning and cause of usb packet error
USBD_STATUS_ISO_NOT_ACCESSED_BY_HW (code 0xC0020000)
returned by urb->UrbIsochronousTransfer.IsoPacket
[PacketNumber].Status? I am getting this error
occasionally (a few percent of all packets) when
streaming bidirectional (1 stream out, 1 stream in,
simultaneously using 2 alternating urbs for outgoing and
2 for incoming) high speed usb 2.0 isochronous data to a
custom hardware device. I am using 16 microframe urbs
and the error always occurs on microframes 1, 2, and
sometimes 3 of the 16 that are being transferred. All
microframes before and after this complete normally. It
affects both read and write urbs. OS is WinXp SP1 with
USB patch. Usb.h states that "for some reason the
controller did not access the TD asocated with this
packet" as explanation for this error.
Thanks Doug Tag: Penidng IOCTL Tag: 38405
I refuse to believe this....
When installing a printer driver, Add-Printer etc etc, it prompts me for a
printer name just before finishing the installation.
I have two printer models, but would like to use the same printer name..
without having to manually enter it.
Is there really no way that I in my INF file can provide a default printer
name ?
TIA
Lars
;
; Copyright (c) 2002-2003 I/F-Com
;
; Sets up basic information on the driver
;
[Version]
Signature="$Windows NT$"
Provider=%MANUFACTURER%
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
CatalogFile=ifcom.cat
DriverVer=10/05/2003,1.3.0.10
; sets up destination folders
;
[DestinationDirs]
DRIVERPATH=66000
PROCESSPATH=66001
BIDIRPATH=66002
; set manufacturer
;
[Manufacturer]
%MANUFACTURER%
; set available printers
;
[I/F-Com]
"Ifcom Thermal Printer" = SETUP_DRIVER, IFCOM_Driver
"Ifcom Thermal Printer (bidir)" = SETUP_DRIVER_BIDIR, IFCOM_Driver_Bidir
; driver setup section
;
[SETUP_DRIVER]
CopyFiles=DRIVERPATH,PROCESSPATH
DataSection=DATA_SECTION
[SETUP_DRIVER_BIDIR]
CopyFiles=DRIVERPATH,PROCESSPATH,BIDIRPATH
DataSection=DATA_SECTION_BIDIR
[SourceDisksNames]
1=%DISKLOCATION%
[SourceDisksFiles]
ifc_drv.dll=1
ifc_ui.dll=1
ifc_lm.dll=1
basics.ini=1
boards.ini=1
help.ini=1
ifc_drv.ini=1
printers.ini=1
installer.exe=1
properties.exe=1
updater.exe=1
diagnostics.exe=1
; actual copying of files
;
[DRIVERPATH]
ifc_drv.dll,,,0x00000002
ifc_ui.dll,,,0x00000002
ifc_drv.ini,,,0x00000002
basics.ini,,,0x00000002
boards.ini
help.ini
printers.ini
installer.exe
properties.exe
updater.exe
diagnostics.exe
[PROCESSPATH]
[BIDIRPATH]
ifc_lm.dll
; driver setup
;
[DATA_SECTION]
DriverFile=ifc_drv.dll
DataFile=ifc_drv.ini
ConfigFile=ifc_ui.dll
HelpFile=help.ini
[DATA_SECTION_BIDIR]
DriverFile=ifc_drv.dll
DataFile=ifc_drv.ini
ConfigFile=ifc_ui.dll
HelpFile=help.ini
LanguageMonitor=%LANGUAGEMONITOR%,ifc_lm.dll
; strings
;
[Strings]
MANUFACTURER="I/F-Com"
DISKLOCATION="Current Location"
LANGUAGEMONITOR="Ifcom Language Monitor" Tag: Penidng IOCTL Tag: 38403
BUG: Known issues with intermediate (IM) driver samples
FYI:
Microsoft Knowledge Base Article - 323458
BUG: Known issues with intermediate (IM) driver samples
http://support.microsoft.com?id=323458
Stephan Tag: Penidng IOCTL Tag: 38399
compilation problem
i am not able to get .sys for ndisuio.
code gets compile without any problem on win2k checkbuild.
----------
C:\WINDDK\2600~1.110\src\network\ndis\ndisuio\sys>build
BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
BUILD: Object root set to: ==> objchk_w2K_x86
BUILD: Compile and Link for i386
BUILD: Loading C:\WINDDK\2600~1.110\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Examining c:\winddk\2600~1.110\src\network\copy of ndis\ndisuio\sys
direc
tory for files to compile.
c:\winddk\2600~1.110\src\network\copy of ndis\ndisuio\sys - 7 source
files (
4,981 lines)
BUILD: Saving C:\WINDDK\2600~1.110\build.dat...
BUILD: Compiling c:\winddk\2600~1.110\src\network\copy of ndis\ndisuio\sys
direc
tory
Compiling - objchk_w2k_x86\i386 for all platforms
Compiling - objchk_w2k_x86\i386 for all platforms
Compiling - objchk_w2k_x86\i386 for all platforms
BUILD: Linking c:\winddk\2600~1.110\src\network\copy of ndis\ndisuio\sys
directo
ry
Compiling - objchk_w2k_x86\i386 for all platforms
Compiling - objchk_w2k_x86\i386 for all platforms
Compiling - objchk_w2k_x86\i386 for all platforms
BUILD: Done
3 files compiled
-------------------------------------------------------------------
build log shows
-----------------
BUILD: Computing Include file dependencies:
BUILD: Examining c:\winddk\2600~1.110\src\network\copy of ndis\ndisuio\sys
directory for files to compile.
Compiling c:\winddk\2600~1.110\src\network\copy of ndis\ndisuio\sys
directory ********************
'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 NOPASS0=1 386=1'
jvc /nologo /cp
C:\WINDDK\2600~1.110\public\sdk\classes\afc.zip;C:\WINDDK\2600~1.110\public\
sdk\classes\classes.zip;C:\WINDDK\2600~1.110\src\network\Copyofndis\ndisuio\
sys; /g /w4 /d objchk_w2K_x86\i386
'jvc' is not recognized as an internal or external command,
operable program or batch file.
jvc /nologo /cp
C:\WINDDK\2600~1.110\public\sdk\classes\afc.zip;C:\WINDDK\2600~1.110\public\
sdk\classes\classes.zip;C:\WINDDK\2600~1.110\src\network\Copyofndis\ndisuio\
sys; /g /w4 /d objchk_w2K_x86\i386
'jvc' is not recognized as an internal or external command,
operable program or batch file.
jvc /nologo /cp
C:\WINDDK\2600~1.110\public\sdk\classes\afc.zip;C:\WINDDK\2600~1.110\public\
sdk\classes\classes.zip;C:\WINDDK\2600~1.110\src\network\Copyofndis\ndisuio\
sys; /g /w4 /d objchk_w2K_x86\i386
'jvc' is not recognized as an internal or external command,
operable program or batch file.
Linking c:\winddk\2600~1.110\src\network\copy of ndis\ndisuio\sys directory
********************
'nmake.exe /c BUILDMSG=Stop. -i LINKONLY=1 NOPASS0=1 NTTEST= UMTEST= 386=1'
jvc /nologo /cp
C:\WINDDK\2600~1.110\public\sdk\classes\afc.zip;C:\WINDDK\2600~1.110\public\
sdk\classes\classes.zip;C:\WINDDK\2600~1.110\src\network\Copyofndis\ndisuio\
sys; /g /w4 /d objchk_w2K_x86\i386
'jvc' is not recognized as an internal or external command,
operable program or batch file.
jvc /nologo /cp
C:\WINDDK\2600~1.110\public\sdk\classes\afc.zip;C:\WINDDK\2600~1.110\public\
sdk\classes\classes.zip;C:\WINDDK\2600~1.110\src\network\Copyofndis\ndisuio\
sys; /g /w4 /d objchk_w2K_x86\i386
'jvc' is not recognized as an internal or external command,
operable program or batch file.
jvc /nologo /cp
C:\WINDDK\2600~1.110\public\sdk\classes\afc.zip;C:\WINDDK\2600~1.110\public\
sdk\classes\classes.zip;C:\WINDDK\2600~1.110\src\network\Copyofndis\ndisuio\
sys; /g /w4 /d objchk_w2K_x86\i386
'jvc' is not recognized as an internal or external command,
operable program or batch file.
--------------------
i have changed some options in SOURCES files, i removed "-DNDIS51=1", as i
was compiling for 5.0. and also in bind i removed 80211 headers.
any idea why it is so. Tag: Penidng IOCTL Tag: 38395
CreateFile failure
Hi all,
i have been trying to get handle of my protocol driver from usermode but not
able to get. attaching the code. van you tell me where can be the error.
Device name is "Proto".
CHAR ProtoDevice[] = "\\\\.\\\\Proto";
CHAR * pProtoDevice = &ProtoDevice[0];
HANDLE
GetHandle(
CHAR *pDeviceName
)
{
DWORD DesiredAccess;
DWORD ShareMode;
LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL;
DWORD CreationDistribution;
DWORD FlagsAndAttributes;
HANDLE TemplateFile;
HANDLE Handle;
DWORD BytesReturned;
DesiredAccess = GENERIC_READ|GENERIC_WRITE;
ShareMode = 0;
CreationDistribution = OPEN_EXISTING;
FlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;
TemplateFile = (HANDLE)INVALID_HANDLE_VALUE;
Handle = CreateFile(
pDeviceName,
DesiredAccess,
ShareMode,
lpSecurityAttributes,
CreationDistribution,
FlagsAndAttributes,
TemplateFile
);
if( Handle == INVALID_HANDLE_VALUE )
{
Handle = CreateFile(
"\\\\.\\Global\\Proto",
DesiredAccess,
ShareMode,
lpSecurityAttributes,
CreationDistribution,
FlagsAndAttributes,
TemplateFile
);
}
return (Handle);
}
any idea how to make it work.
regards,
Puneet Tag: Penidng IOCTL Tag: 38391
Device Object NULL in completion routine
Hi,
In my FSD filter, I am building up my own IRP to send to the
lower driver so that I can get some info (QueryDirectory)
about a directory. The problem is that when my completion
routine is called, it contains proper data, but the device object
I get is NULL (is this normal?). Also my stack location seems to be wrong
since it no longer contains the parameters (minor/major functions say),
that I setup.
Any clues?
TIA,
--
-Farooque Khan
http://farooque.150m.com Tag: Penidng IOCTL Tag: 38390
Class GUID issue
Hi
I write a new driver for 2k/xp,this device is not in system-supplied device
setup class.
so , I create my class name and GUID myself in inf file.
I use ClassInsatll32 section,so,It is ok when install my driver to OS. And
driver can work normal.
But the inf file is tested by HCT11.2's infcheck,It have a error that "class
### is unrecognized".
Please tell me, if i miss some phase.
Best Regards,
Alex Tag: Penidng IOCTL Tag: 38385
contraints for pagespersheet and booklet
Hello
how do u contraint print proc provided features ( N-UP and Booklet )
in Unidrv .
pagespersheet is not a standard feature in Unidrv ( not a *Feature )
is this correct.
thanks
-Naveen Tag: Penidng IOCTL Tag: 38377
API to rollback driver?
Does anyone know of a way to invoke the "Roll Back
Driver" functionality of Windows XP programmatically?
I've searched the MSDN docs and the web to no avail...
Anyhow, I'd like to invoke a rollback during an uninstall
of a "custom" driver, so that we can revert to the
default driver when uninstalling ours.
Thanks in advance,
Lee Tag: Penidng IOCTL Tag: 38376
Maximum StrMini Driver Size??
I am developing a stream class mini driver based on usbcamd. Today I ran
into an extremely odd BSOD that I initially thought was related to some
memory management code that I had added. It turns out that the problem is
that I added code. I have reached the state where the following will take
the driver from functional to non-functional.
int i
for(i=0;i<1;++i){}
I can add this, or equally useless code in a variety of different functions
(none of which are called) and cause this error. The BSOD message is about
a page fault in the non-paged area caused by ks.sys. It occurs when I
attempt to render the capture pin on the filter. The driver can be loaded
and unloaded as many times as one likes without error.
I am wondering if this can be related to SRB_PAGING_OUT_DRIVER? I noticed
that the INF file (intelcam) I copied does set PageOutWhenUnopened registry
setting. Is it possible that enabling this can cause this error or is there
some other possibility?
This is running on XP Pro SP1.
Regards,
Tom Udale Tag: Penidng IOCTL Tag: 38374
Sound Capture
Hi, I have a problem.... actually it is a thing to do on my list, and I
wondering if anyone can give me a hint or two on where to look for tackling
it.
Well, all I need to do is to intercept and capture sound (wav or raw doesn't
matter) that only a certain application generates opposed to whole system
(all apps.).
The app. uses none of the fancy directx stuff, just plain win32 APIs (MCI I
think)
Any thought on how should I begin looking for this solution?
Thanks in Advance,
Paul Tag: Penidng IOCTL Tag: 38373
Win2k printer minidrivers running on NT 4?
Is it possible to run Win2k printer minidrivers
(Unidrv-based) on NT4? I'm told that SP6 installs Unidrv -
is it compatible?
Thanks,
Aaron Tag: Penidng IOCTL Tag: 38371
Device Extension for NDIS miniport driver
I am writing a NDIS miniport driver. From DDK
documentation, I was told to use NdisRegisterDevice
instead of IoCreateDevice to create a device object.
However, the same documentation also says that the device
extension for an object created with NdisMRegisterDevice
is reserved for use by NDIS and cannot be used by the
driver. I want to modify the device extension to store any
state status and information. How can I do that?
Thanks,
Billy. Tag: Penidng IOCTL Tag: 38370
Win2000 startup w/o VGA
Can an embedded Win2000 system be started without VGA,
keyboard and mouse hardware? NT4.0 used to choke when VGA
was absent. Thanks. Tag: Penidng IOCTL Tag: 38369
SetupCopyOEMInf - avoiding prompts during install
I have a new driver install and an old driver install that use different
source media locations. I have been using SPOST_PATH for the
OEMSourceMediaType when I call SetupCopyOEMInf. This is leading to setup
problems because the old INF is selected by SetupAPI during install. This
INF points to an installation directory that does not exist and the user is
prompted for the correct location of required files.
I think the root of this problem is that the PNF has to old source media
information. Should I call SetupCopyOEMInf with SP_COPY_REPLACEONLY copy
style to update the old PNF if it exists and then call it again with the
SP_COPY_NOOVERWRITE copy style to copy it sure the PNF has the current
source path info (if needed)?
I'm installing an IM driver on 2000/XP.
Thanks,
Shawn Tag: Penidng IOCTL Tag: 38364
Hardware ID in win 2000 and UpdateDriverForPNP
My .inf has an entry for that says _01
%xyz.DeviceDesc%=xyz.Device,USB\VID_xxx&PID_yyy
I am trying to install the driver for the device for the case where
the device is plugged in but the Add New hardware wizard was cancelled
by the user.
Now, if I pass the HWID "USB\\VID_xxx&PID_yyy", updateDriverfor..
fails with 20B (no_such_device) I think.
Then if I change it to "USB\\VID_xxx&PID_yyy&Rev_0001" (which I know
from the registry whenever I install this successfully in the nice ol'
plug device after software installation way) AND also change it in
.INF, my updatedriver.. succeeds and device is shown working properly
with the correct name in device manager.
So my question is, what is that Rev.. thing? is it like a hardware
revision? if so, I would not know every possible revision number in
advance and would like to keep it generic for the device? How do I
achieve that? What is the correct entry in .INF and correct HardwareID
to be passed to the function updatedriver..
Thanks for your time. Tag: Penidng IOCTL Tag: 38363
Installing devices
Could you give me any example how to programmatically
install devices. It should work properly at 9x, 2000/XP
platforms.
I've tried "working" samples from ddk's, but they were not
worked properly.
Thank you. Tag: Penidng IOCTL Tag: 38360
Child Display Driver...
Hi,
I want to implement a WDM Child Display Driver and request I2C interface
from display driver which I am going to use to send the DDC/CI data to
Monitor. One option was to have WDM child driver to miniport but I am
exploring this possibility. Is it possible to make a WDM driver a child
driver to main display driver and how do I specify that this is child driver
of display driver so that system and display driver can understand this ?
Any help in this regard will be appreciated..
Vishvesh Tag: Penidng IOCTL Tag: 38358
What's the rule to call IoCompleteRequest for power Irp?
I understand when should call IoCompleteRequest for PnP Irp.
For Power Irp, it seems have different rule.
I am confused, I don't know when I should call IoCompleteRequest
for power Irp, when should not.
For example, bulk usb sample code of XP DDK.
In set device power state process, IoComplete routine of power Irp
calls IoCompleteRequest to complete Irp when power up.
However, IoComplete routine doesn't call IoCompleteRequest when
power down. Why it needn't call IoCompleteRequest?
What's the rule to call IoCompleteRequest for power Irp? Can anyone
tell me?
Best Regards
Jackal Huang Tag: Penidng IOCTL Tag: 38354
Writing Data to BIOS
Hi,
Is there a way for writing data onto BIOS.I want to
write data of size 20 bytes for validation purposes in the
BIOS from an Application.Can we do this with C APIs.Any
help is appreciated.
Shyam. Tag: Penidng IOCTL Tag: 38352
Help on Win2k and USBD_STATUS_DEV_NOT_RESPONDING
Hello Everyone,
I have written a NDIS-WDM (USB) driver. I ran the NDISTest on Windows
XP. There was no problem.
Then I used (ported) the same driver on Win2K (by setting NDIS50 instead
of NDIS51).
Surprisingly, I am getting a strange problem. When I run heavy traffic
tests (like 2c_PerformanceProfile and 2c_SendRecv1), I get a strange
error in the middle of the transfer.
I get STATUS_DEVICE_DATA_ERROR in the IRP Status and
USBD_STATUS_DEV_NOT_RESPONDING in the URB Status. But the device is
connected and running. I tried doing RESET_PORT at the error condition.
But it does not help.
Also, when I remove the cable also, I don't get
STATUS_DEVICE_NOT_CONNECTED in Win2k (like I get on WinXP). Instead I
get STATUS_DEVICE_DATA_ERROR (and USBD_STATUS_DEV_NOT_RESPONDING).
How can I handle the conditions? Even though the device is connected and
working, I get USBD_STATUS_DEV_NOT_RESPONDING and when the device is not
connected also I get the same error. There is no difference in the errors.
Since mine is a NDIS-WDM driver, I don't get SURPRISE REMOVAL event on
Win2K (as I get on XP). So, I cannot detect the surprise removal also. I
have to wait for the MiniPortHalt to be called which does not happen
until I stop the USBD IN/Read transactions. If I ignore the first error
of USBD_STATUS_DEV_NOT_RESPONDING, I get ENDPOINT_HALTED error in the
subsequent IN/read transactions.
I know at least one of you might have faced the same/similar problem.
Can anyone please help me in having a work-around for this problem. If I
am doing something wrong in my driver, please let me know so that I can
correct the same.
Thanks in advance for the great help.
Best Regards,
GNRaj Tag: Penidng IOCTL Tag: 38350
Enumerating NIC's Registry key
Is there a way to get the NIC's registry entry path in
order to open it with the standard ZW registry routines?
I want to open a key under the NIC's key and then enumerate its entries.
Is there a way to do that?
Gram, Tag: Penidng IOCTL Tag: 38349
pull man from burning printer Passers-by, neighbors fight fire in Exeter.
Re: pull man from burning home Passers-by, neighbors fight fire in Exeter.
> !!!!!! wrote
>
>Okay, there was a fire and a couple of guys were heroes. That's nice, but
>it's obviously nothing more than a religious agenda. So why crosspost it to
>misc.emerg-services?
berry
why not thats where it should be Tag: Penidng IOCTL Tag: 38347
Device object creating in 2003
Hello,
I am making some device driver for DVD media. But I have
trouble for DVD multi-drive that can support DVD-R/RW, DVD-
RAM media at same time. So I need change it's device type
depending on media. Also, I want to create DosDevice which
will be a mount point of media.
( This works good in Windows 2000 )
What I am trying to do:
1. Change device type from FILE_DEVICE_DISK to
FILE_DEVICE_CD_ROM or reverse.
2. Create virtual driver letter( ex, z:\ ) which is
symbolic linked to '\Device\xxxx'.
* basically both 1 & 2 are working good in windows 2000,
but not in windows 2003.
Where I am at:
1. When the system boots up, I create Device node with
FILE_DEVICE_DISK. When a DVD-ROM media inserted, delete
that node and create new device node with
FILE_DEVICE_CD_ROM as same device name. ( In case of DVD-
RAM media, use it as it is. ) The deletion and new
creation device node returns success. But when I try to
get File system using NtQueryVolumeFile, the process is
hang. I quess the device type is not changed.
2. When I got some ioctl, I create 2 device nodes. One is
\Device\xxxx with FILE_DEVICE_DISK and the other is
\DosDevice\z:. And I did symbolic link both. Here, I got
success return value for all step. But I cannot look up
\DosDevice\z: even if I can see \Device\xxxx.( with
WinObj.exe ) The data I/O to z: works good. But I can't
see z: drive in window explorer.
* But when I make a windows service application which do
as same step of #2, the service application can create
\DosDevice\z: and z: is visiabl in window explorer.
Both 1&2 device driver is made of LEGACY type not PNP.
Let me know if you need any more details.
Thanks. Tag: Penidng IOCTL Tag: 38346
Triggering DrvNotify calls in multi-monitor environment
I have a multi-monitor environment in Windows XP (both primary and secondary
monitors active) and am trying to determine what I can do in the graphics
driver of the secondary to trigger a DrvNotify call to the primary's
graphics driver. DrvNotify calls are made to both primary and secondary if
the origin of the secondary changes. But all I want to do is trigger the
primary DrvNotify call without doing something drastic like changing
origins.
Thanks,
Armin Tag: Penidng IOCTL Tag: 38343
Problem in Resuming the machine after suspend
I have a USB2.0 video capture device connected to a laptop. If the video capture device is connected through a USB 2.0 hub, then the machine resumes properly from a suspend. But if connected directly (without a hub), then the machine does not resume after suspend and it hangs. How should I go about debugging this issue ?
Thanks.
Hannah Tag: Penidng IOCTL Tag: 38342
Similar Devices in Device manager: UPDATE
I do not know what subject I used earlier and cannot see my post until
3-4 hrs since I am using google.
Just to let people know that I formed the right search string and
found this helpful post:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=%23WQ%24H%23VfDHA.2236%40TK2MSFTNGP12.phx.gbl
and my problem has been solved.
Sorry if anyone spent their time already. Tag: Penidng IOCTL Tag: 38335
Information of PEPROCESS
Or I can find the good format of recording of variable
PEPROCESS?
I have make research on Internet and what I find is
information completely bad.
For example imagefilename is actually in the position
0x173 (PEPROCESS) instead of 0x1fc.
I nothing any more includes/understands there. Tag: Penidng IOCTL Tag: 38330
Two similar devices in Device Manager after preinstall
Hello,
What I am trying to do: Preinstall a driver so that a device that is
already connected (but not gone through/cancelled the found new
hardware wizard screen) works without disconnect and reconnect. (since
I cannot make animations showing "plug it in now" :) )
Where I am at: I know the hardware id of the device and I am using a
code very similar to install.c in the DDK sample for installing the
driver using UpdateDriverForPlugAndPlayDevicesSoThatTheUserDoesNotHaveToGoThroughTheFoundNewhardwareScreen
function. It seems to be working, well, only partially.
I am on w2k, and have to use the SetupDiGetINFClass/
SetupDiCreateDeviceInfoList/ SetupDiCreateDeviceInfo sequence. In the
end, the call to Updatedriver.. succeeds but I can now see *two* USB
devices with same name in the device manager (the name is correct),
one is shown working correctly and the other has a yellow companion.
Enum\USB has information about 1 device and it is what it should be. (
My removal code thinks there are two devices also I do GetClassDev,
EnumDevices and then callClassInstaller with REMOVE, it thinks it has
removed two devices.)
What am I doing wrong? Let me know if you need any more details. I am
new to this and do not know exactly what things are most relevant.
cheerio! Tag: Penidng IOCTL Tag: 38329
No InterlockedAnd available in builds
When using WDM.H in the XP DDK (same problem in the 2003 Server DDK), my
build isn't finding any conditional- compile section that has a definition
for InterlockedAnd in it. Are there special compile options or something I
need to set to get to use this function? As far as I know, I'm doing a
regular x86 build. Tag: Penidng IOCTL Tag: 38323
where can I get Driver Install Frameworks Tools?
Hi, Everyone!
I read a couple of papers on the Microsoft site about the
upcoming new "Driver Install Frameworks Tools" (DIFxApp
and DPInst) that were supposed to have come out in
December 2003 (Version 1). But all I ended up doing is
filling out some survey about participation in Beta 1
program which seemed to have ended already. I want to
try out these Tools and see if they help us develop good
driver installations, but I cannot even find trial
versions of this software. What is the status of these
Tools? When and where can I get a hold of trial/beta
versions of these?
-igor. Tag: Penidng IOCTL Tag: 38318
The IRP Pending IOCTL is taking longer time to return.please help me out.
thanks
sai