question about unmount
Helllo,everyone
I use XP. I am writing a non_PNP disk driver,I hope after I send it IOCTL_MYDISK_MOUNT ,I can access the disk ,after I send it IOCTL_MYDISK_UNMOUNT, anyone cannot access the disk.( act like a removable disk
In this driver,I send IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION to mount manager ,then my disk is mounted and driver-letter "I:" is assigned to my disk.I can access the disk
Promblem is in unmount .when I want to unmount the disk , I send FSCTL_LOCK_VOLUME , FSCTL_DISMOUNT_VOLUME,FSCTL_UNLOCK_VOLUME to "I:" using NtDeviceIoControlFile and status return success.But neither symbolic link "I:" nor "Volume{...}"(volume name of my disk) is deleted.May be I make some mistakes during umonting.Who can give me some addvise
Thank you Tag: testing Tag: 44644
WMI - Calling a Method
Summary: I'm trying to call a method in my driver using WMI from a user app (driver property page), but I keep getting an WBEM_E_FAILED (general error) when the COM function IWbemServices->ExecMethod(). I can see this class, it's properties, and the method itself, using the MS tool WBEMTEST.EXE. WBEMTEST returns the same error. I have two other classes which contian data and an event class; no problems, I can get the data and fire events
I've looked at the WMI sample in the DDK and everything I'm doing looks OK. Can anyone direct me to some additional driver samples? Am I missing anything obvious
Thanks in advance
Dean A. Gereau
Golden Bits Software, Inc
=====================
Details: My class is defined as follows
[Dynamic, Provider("WMIProv"), WMI
Description("JAM Methods.")
guid("{94a8cec5-7490-4f72-8c21-ba44ec8dbc95}")
locale("MS\\0x409")
class JAM_Method
[key] string InstanceName
boolean Active
/* Procedure to reset statistics *
[WmiMethodId(1), Implemented
static, read, write
Description("Reset JAM Statistics")
void ResetJAMStatistics([in, Description("WMI requires a parameter")] uint32 Hack)
}
My user app
HRESULT hResult
CComBSTR bstrMethod("ResetJAMStatistics")
CComBSTR bstrClass("JAM_Methods")
CComPtr<IWbemClassObject> spClass
CComPtr<IWbemClassObject> spInParmsDef
CComPtr<IWbemClassObject> spNewInstance
CComVariant varInput(41)
// call WMI procedure to rest sta
if(m_pIWbemServices == NULL
return
hResult = m_pIWbemServices->GetObject(bstrClass, 0, NULL, &spClass, NULL)
if(!SUCCEEDED(hResult)
return
if(!SUCCEEDED(spClass->GetMethod(bstrMethod, 0, &spInParmsDef, NULL))
return
// spawn an instanc
if(!SUCCEEDED(spInParmsDef->SpawnInstance(0, &spNewInstance))
return
if(!SUCCEEDED(spNewInstance->Put(L"Hack", 0, &varInput, 0))
return
// execute method -- FAILS HERE!
hResult = m_pIWbemServices->ExecMethod(bstrClass, bstrMethod, 0, NULL, spNewInstance, NULL, NULL) Tag: testing Tag: 44643
Applying changes in Dialogues in UniDrv
I have created a new Device Property Sheet (as a result of UniDrv calling DevicePropertySheets) made up of a dialogue box a created in VC++. The dialogue is made up of 3 edit boxes and a button. Now I have a couple of (actually 3) questions: 1.) When I start typing in the edit boxes I would like the 'Apply' button to become enabled- how do I set this? 2.) When the user does click the OK or Apply button, my dialogue procedure gets called with a WM_NOTIFY message indicating 'APPLY'. What is the proper way to save the new values in the registry? and 3.) How do I send a command to the printer from here
Thanks in advance
Tom Tag: testing Tag: 44637
How to find an interface to be used with CreateFile()
(For Win 2K and above)
I want to send IOCTLs to a disk device by getting a handle using
CreateFile(). I've been using SetupDiXXX with GUID_DEVINTERFACE_DISK
to get the string that can be used with CreateFile(). So this is
working well for drives known to the OS.
Now, for drives not known to the OS (e.g. connected to a RAID
controller) I cannot use the above method. There is a private
Passthru API from the controller oem that I need to use. I can get
the handle using "\\.\ScsiX:" but I don't know of a way to know if it
belongs to a specific controller. I can enumerate devices of type
GUID_DEVCLASS_SCSIADAPTER and find the controller I want to talk to,
but I can't get a handle thru CreateFile. Is there a way to
correspond a specific device in GUID_DEVCLASS_SCSIADAPTER to the
proper "\\.\ScsiX:"? Tag: testing Tag: 44634
How to find out if drive belongs to built-in IDE controller
(For Win 2K and above)
I've been using the SetupDiXXX to enumerate disk devices on the
system. I need to differentiate between the drives connected through
the built-in motherboard (e.g. Primary, Secondary, etc.) and drives
connected through a plug-in card (e.g PCI RAID controller).
I've noticed that the DeviceDesc for the ones connected to the
built-in IDE controller is "Primary IDE Channel", or "Secondary IDE
Channel", etc. I doubt this will be true for all IDE controllers for
all OSes.
Does anyone know the proper way to find out if a drive is connected to
the built-in IDE controller? Tag: testing Tag: 44629
Oney's Book, HandleQueryStop(): Why is there no race condition?
Hello,
I erroneously posted this to microsoft.public.win32.programmer.kernel, I
thought I were in this group here, so please excuse if you get multiple
copies of this.
In Walter Oney's book, chapter 6, Walter shows a HandleQueryStop()
function which can be used by the PNP management stuff
(IRP_MN_QUERY_STOP_DEVICE). This can be found on page 323 (2nd edition)
or 241 (1st edition).
I hope I can give the code here:
(1) if (pdx->state != WORKING)
(2) return DefaultPnpHandler(fdo, Irp);
(3) if (!OkayToStop(pdx))
(4) return CompleteRequest(Irq, STATUS_UNSUCCESSFUL, 0);
(5) StallRequests(&pqx->dqReadWrite);
(6) WaitForCurrentIrp(&pdx->dqReadWrite);
(7) pdx->state = PENDINGSTOP;
(8) return DefaultPnpHandler(fdo, Irq);
I ask myself why (5) does not need to be issued before (3), and undone
if (4) is executed? An OkayToStop() function might return an Ok which is
not true anymore when 5 is executed, can't it?
I think about a scenario with two CPUs where one CPU has justed picked
an IRP to execute at the point of time when (3) is executed on the other
CPU. Before (5) can be executed, the 2nd CPU has begun executing the IRP
which results in putting the driver in a state where it cannot be
stopped afterwards (for example, a REWIND operation for a tape), where
another IRP has to be executed to undo this effect.
Am I missing something important here, or this this a bug in the code?
Kind regards,
Spiro.
--
Spiro R. Trikaliotis
http://www.trikaliotis.net/ Tag: testing Tag: 44625
Reset UDMA value for IDE drive
Is there a way to change the DMA settings for a drive the way you can in
DeviceManager? When I remove a drive from my array and replace it the DMA
settings are changing and I want to set them back.
Steve Tag: testing Tag: 44622
HtmlHelp samples and missing definitions
I've been trying everything under the sun to get "what's this" help to work
via HtmlHelp and keep running into dead ends. We've tested the CHM and .txt
file using eHelps TOP program to verify that everything is proper there.
Yet all attempts to extract popup context sensitive "What's This" help
results in a "No Topic Found" display. I am amazed at the total lack of any
sample code documentation in the DDK and the MSDN site which demonstrates a
successfully implementation of any HtmlHelp. If anyone knows of any samples
which provides the successful implementation, I would greatly appreciate
hearing on where I might find them.
Then, to make matters worse, when attempting to check and see what type of
error code HtmlHelp may be setting when it does fail my request, I learn
that there is absolutely no definition anywhere for the HH_LAST_ERROR
structure which one is supposed to use to obtain the error code. I had
expected to find it in the Htmlhelp.h DDK include file with all the other
macro and structure definitions, but was very surprised to learn it does not
exist. Does this mean I now have to locally specify the structure, unlike
all other HtmlHelp structures? Tag: testing Tag: 44619
[OT] Forcing 64-bit PCI Transactions
Does anyone know what governs a 64-bit PCI transaction being executed vs. a
32-bit one? We have some anecdotal information about an Itanium motherboard
that would only start doing 64-bit transactions when the PCI bridge
(Northbridge) FIFO reached a certain point. This despite the processor
doing 64-bit transactions on it's local bus. And yes, the PCI bus was a
64-bit bus. These folks had a custom 64-bit card that was also a bus
master. When their card took control of the bus, the transactions were all
64-bit and the processor handled them accordingly.
Is the PCI transaction size governed by the OS (settings or device driver)?
Hardware setup (presumably via the BIOS)? Or is it governed (and limited)
by the functionality of the PCI bridge hardware.
Any ideas, pointers to references, comments, etc will be greatly
appreciated!
Thanks!!
Don Tag: testing Tag: 44614
Share memory across driver...vxd....98/ME
Dear Sir,
I want to know how to share memory across two drivers and synchronize the
data transcation that happens on this shared memory memory across two
driver.I have to maintain as one common data queue across two driver.I am
using Windows 98/ME OS.
Plz suggest me how to do it.
regds
vinay Tag: testing Tag: 44607
Terminating threads at protocol unload time (NDIS)
Greetings!
I call the following function from my NDIS protocol unload handler:
APIRET Cleanup(VOID)
{
NTSTATUS status;
LARGE_INTEGER liTimeout;
SignalEvent(hTerminateThread);
//
// In NT kernel mode, we must wait for the thread
// itself to terminate. Otherwise we will unload
// while the thread is still active. => KABOOM!
//
PAGED_CODE();
ASSERT(hThread != 0);
liTimeout.QuadPart = -10000000LL; // Wait one second
status = KeWaitForSingleObject(hThread,
Executive,
KernelMode,
FALSE,
&liTimeout);
// Close handle, we'll not be using it anymore.
ZwClose(hThread);
hThread = 0;
DestroyHashTable(hHashTable);
return APIRET_OK;
}
This results in an IRQL_NOT_LESS_OR_EQUAL exception with the following
params:
Arg1: 80000548, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000000, value 0 = read operation, 1 = write operation
Arg4: 804ea528, address which referenced memory
READ_ADDRESS: 80000548
CURRENT_IRQL: 2
FAULTING_IP:
nt!KeWaitForSingleObject+b9
804ea528 803b02 cmp byte ptr [ebx],0x2
Which I find a bit puzzling. The "Memory referenced" argument is the
same as the value of hThread. hThread was created at the init of the
driver by PsCreateThread.
As you can see, both the PAGED_CODE() macro and the ASSERT for checking
the thread handle is passed successfully.
This is on a plain Windows XP Professional GA with no fixes btw... Just
to have a clean test environment.
Is there any other preferred way to do this, or any obvious mistakes
that I've done with regards to KeWaitForSingleObject? I have tried not
waiting too, but that traps when the sleeping thread wakes up after the
driver image has been unloaded... :/
Take Care!
Harald Eilertsen! Tag: testing Tag: 44604
Mount Points
I wont to get the mount points associated with a Physical Disk Drive
Is there any IOCTL or API which will return me the corresponding mount points given a signature or Physical disk number. Tag: testing Tag: 44602
GSM Modem
Hi
we developing a driver for a USB GSM modem on Windows XP and 2000. The Pnp inf file initialise the unimodem driver. To have different configurations we use the following entries in the INF file
HKR, Protocol\GSM\GPRS, 1,, "AT<cr>
HKR, Protocol\GSM\ANALOG_RLP,1,, "AT+CBST=7,,1<cr>" ; or ATB1
HKR, Protocol\GSM\ANALOG_RLP_14DOT4K,1,, "AT+CBST=14,,1<cr>" ; or ATB1
HKR, Protocol\GSM\V110_4DOT8K,1,, "AT+CBST=70,,1<cr>" ; or ATB2
HKR, Protocol\GSM\V110_9DOT6K,1,, "AT+CBST=71,,1<cr>" ; or ATB2
HKR, Protocol\GSM\V110_14DOT4K,1,, "AT+CBST=75,,1<cr>" ; or ATB3
The installation works fine. I see the selection "GPRS","ANALOG_RLP", ... on two places
1.) ControlPanel->Phone and Modem Options ->Modems->Properties->Advanced->Change Default Preferences->DataProtoco
and on
Dialup Connection->Properties->General->Configure->Modem Protoco
If both setting does not point to the same protocol the default setting is used. I think this is a bad solution for the user. It could prepare two or more dial up solution to connect to several providers or servers. Maybe each provider server needs a different protocol. So the user must change the default settings under the control panel to activate a different connection
Do I anything wrong? Can I get a hint to improve my driver? Or can anybody confirm this behaviour of Windows
Thank you
Guenter Hildebrandt Tag: testing Tag: 44601
Request not coming to TDI filter
Hi,
I am developing TDI filter driver for VPN client.In
my driver I handle both TCP and UDP request
which is coming from the user mode application.
Now my problem is with Network file shared/ Mapped
files/Drive,while accessing this the filesystem will send
this request to network redirector. So windows uses "NetBt"
if this is the case, then all the request of
this "NetBt" should come to tdi filter driver.But I didn't
get any request in the filter driver while accessing the
network shared files/drive.
Regards,
Jothi Tag: testing Tag: 44600
AVStream : How to export IAMStreamConfig interface for a encoder filter?
Dear All
I tried to develop a application program for my MPEG-2 encoder filter. This program is based on a sample program of DirectX SDK but it needed a filter to expose the IAMVideoCompression and IAMStreamConfig interfaces. I implemented PROPERTY_SET for PROPSETID_VIDCAP_VIDEOCOMPRESSION (IAMVideoCompression interface) in a AUTOMATION_TABLE structure. But I don't know which PROPSETID_XXXX should I use for IAMStreamConfig interface
Any suggestions are very appreciated
Thanks
Edwar Tag: testing Tag: 44599
[ANN]: Packet Sniffer SDK version 2.1 is released
Greetings,
We are pleased to announce version 2.1 of Packet Sniffer SDK, the Gigabit
compatible packet capture library set for Windows networks.
What's new in version 2.1:
[+] FastBPF technology (BPF Just-In-Time compilation) is implemented in the
HNUserFilter object of Packet Sniffer SDK.
Now, when you set user-defined BPF filtering program by HNUserFilter object,
HNUserFilter compiles BPF in a 32-bit optimized CPU code, which works on the
level of the PSSDK built-in packet capture driver.
Further traffic filtering is processed by this precompiled BPF program.
With FastBPF technology Packet Sniffer SDK works approximately 6 times
faster than with classic filtering by BPF virtual machine.
[+] Windows 95/98/ME support added.
Product page:
http://www.microolap.com/net/components/pssdk/index.htm
On-line help:
http://www.microolap.com/net/components/pssdk/help/index.htm
Examples:
http://www.microolap.com/net/components/pssdk/examples.htm
--
Best regards,
Edward Smirnov
microOLAP Technologies LLC
http://www.microolap.com Tag: testing Tag: 44598
Req for System Software in Intel Bangalore
Hi,
If your are interested forward your resume to gangatharan@vsnl.net
Please refer the Requsition Number in you mail.
with regards
Gangatharan
Requisition Number : 284370
Job Title :
Sr Software Engineer
Job Description:
Software Engineer in the Media Software Group. The Media Software Group is
responsible for the media control firmware and host portions of NBDs
telephony DM3 products. These include playing, recording, conferencing,
speech recognition, signal detection etc. Responsibilities include
designing, implementing and testing feature requests, resolving issues and
documenting the existing architecture. Programming is mostly in C but there
is some C++. The embedded work is code that executes on top of a NBD
written embedded kernel which sits on top of VXWorks. The host layer runs
on the PC and provides the functionality to the user and sits on top of an
NBD written driver and must execute in both Linux and Windows operating
system environments. A qualified individual will be able to work
independently through the software development process (i.e. from
understanding requirements all the way through testing and resolving
issues).
MINIMUM QUALIFICATIONS:
Computer Science degree or equivalent
at least 3+ years experience in the software industry
C and C++ Programming
Knowledge of windows and/or Linux
DESIRABLE QUALIFICATIONS:
Embedded Programming Experience
Knowledge of NBD products.
Computer Telephony experience
Requisition Number : 284367
Job Title :
Sr Software Engineer
Job Description:
Responsible for managing the development configurations for the NBD
products. You will inculcate the sound Configuration management practices
amongst the functional developers. Will work with developers to manage the
content for various software releases. You will be responsible for getting
the builds from developers to integrators to the test teams. Will work with
Program management to define the SCM plans for each software components. You
will also be responsible for change management based on the Program
management directives. Will define and refine the NBD configuration
management process. Will work with Functional Managers for day-to-day build
activities.
Qualifications:
BS in Engineering or equivalent. 1-5 years experience with Commutations
industry is required. Experience with configuration management tools such as
Continous, Clearcase is a must. Knowledge and compliance of sound
configuration practices is required. Position demands very good people
skills and ability to work under schedule pressure. Should be energetic and
result-oriented. Should have working knowledge about Windows and Unix/Linux
Requisition Number : 284366
Job Title :
Sr Software Engineer
Job Description:
Responsible for design and development of Linux Device drivers and
associated libraries for various Computer Telephony products. Develop test
suites and maintain Computer Telephony software. Review and analysis of
device driver requirements, functional capabilities, documentation and
product usability. Interact with supervisors, peers and cross-functional
team members to present or exchange information as a representative of a
functional area. Works closely with development engineers in analysis and
debug hardware and software problems. Self-motivated individual, requiring
minimal supervision and strong customer orientation. He/She understands and
employs professional concepts and procedures.
Qualifications:
Requires BSCS, BSEE or equivalent experience,5+ years experience in
OS/kernel internals with Linux/Unix device drivers development and C/C++
software development. Must have at least 3 years experience in
telecommunication industry. Excellent verbal and written communication
skills and project management skills. Requires a high-level of personal
initiative and customer focus. Knowledge of Real Time OS development,
Windows driver development would be a plus.
Requisition Number : 284365,
284364
Job Title :
Sr Software Engineer
Job Description:
As a member of VoIP Software Development Team, the candidate will be
responsible for the design and development of C/C++ based call control
software that runs on Windows and Linux platforms or real-time packet
processing firmware which runs on either custom hardware boards in a VxWorks
environment or as Windows / Linux kernel-mode driver code. The candidate
must possess good software analysis, design, implementation and testing
skills as well as good problem solving/debugging skills. Strong written and
verbal communication skills are also a must as the position requires the
ability to be able to read and understand Standards documents, analyze
requirements, and interact with a variety of other cross-functional teams
and customers. Some relevant knowledge in the VoIP area such as H.323, SIP,
RTP/RTCP, RFC28833 or Voice Quality algorithms is highly desirable.
Qualifications:
A BS/MS degree in Computer Science and 3-4 years of relevant work
experience is also desired.
Other desirable knowledge is any experience with Video, any experience with
the Radvision VoIP stacks, any call control experience, any packet
processing experience, deep Linux knowledge (esp. in the area of
communications or real-time Linux applications), Intel IXP-series processor
experience (esp. micro-engine programming), Windows driver-level development
and debug knowledge or VxWorks BSPs.
Requisition Number : 284362 ,
284361
Job Title :
Sr Software Engineer
Job Description:
The Sr. Software Engineer for OA&M will analyze requirements, perform
research, create architectural designs and document and implement them in
software. The design and implementation of this software will conform to
best known practices and follow departmental guidelines, using accepted,
approved coding standards and tools. The Software Engineer will also review
the work of their peers and test, debug and maintain code across the entire
OA&M software stack. Additionally, the Sr. Software Engineer will perform
software integration tasks and collaborate cross-functionally with other
engineering professionals in the context of Product Development Teams
(PDTs), following Product Lifecycle practices.
The Sr. Software Engineer will regularly report status on development tasks
and manage their commitments to deliverables. As necessary, support will be
provided to resolve critical customer issues related to their components and
deliverables.
Qualifications:
BS in CS,CE,EE or equiv. A min of 4 yrs of related work experience is
required.
Strong analytic, diagnostic, troubleshooting and problem solving skills.
Working knowledge of PC HW and SW technology, including familiarity with PC
hardware architecture and internals of at least one OS.Demonstrated
application design & programming proficiency in C/C++,Client/Server and
large scale system design experience desirable
Excellent verbal and written communication skills.Self-motivated
Able to function as both a team member and provide technical leadership to
the team..
Ability to work directly with the Systems Engrs, Test Engrs and Development
Product Mgrs
Demonstrated ability in applying analytic skills to provide effective SW
solutions.
Requisition Number : 284360
Job Title :
Sr Software Engineer
Job Description:
Software Engineer in the Media Software Group. The Media Software Group is
responsible for the media control firmware and host portions of NBDs
telephony DM3 products. These include playing, recording, conferencing,
speech recognition, signal detection etc. Responsibilities include
designing, implementing and testing feature requests, resolving issues and
documenting the existing architecture. Programming is mostly in C but there
is some C++. The embedded work is code that executes on top of a NBD
written embedded ¿kernel¿ which sits on top of VXWorks. The host layer runs
on the PC and provides the functionality to the user and sits on top of an
NBD written driver and must execute in both Linux and Windows operating
system environments. A qualified individual will be able to work
independently through the software development process (i.e. from
understanding requirements all the way through testing and resolving
issues).
MINIMUM QUALIFICATIONS:
Computer Science degree or equivalent at least 3+ years experience in the
software industry.
C and C++ Programming, Knowledge of windows and/or Linux
DESIRABLE QUALIFICATIONS:
Embedded Programming Experience, knowledge of NBD products. Computer
Telephony experience.
Requisition Number : 284355 ,
284354
Job Title :
Engineering Manager
Job Description:
Be responsible for executing and delivering the project under committed
efforts, schedules, cost and quality constraints.
Create overall project plan in consultation with technical leads for
assigned projects and create detailed schedules and short-term plans by
direct reports.
Monitor and track the progress of the project and ensure adherence to
requirements and stated schedules.
Negotiate with marketing and customers on solutions that works for customers
and work for the organization
Ensure project execution is in compliance with all processes and procedures
as approved in the plan
Manage people in the project. This includes all aspects of the HR Process
incl.career development planning, goal setting, results measuring, and
ongoing feedback.
Manage day to day on job performance of direct reports and provide
regular/timely feedback.
Lead the design, implementation and testing of product, if required.
Participate and drive continuous improvement activities for the assigned
products (including both tech and process initiatives)
Qualifications:
BS/MS in Comp Sci, Elec Engg, Comp Engg or related field.
At least 8 years experience in communication domain with 2-3 years
experience managing projects and people.
Demonstrated ability in project and people management.
Demonstrated technical leadership and excellent interpersonal skills.
Demonstrated excellent analytical, verbal, and written communication skills.
Strong background in the specific technology area: 1) PSTN, VOIP signaling
protocols 2) Network management & OAM, Product integration testing 3)
Drivers, Firmware, Win/Linux OS internals
Knowledge of SW configuration and SW tools.
Strong process orientation (e.g., to produce quality SW and documents, to
follow SW development process).
Ability to work with minimum direction. Tag: testing Tag: 44597
About Client server model in Drivers
Hi there,
I am new to Driver development.This is my first message to this group
Actually I want my driver to be installed over a network (Similar to
how we install Printer drivers that are installed on some machine as
network printer on our machine).
Is it possible with drivers (other than printer drivers) or is it just
the case with printer drivers.
If there is no way to install a driver over network then -
Is there a way to implement a client server model using Device
Drivers?
Thanx.
Have a nice day! Tag: testing Tag: 44595
=?Utf-8?Q?Is_any_potential_dangerous_when_?=
I will map a memory between a driver and a user-mode application in my driver
The pseudo code
Step 1: MmAllocateContiguousMemor
Step 2: IoAllocateMd
Step 3: MmProbeAndLockPage
Is any potential dangerous when map memory is in non â??paged pool
Thank Tag: testing Tag: 44590
How do you do copyless NDIS driver SendPackets routine for bus-master DMA
Can packets passed to an NDIS scatter-gather driver's SendPackets( ) routine be DMAed by a bus master NIC, or do you *have* to copy to memory allocated by NdisMAllocateSharedMemory ()
On a receive, it looks like you can send a packet up to the protocol without copying. I am looking for how this can be done in the transmit direction
If you can do this, how do you get the physical buffer address for the adapter to use, and make the memory suitable for DMA? Tag: testing Tag: 44589
"hello world"
is there such a thing as an "hello world" example in ddd ?
I know drivers differ so please let me know.
in case of services which is a totally different thing you can make up a
little 'hello world' and work off of that. Tag: testing Tag: 44582
Work with driver by User without admin rights
Hi !
I want to allow user ( without admin rights ) access to device object of
the NDIS miniport driver ( use PCI card ).
I changed permissions of the driver to full for users and that work. I
read that the same possible to do by INF :
1)
http://www.microsoft.com/whdc/driver/security/drvsecure.mspx?pf=true#secmod2
show the example line:
HKR,,Security,,"D:P(A;;GA;;;SY)"
So I wrote next in the INF
[mydevice.Security]
HKR,,Security,,"D:P(A;;GA;;;WD)"
In the registry I see Key "security " with a string - "D:P(A ( 6
characters )
Before I tried AU instead of WD with the same effect
2)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/setupapi/se
tup/specifying_a_security_descriptor_from_an_inf_file.asp
show line :
"D:P(A;CI;GA;;;BA)(A;CI;GA;;;SY)"
I wrote next
[mydevice.Security]
"D:P(A;;GA;;;WD)"
Cannot correctly install driver at all
Any comments ?
TIA
Arkady Tag: testing Tag: 44579
must reboot after a driver is installed ?
simple question from a newbie in ddd.
does a driver by definition require a reboot ?
are there some exceptions based on what the driver has to do ??? Tag: testing Tag: 44568
Printing with HP vs lexmark
Hi
I have a vb program which makes calls to getprinter, setprinter etc to get the default printer to print in Landscape mode intead of the default portrait without prompting the user. The program works fine with almost any HP printer but not with lexmark printers. Could somebody give me a hint ? I can send the source if necessary Tag: testing Tag: 44567
USB device and timeout
Hi all,
I develop a USB device.
I would like to know, what to do, if I send a IRP for IN transfer (OUT
transfer) from my USB driver to lower level driver and my USB device doesn't
send (receive) any data (only "NAKs" are on the USB bus).
Therefore should be useful to set a timeout.
Is it possible to set the timeout in my USB driver or firmware in the USB
device sould resolve this problem?
If I use something like this:
...
ntStatus = IoCallDriver(pdx->StackDeviceObject, irp);
if (ntStatus == STATUS_PENDING)
{
status = KeWaitForSingleObject(
&event,
Executive,
KernelMode,
FALSE,
&timeOut);
if( status == STATUS_TIMEOUT ) {
IoCancelIrp( irp );
KeWaitForSingleObject(&event, Executive, KernelMode, FALSE, NULL);
}
}
on win98 if I set the timeout about 100ms has been result
BytesTransfered = urb->UrbBulkOrInterruptTransfer.TransferBufferLength;
0x400 but through USB bus has bees transmitted 0x440 bytes.
I don't know why this situation occured.
Does anybody help me please?
Thanks a lot
Slavo Tomascik
msonetime@zoznam.sk Tag: testing Tag: 44566
Device Manager and devcon do not remove driver service entries for PNP drivers on uninstall
It seems that the Device manager and devcon.exe do not actually remove the service associated with
a driver when uninstalling a device from the system. Additionally, it does not look like the SetupDi...
api supports this functionality. Both tools are properly removing device instances in my case, but
the service entries are left behind in the registry, and the driver binary files are left on the system.
This happens on both XP and W2K3. Looking through the docs there doesn't seem to be a PNP way
to remove them. DeleteService() and manual delete of the binaries seems to be the only way to get
everything off the system. There is an api to remove OEM .inf and .pnf files, but not a driver service
or binaries.
Is this on purpose, or was this an accidental omission from the PNP install support?
Is this going to be a problem in WHQL validation of a driver package?
Is there something I'm missing?
Tom Sanfippo Tag: testing Tag: 44560
[DDK] How can we implement "Device Installation" in Win98 (without SetupDixxxx)?
MSDN: Device Installation Function
This section describes the Setup functions that support device installation on Windows 2000 and later versions of the NT-based operating system
... Most of these functions are not supported on Windows 9x/Me
I want to install a small driver that only have a single sys file like DDK PortIO sample. Tag: testing Tag: 44559
[DDK] Does Monitor need Service at Device Installation!?
Does Monitor need a "Root-Enumerated driver"
Because when I ran sample Win2K installer as
c:\install "775FT.inf" "Monitor\GSM42D1
I got the following error
UpdateDriverForPlugAndPlayDevices FAILURE: (0xe0000219
We know:#define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219
(Monitor has not a services! Is it OK?
How can I solve this problem!
Notice: DDK2K install sample has a problem, So first see:
http://www.codeproject.com/script/comments/forums.asp?msg=801613&forumid=1647&mode=all&userid=67503#xx801613xx[^
Thanks you. Tag: testing Tag: 44558
Does DDK "install sample" work? [src:%ddkroot%\src\setup\install]
Hi, I installed DDK 2K and last SDK and VS6 in Win2K
I biuld 'install' sample
For test I used this command line
install.exe "775FT.INF" "Monitor\GSM42D1
If the monitor prevoiusly installed by system as "Plug and Play Monitor", upgrade is successful to Flatron775FT! (I grabed HID from inf file
But when I first uninstall the monitor from Device Manager and retry to install monitor (or sample PortIO) I get the folowing error
"Error: SetDeviceRegistryProperty FAILURE: The data is invalid.
Can anyone giud me Tag: testing Tag: 44557
HPGL compliance
Hi, i'm a newbie driver developer and i was wondering, does the msplot driver need to be used with an HPGL compliant plotter? If yes, how can i make a self made plotter hpgl compliant? How do i integrate specialized functions on the msplot sample, that i need on my plotter? If not, is there another generic plotter driver that i could easily modify that could suit my needs? Can Paul Yao's Universal printer driver be used? Tag: testing Tag: 44541
Problem about VCOMM port driver on win98
Hello
My port driver can be loaded by VCOMM after I open the com port from
Hyperterminal .
But when I close the port,the SYS_DYNAMIC_DEVICE_EXIT message not send
to me .so the port driver can not be unloaded .
The port driver only for one port .
Anyone help me ?
Thanks . Tag: testing Tag: 44539
Statistics for Card Games
I am taking a Personal Quest to TRY to enhance the zone.com, Gaming Site! I think Tina of Microsoft is eventually. They informed me that my Request, is going to be Tested and Developed, LIKELY Story!! ALWAYS going to write the code for my Enhancement, But, Tina of Microsoft, Told me Around Christmas, '2003!! Just be VERY Patient, because they have MANY Different things to Work on! So, I have done My Share of Creating the Zone.com web-site, Cheater-FREE!!!!!!! I know U Can create this Work Request, because I KNOW I could. Microsoft, PLEASE, Step-up-to the plate and eliminate Cheaters!!!!! YOU Should Utilize my Request(s), and Compile them into a Grand Feature-filled zone! I Have Done all the thiking, you just need to send a programmer to me. WE Will ONLY perform NOTHING but thee BEST For the Best! Should be your Motto! Tag: testing Tag: 44535
Ndis names
How can a ndis miniport driver find out the friendly name that you can see
under "My Network Places" for one of it's instances? Tag: testing Tag: 44533
ZwMapViewOfSection() problem
Hi all, I'm trying the following code... but it returns that the 3rd parameter is invalid (STATUS_INVALID_PARAMETER_3). What am i doing wrong
UNICODE_STRING strMapName
SIZE_T nViewSize
NTSTATUS status
PVOID pBaseAddress
RtlInitUnicodeString(&strMapName, L"\\BaseNamedObjects\\MyDeviceName")
InitializeObjectAttributes(&MappedFileObjectAttributes, &strMapName, OBJ_CASE_INSENSITIVE, NULL, NULL)
status = ZwOpenSection(&hMappedSection, SECTION_ALL_ACCESS, &MappedFileObjectAttributes)
(... check status value ...
ZwMapViewOfSection(hMappedSection
(HANDLE)-1
&pBaseAddress
0L
PAGE_SIZE
NULL
&nViewSize
ViewShare
0
PAGE_READWRITE)
What am I doing wrong here? Thanks for any advice. Tag: testing Tag: 44531
Writing WDM Drivers
I want to learn WDM by writing a driver for a real device (not as a System Device Driver). Could anyone sugges
a hardware device (for which there is good enough information available)
Thank
SK Tag: testing Tag: 44530
software raid0/striping on C: ?
My topic here is to discuss why microsoft does not implement the ability to
utilize at OS-Setup two disks as raid0/striping.
Yes I know, raid0 is not safe, or at least is just as safe a a 1-disk which
is the most popular solution for 99% of the users in the desktop computing.
So why after all not allowing this ???
I think users should be allowed doing this, assuming the risks on their own.
the fact of the matter is that nowadays everybody may afford a couple of
hard drives and if put on different IDE channels/perhaps controllers they
could 'fly' with raid0.
This limitation indeed exixts within the Redhat/Fedora implementations too
as well as others, but just because of 'lack of care' for those requirements
that many users would appreciate instead if given the chance.
Slackware Linux on the other hand SHOWS that it is possible to in fact have
two separate devices paired as raid0 mounted on / (equivalent to c:)
This raid0/striping on boot/root is way possible, I am a linux guru too,
although I love and prefer Microsoft, and since it's possible because I made
it and used it, I am wondering if this limitation is made perhaps because
the microsoft's disk structure/software could not handle this at all unlike
linux. Tag: testing Tag: 44526
software raid0/striping on C: ?
My topic here is to discuss why microsoft does not implement the ability to
utilize at OS-Setup two disks as raid0/striping.
Yes I know, raid0 is not safe, or at least is just as safe a a 1-disk which
is the most popular solution for 99% of the users in the desktop computing.
So why after all not allowing this ???
I think users should be allowed doing this, assuming the risks on their own.
the fact of the matter is that nowadays everybody may afford a couple of
hard drives and if put on different IDE channels/perhaps controllers they
could 'fly' with raid0.
This limitation indeed exixts within the Redhat/Fedora implementations too
as well as others, but just because of 'lack of care' for those requirements
that many users would appreciate instead if given the chance.
Slackware Linux on the other hand SHOWS that it is possible to in fact have
two separate devices paired as raid0 mounted on / (equivalent to c:)
This raid0/striping on boot/root is way possible, I am a linux guru too,
although I love and prefer Microsoft, and since it's possible because I made
it and used it, I am wondering if this limitation is made perhaps because
the microsoft's disk structure/software could not handle this at all unlike
linux. Tag: testing Tag: 44525
how can i convert wide character to multibytes?
I think
"Making UNICODE_STRING with wide characters in a buffer and convert to ANSICODE_STRIN
then, takes the buffer
is not a good way to do this
Would you help me? Tag: testing Tag: 44518
Legacy driver "cannot find the device specified"
Hi All - First my apologies I am not a driver developer, but I hope some of
the experts on this group can help!
I have an XP machine on which the Microsoft userdump utility fails to
install. The problem appears to relate to userdump.sys, installed as a
legacy kernel mode driver. This will not start, and on boot-up or attempting
to start (via the service userdump.exe which depends on it) SCM logs "The
system cannot find the device specified". sc query udmpdrvr shows it stopped
with WIN32_EXIT_CODE 20, which I think means the same. During an attempt to
start it, Regmon shows an enum\root subkey LEGACY_UDMPDRVR being created by
Services.exe, but it is then promptly deleted again.
Can anyone please suggest ways of troubleshooting this issue, or suggest
what might be going wrong?
Thanks in advance - Mike. Tag: testing Tag: 44515
[XP] disk class filter & FAT32
Hi,
I recently wrote a disk class upper filter driver. It starts at boot time!
The very strange problem is that it is somehow dependent on
the file system of the host system.
case 1:
WinXP is on a NTFS partition -> no problems at all
case 2:
WinXP is on a FAT32 partition -> I get 0x0000007b meaning
INACCESSIBLE_BOOT_DEVICE.
Since the filter only acts on disk class devices it shouldn't depend
on the filesystem, right?
Any ideas about that?
regards
M.O. Tag: testing Tag: 44514
Obtaining driver version programatically
Hi all,
is there a way to determine the driver version of the drivers
installed on a windows system.
I mean I can enumerate all the drivers on a system but i need to see
what version they are.
The problem with GetFileVersion is that i need to know which is the
driver(.sys) file on the system and I dont know how to get this info
from the hardware id.
Any ideas on this will be highly apprecialted.
Sunny. Tag: testing Tag: 44500
disk compression?
guys, I want to understand how the transparent disk compression works,
I already know it works as a compression layer between the OS and the
cluster/sector access.
but I am confused,
even if a cluster or chunk or block can be shrunk into less than its
original size, there will be unused parts and the end in such a unit.
the compression would be effective only if those unused units are reutilized
somehow, but how ?
I don't get it.
please help me out Tag: testing Tag: 44494
Dot Matrix Printers and XP
I have an application which prints invoices to an Okidata
ML 590 on XP. After the print job is complete, the
printer doesn't advance the paper to the correct position
of the next page
I've printed a test page from the print server
configuration and found the test page doesn't advance to
the correct position. I've also found that MS Word and
Notepad also do not advance correctly. The printer (when
pressing the FF button) advances the page correctly
The Okidata site doesn't offer a driver for XP and says
the only driver available is in XP
I've also found the above issue is happening when using a
Panasonic impact printer
Any ideas or suggestions
Thanks for any help Tag: testing Tag: 44485
Irp handling scenario
In the book "Programming the Microsoft Windows Driver Model"
there is "Scenario 1 - Pass Down with Complete Routine",
where post processing done in CompletionRoutine
Is it possible to have postp processing done in Dispatch routine and at the sam
have CompletionRoutine return STATUS_SUCCESS
I'm trying to implement the following
1. Irp sent to my driver
2. I set IoCompetionRoutine in Dispatch routin
3. Initialize Event
4. Sent Irp to LowerDrive
5. LowerDriver later start executing IoCompletion routine
6. IoCompletion routine call keSetEvent() , IioMarkPending()
7. IoCompletion routine must return SUCCESS
8. Post processing need to be done in Dispatch routine.
Is it possible to implement it this way ?
thanks,da Tag: testing Tag: 44480
[newbie] invalid pointer value in kernel mode
Hi
some newbie problem. I'm using a linked list in kernel mode and a loop to walk through it. Now, I need a statement that causes a break of the loop - in this case, an invalid pointer value
test = head; //head is -guess what- head of the linked lis
for(;test->Next != ??;test = test->Next
//do somethin
The thing I'm looking for is a replacement for ??. I've tried NULL, but this ends up in an immortal loop (I guess all bits in the pointer test->Next are set to 1). Is there a statement that reflects the 'default' value of a pointer, when it wasn't initialized at all
Thank
Sam Tag: testing Tag: 44473
SetupPreferredAudioDevicesCount
Hello to all,
Can anybody help me?? I'd like to know what is this registry key to??
I'm trying to change the default audio device from Visual C++ applications
and I've found this key in the registry but I don't know how it works.
Thank you. Tag: testing Tag: 44466
Detect
I'm just curious, there is a Detect function for PnP devices under windows
CE, I'm just wondering if there is a similar mechanism for Windows 2000/XP?
Brian Tag: testing Tag: 44463
Driver Memory
I want to install a driver which needs the physical segment 0xD000 -
0xDFFFF. When installing the driver, the Add Hardware Wizard tells me, that
this memory is not available. On the other hand, with WINMSD / Ressources /
Memory, I see that 0xD0000 - 0xDFFFF is free. How can I find out which
driver or component reserves this memory?
Thanks,
Klaus Tag: testing Tag: 44457