wireless AP enumerate problem on vista
I need to get all APs in Vista. In XP, I can query the OID_802_11_BSSID_LIST
and get all available network list. But in Vista, the query always return
error "a device attached to system is not functioning". I have tried the
OIDScope tool. It also returns the same error code. Do I miss something
here? Or is there another way to scan and get all APs in Vista? I also tried
Native WIFI API. But it can only return one valid AP and all other data
returned are invalid. Tag: any one ever test WMM QOS in vista? Tag: 87031
How to indicate connection status to NDIS 6 on VISTA?
Hi, all,
When I use Auto Config utility to set a wireless connection, the icon
in system tray will be connected after connected successfully. But I
use wireless utility wrote by myself, the icon in system tray will be
disconnected even the driver connected successfully. Not only the Auto
Config utility, but also the my utility, the driver is all the same
without modified. Is there any body who knows how to resolve it?
Thanks~
- Lens - Tag: any one ever test WMM QOS in vista? Tag: 87029
MiniportSendPackets
Hi, I need to send modified packets in NDIS IM driver. First of all I
try to simply send my not modified packet in MiniportSendPackets to
check if this works. Before NdisSend I do the following :
NdisQueryPacketLength(Packet,&TotalPacketLength);
NdisAllocateMemoryWithTag(&pStartVa, TotalPacketLength,
TAG);
NdisAllocateBuffer(&Status,
&pNdisBuffer,pAdapt->SendBufferPoolHandle,
pStartVa, TotalPacketLength );
NdisChainBufferAtFront( MyPacket, pNdisBuffer );
NdisCopyFromPacketToPacketSafe(MyPacket, 0,
TotalPacketLength,
Packet, 0,
&BytesCopied, NormalPagePriority);
and not all packets are being sent (the bigger ones I suppose). What I
do wrong? Should I add some code to ProtocolSendComplete function? I'll
appreciate any help. Tag: any one ever test WMM QOS in vista? Tag: 87017
Vista, DIF_FINISHINSTALL_ACTION and device co-installer
Hi.
I've been working on adapting our current coninstaller to vista. The
major change was that i had to move all interactive user actions to the
DIF_FINISHINSTALL_ACTION instead of the
DIF_NEWDEVICEWIZARD_FINISHINSTALL to allow user interaction.
I've implemented the code as mentioned in
http://www.microsoft.com/whdc/driver/install/Finish_Install.mspx. It
worked well for a while on Vista installations, but for some reason,
any RC build after 5739 fails to call the coinstaller with the
DIF_FINISHINSTALL_ACTION code. I made sure that on the
DIF_NEWDEVICEWIZARD_FINISHINSTALL i set the
DI_FLAGSEX_FINISHINSTALL_ACTION flag correctly, and then call the
SetupDiSetDeviceInstallParams function with the new flags. this worked
a\for a while as i said, but it suddenly stopped.
this is the code in the coinstaller :
case DIF_NEWDEVICEWIZARD_FINISHINSTALL :
D0("DIF_NEWDEVICEWIZARD_FINISHINSTALL");
if(DevInfo == NULL) {
break;
}
if(SetupDiGetDeviceRegistryProperty(DevInfoSet, DevInfo,
SPDRP_DRIVER, &Prop_data_type, prop_buffer, 1024, &size))
{
if((Prop_data_type == REG_SZ) || (Prop_data_type == REG_MULTI_SZ))
D0("SetupDiGetDeviceRegistryProperty: buffer %s", prop_buffer);
else
{
ULONG* pLong = (ULONG*)prop_buffer;
}
}
res = Context->InstallResult;
// Get OS Version.
OSVERSIONINFO m_VerInfo;
m_VerInfo.dwOSVersionInfoSize =sizeof(OSVERSIONINFO);
GetVersionEx(&m_VerInfo);
if(m_VerInfo.dwPlatformId == VER_PLATFORM_WIN32_NT &&
m_VerInfo.dwMajorVersion <= 5)
{
// XP or win2k
OnInstall(Opt, (char*)prop_buffer);
}
else
{
// higher than XP, probably Vista.
SP_DEVINSTALL_PARAMS DeviceInstallParams;
DeviceInstallParams.cbSize = sizeof(DeviceInstallParams);
if (SetupDiGetDeviceInstallParams(DevInfoSet,
DevInfo,
&DeviceInstallParams))
{
DeviceInstallParams.FlagsEx |= DI_FLAGSEX_FINISHINSTALL_ACTION;
SetupDiSetDeviceInstallParams(DevInfoSet,
DevInfo,
&DeviceInstallParams);
}
}
break;
}
I'd appreciate if anyone doing something similar can let me know what
i've done wrong, or if this is a bug in the last few vista builds.
Thanks.
Chen Ganir. Tag: any one ever test WMM QOS in vista? Tag: 87006
DDK WDM sample firefly
"firefly" sample driver and app in the DDK 3790.1830 was built and installed.
But when I run the test app "flicker",
It issues the message like followings,
"Failed to save the instance, TailLit will not be updated."
It comes from IWbemServices::PutInstance method in the app.
the method returns error code of WBEM_E_NOT_SUPPORTED.
What does it mean by this code?
How can I fix this?
Any help would be much appreciated.
--
M.W. Han Tag: any one ever test WMM QOS in vista? Tag: 87002
NIC specification for miniport driver
Hi
I would like to write a NDIS miniport driver for experimental and learning
purpose. Please suggest us NIC whose specifications are availabe easily.
--
With regards
thanks
Anand Choubey Tag: any one ever test WMM QOS in vista? Tag: 86987
How to issue USB reset from Win32 program?
I would like to develop a test program.
The program would test USB reset condition for device.
How can I issue USB reset from Win32 program?
Best Regards
Jack Huang Tag: any one ever test WMM QOS in vista? Tag: 86986
Memory barriers and pended IRPs
I'm concerned with compiler variable caching in general and
out-of-order stores on multiprocessor systems. Recently I started
thinking about this with relation to filling in the initial values for
data that is operated on by interrupt handlers and DPCs. An IRP
contains of set of these initial values. An IRP is created by the I/O
manager (or another driver) then passed to the dispatch routine of a
driver. This probably all happens in one thread context on one CPU.
If the IRP is then pended by doing IoMarkIrpPending and returning
STATUS_PENDING from the dispatch routine, then the IRP will eventually
be completed in another thread context possibly on a different CPU.
If the IRP is completed by a worker thread, then there will have been
an implicit compiler and CPU memory barrier in the event that woke up
the thread to handle the IRP. This case should be okay.
If the IRP is completed by a DPC, then on a uniprocessor machine the
DPC may see the old values of some of the fields in the IRP that the
compiler did not yet update, and on a multiprocessor machine the DPC
may see the old values that the other CPU did not yet update. Doesn't
there need to be a memory barrier to flush any out-of-order stores
immediately before writing the device register that will initiate the
operation that will eventually cause an interrupt and the DPC handler
to run?
I get the impression that sometimes KeAcquireInterruptSpinLock and
KeSynchronizeExecution are used while programming device registers,
and the interrupt spinlock that is held would provide the necessary
barrier, but it was not clear to me this was the purpose of these
routines. Besides, does everyone even use them? Tag: any one ever test WMM QOS in vista? Tag: 86985
DVD RECORD TROUBLE
toshiba latop, matshita uj830s dvd recorder,winxp, before it records dvd/cd
well,but now it only can record cd,can't record dvd, it shows g: not
accessible,incorrect fuction, even enable the recoding in the properties, it
shows the blank dvd 0 bytes. urgently needs help.
Sincerely yours,
ZHANG ZHIWEI
KDC INTERNATIONAL DRILLING
SAUDI OFFICE
MOB. 00966551986176
TEL: 00966-1-2241027
TEL: 00966-1-2241025
E-MAIL: plhj90@hotmail.com Tag: any one ever test WMM QOS in vista? Tag: 86980
SCATTER_GATHER_LIST "physical" or logical?
Are the addresses generated from GetScatterGatherList in a
SCATTER_GATHER_LIST physical or logical? That is, are they already
bus addresses that can be passed to a device?
(The old-style DMA part of the DDK docs referred to bus addresses as
"logical" addresses, then when scatter/gather DMA was introduced I saw
"physical" with no mention of a conversion routine for platforms where
physical != logical) Tag: any one ever test WMM QOS in vista? Tag: 86970
GetScatterGatherList map register limit
I'm trying to understand GetScatterGatherList. The DDK docs and web
searches still left me with a basic question:
Do I pass the full Length of my request to GetScatterGatherList after
which it calls my driver-supplied AdapterListControl as many times as
necessary with a set of physically contiguous ranges limited in total
length by the number of available map registers, or do I call
GetScatterGatherList multiple times and limit the Length I pass by the
number of map registers returned by IoGetDmaAdapter?
I know some routine must get called multiple times, since there are a
limited number of map registers at any one time, but it's not clear to
me which routine. Tag: any one ever test WMM QOS in vista? Tag: 86968
No DIF_REMOVE on DriverPackageUninstall()
On Vista Build 5600 RC1, when I uninstall my Drivers via the DIFxAPI
DriverPackageUninstall, I dont see the DIF_REMOVE callback into my Device's
CoInstaller. Shouln't I be getting the callback? Tag: any one ever test WMM QOS in vista? Tag: 86965
Memory barriers and split DMA context
If a driver must store some context data that will only be used for a
single request but that may be accessed by each of the smaller DMA
operations within the request (current offset from the beginning of
the buffer for instance), doesn't there need to be a memory barrier
immediately before each write to the register which initiates DMA?
(since after the DMA begins it may interrupt on a different CPU to
signal its completion, and the different CPU must see the most recent
offset from the beginning of the buffer in order to use it for the
next segment of the request)
This seemed like an odd case when I thought about it. A value (the
offset) is being accessed by multiple CPUs (each running an interrupt
handler and/or DPC), but it doesn't immediately seem necessary to grab
a lock (which would imply a memory barrier) because the code that
handles each segment of the request on a particular CPU will finish
what it's doing before causing the next segment to run. There's no
issue with concurrency, but there may be an issue with stale data in
the CPU's pipeline.
Right? Tag: any one ever test WMM QOS in vista? Tag: 86961
Slave DMA MapTransfer ordering
This is probably academic, since I'm guessing no one uses system
(slave) DMA anymore, but the DDK description of it says to call
MapTransfer _before_ setting up the device for the DMA operation.
Doesn't MapTransfer have to be called after the device is already set
up, since MapTransfer will actually cause the system DMA controller to
begin accessing the device? Tag: any one ever test WMM QOS in vista? Tag: 86959
WDK Wdf filter driver behaves differently on XP/Vista
Hi,
I am writing a class filter driver to detect the coming and going of
PCI Bridges. I have written a class filter driver on System Class in
order to do this. On Vista RC2 it works great! However, on XP it
crashes (with INACCESSIBLE_BOOT_DEVICE (7b) ) unless I change the
WdfLoadGroup to be before Boot Bus Extender in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder.
The reason it crashes is because it hasn't loaded KMDF when it tries to
load my driver. It doesn't seem to matter what group my driver belongs
to if I make it a class filter driver (on System class on Windows XP);
it always seems to try and load the driver before KMDF is loaded (only
on XP).
The suprise is in Vista. Its ServiceGroupOrder has WdfLoadGroup BEFORE
Boot Bus Extender! It also has a new group called EMS before
WdfLoadGroup. So EMS has assumed position 2, WdfLoadGroup 3, and Boot
Bus Extender has dropped two positions to spot number 4! I think that
is why the class filter driver installs just fine on Vista.
So how do I make it work for both? In another thread it was suggested
to not put WdfLoadGroup before Boot Bus Extender in XP because the OS
assumes Boot Bus Extender is in the second position. I'd rather not
revert to write a WDM filter on this one... Anyone have any
suggestions. Is changing the group that KMDF belongs to on XP out of
the question (i.e. Boot Bus Extender)?
Any help would be much appreciated. Tag: any one ever test WMM QOS in vista? Tag: 86958
Upper filter driver
i had created lower filter driver for USB Hub. and i am able to get
IRPs and URBs easily. Then i made same filter driver as upper filter
driver but when i plug mass storage device then bug check error comes.
Can anybody tell me what problem had i done.. what can be my mistake in
it.. any sample code for upper filter driver for USB Hub.
Thanks in Advance
Chandrakant Tag: any one ever test WMM QOS in vista? Tag: 86955
IRP_MN_QUERY_STOP_DEVICE race in WDM book?
Is there a race in the "devqueue" example that comes with the WDM book
with regard to causing I/O's to be stopped or aborted? It looks like
the testing of the abortstatus/stallcount flags and the setting of the
CurrentIrp pointer is done in the wrong order. Even in service pack
3, couldn't this happen:
- StartPacket sees abortstatus, stallcount, and CurrentIrp are
all clear
- HandleQueryStop calls StallAllRequests to increment stallcount
- HandleQueryStop calls WaitForCurrentIrps which sees that
CurrentIrp is clear and so it doesn't wait
- HandleQueryStop releases the device's resources and passes down
the IRP_MN_QUERY_STOP_DEVICE to allow it to be completed
- StartPacket sets CurrentIrp and initiates I/O after the
device's resources have already been released (bad)
Is this a test-and-set race on the part of StartPacket? To fix it,
shouldn't it be made into a set-then-test (opposite order), where
StartPacket would set CurrentIrp or some other equivalent flag
_before_ testing abortstatus and stallcount?
(HandleQueryStop is already doing a set-then-test, so it should be
okay for its part) Tag: any one ever test WMM QOS in vista? Tag: 86947
Queries About Multiple Device Objects...Please Help...
Hello all,
Specific Question:
I have written a AV Stream Class (WDM)Mindiver and I dont
know how restrict it to habdle only One device object. and if in future
if i want to implement it for multiple device object.. how should i
do.?
General Queries:
1) How should driver handle multiple Device Object, I mean
what is generally done to keep track of Device Object
2) In case of Multiple device Object, how driver Identifies
IRPs for respective Device Objects.
3) How can multiple aaplications can use same driver and
same device for its use.Is it possible?
Please help me to find out answers of above queries, It would be
great help..
Thanks in Advance.
Darshan Tag: any one ever test WMM QOS in vista? Tag: 86943
About sending data to the printer via printer driver / dll driver
Respected Sir,
I would like to know asto how can I send the data
tobe printed to the printer via kernel driver and also that, how can I send
the data via my kernel driver to printer driver, that data to be printer on
printer? please let me know in detailed manner. Tag: any one ever test WMM QOS in vista? Tag: 86942
Why Smart card reader is not listed by the resource manager ?
Hi,
I have written a smart card reader driver using the ddk sample pscr for
WinXP. When the WinAPI 'SCardListReaders' is called, its not listing my
reader. But the installation and the registry entries for my reader
driver is perfect and as described by the DDK help. The resource manager
service has been started also. But one thing i have observed is, the
IRP's related to Power management are not coming to the driver (Is this
because, the member PowerMgmtSupport' in the card capabilities is not at
all initialized ?). IRP_MJ_START_DEVICE and other IRP's are coming and
also, another minor IRP, IRP_MN_QUERY_LEGACY_BUS_INFORMATION is
observed.. is this because i have set the 'Reader Type' member in the
reader capabilities to SCARD_READER_TYPE_VENDOR since its a PCI reader
and there is no specific type defined for PCI.
What should i do so that the resource manager recognizes our card reader ?
Regards
Esha Tag: any one ever test WMM QOS in vista? Tag: 86930
Matching device object buffering flags
An intermediate driver must agree with the next-lower driver's device
object about DO_DIRECT_IO or DO_BUFFERED_IO, but a highest-level
driver (FSD?) is allowed to use whatever buffering method it wants or
neither. Does this mean that if an FSD is using neither I/O, before
it passes an IRP to a driver below it that wants DO_BUFFERED_IO, the
FSD has to do the validity checking, alignment guarantee, and memcopy
before/after to make the lower driver happy?
I was initially confused by the implication that one driver in a stack
could use whatever buffering method it wants and wondered how that
could be reconciled with passing IRPs down the stack to other drivers
that might use a different buffering method. Tag: any one ever test WMM QOS in vista? Tag: 86911
DeviceIoControl FSCTL_ALLOW_EXTENDED_DASD_IO returns false
Hi,
CString str = \\\\.\\CdRom0;
hCD = CreateFile (str, GENERIC_READ| GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
NULL);
status = DeviceIoControl(hCD,
FSCTL_ALLOW_EXTENDED_DASD_IO ,
NULL,
0,
NULL,
0,
&returned,
NULL);
The above DeviceIoControl returns false. Any one knows what , I am doing
wrong.?
I tried this above after ReadFile failed for some sectors of a file in a
single file CDROM. This happened when I tried to copy the file, it gave
device I/O error. Tag: any one ever test WMM QOS in vista? Tag: 86905
DeviceIoControl FSCTL_ALLOW_EXTENDED_DASD_IO returns false
Hi,
CString str = \\\\.\\CdRom0;
hCD = CreateFile (str, GENERIC_READ| GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
NULL);
status = DeviceIoControl(hCD,
FSCTL_ALLOW_EXTENDED_DASD_IO ,
NULL,
0,
NULL,
0,
&returned,
NULL);
The above DeviceIoControl returns false. Any one knows what , I am doing
wrong.?
I tried this above after ReadFile failed for some sectors of a file in a
single file CDROM. This happened when I tried to copy the file, it gave
device I/O error. Tag: any one ever test WMM QOS in vista? Tag: 86904
Two buffering methods for one IOCTL?
While trying to understand how different buffering methods work, I
came across an odd IOCTL, IOCTL_CDROM_RAW_READ. The DDK description
of it seems normal at first. There's Irp->AssociatedIrp.SystemBuffer
for buffered input and Irp->MdlAddress for direct output, and the
IOCTL is defined in the DDK headers to use METHOD_OUT_DIRECT.
That's fine, but the description also says that if the IOCTL is sent
from kernel mode then Type3InputBuffer should be used for input, and
it's not even clear what should be used for output. Type3InputBuffer
is for METHOD_NEITHER, except the IOCTL is already using
METHOD_OUT_DIRECT.
How can an IOCTL like this that mixes two different buffering methods
be sent, and how is the receiver supposed to know which method was
used by the sender? Tag: any one ever test WMM QOS in vista? Tag: 86903
Job opportunities in Silicon Valley
If you develop drivers for graphics or audio or storage, I have
fulltime opportunities at a solid and exciting company in Silicon
Valley. This company is doing new and exciting things that noone else
is doing yet and the opportunity to work with other smart
Engineers/Developers is here!! The work is in Silicon Valley, so we
need you to be there, or willing to move there from another spot in the
USA (will pay relocation for right folks of course). I represent a
great company, and the company is full of very intelligant, capable and
creative folks! We need software developers/engineers with openGL or 3D
experience, and we need people that create device drivers for Audio. We
also need people that create device drivers for Windows storage (sata,
scsi, raid etc). If you are seeking to work on new and exciting
technology at a great company, please contact me, Maryellen O'Connell
at maryell...@volt.com or call me at 888-933-8658.
Thanks! Tag: any one ever test WMM QOS in vista? Tag: 86895
USB Device Change Notification
Hello All,
I am working on WIN 32 Application which gets USB device
arrival/removal notification. I used WM_DEVICECHANGE message in
WndProc() function.
I implemented the DoRegisterDeviceInterface() function when device is
opened using CreateFile():
BOOL DoRegisterDeviceInterface(
HDEVNOTIFY *hDevNotify
)
{
DEV_BROADCAST_HANDLE NotificationFilter;
DWORD Err;
TCHAR msg[MAX_PATH];
ZeroMemory( &NotificationFilter, sizeof(NotificationFilter) );
NotificationFilter.dbch_size =
sizeof(DEV_BROADCAST_HANDLE);
NotificationFilter.dbch_devicetype = DBT_DEVTYP_HANDLE;
NotificationFilter.dbch_handle = hDevice;
// Register handle based notification to receive pnp
// device change notification on the handle.
*hDevNotify = RegisterDeviceNotification( m_hWnd,
&NotificationFilter,
DEVICE_NOTIFY_WINDOW_HANDLE
);
if(!*hDevNotify)
{
Err = GetLastError();
_stprintf(msg, "RegisterDeviceNotification failed: %lx.\n", Err);
MessageBox(0, msg, 0, 0);
return FALSE;
}
return TRUE;
}
WndProc(...)
{
case DEVICECHANGE:
{
if((wParam & 0xC000) == 0x8000)
{
if (pBroadcasthdr->dbch_devicetype ==
DBT_DEVTYP_DEVICEINTERFACE)
{
HandleDeviceInterfaceChange(hWnd, nEventType);
} else if (pBroadcasthdr->dbch_devicetype ==
DBT_DEVTYP_HANDLE) {
HandleDeviceChange(hWnd, nEventType);
}
}
break;
}
}
The wparam is always 0x0007, which notifies of DBT_DEVNODES_CHANGED
event only. i never get DBT_DEVICEARRIVAL or DBT_DEVICEREMOVECOMPLETE
notification.
I get the correct notification of Device Arrival and Removal when a CD
is placed or removed in CDROM drive but not for USB device.
Suggest me if im going wrong in my code.
Thank You,
Regards,
Sushma Tag: any one ever test WMM QOS in vista? Tag: 86885
need traceview or equivalent tool
I have traceview 2.0.15 from WINDDK (3790.1830). But it won't work at
all with message "cannot find pdb file" when I try to add a provider
through "PDB File" option. I learned from this group that the
traceview 1.9 and 1.9.1 actually work. Can someone point me to a site
so that I can download the same/equivalent tool that works? Thanks a
lot. Tag: any one ever test WMM QOS in vista? Tag: 86884
need traceview or equivalent tool
I have traceview 2.0.15 from WINDDK (3790.1830). But it won't work at
all with message "cannot find pdb file" when I try to add a provider
through "PDB File" option. I learned from this group that the
traceview 1.9 and 1.9.1 actually work. Can someone point me to a site
so that I can download the same/equivalent tool that works? Thanks a
lot. Tag: any one ever test WMM QOS in vista? Tag: 86883
Regarding COM in the kernel
Hi,
Is there some kind of light weight framework for COM programming in the
kernel ?
I know some KS samples rely on the CUnknown class defined in <stdunk.h>
(in the /inc/ddk/xxx directory) but after a quick look at the
implementation in "stdunk.cpp" (in /src/wdm/audio/stdunk), I noticed
quite a few oddities (dynamic_cast<>, cascaded casts, ...) I am sure it
works but ... well
I also noticed a CBaseUnknown in <kcom.h> with implementation of
INonDelegatedUnknown and IIndirectedUnknown. What is the purpose of the
later ? Is the class useful for a miniport ?
What is the prefered method ? Tag: any one ever test WMM QOS in vista? Tag: 86879
Geometric wide lines
I have a problem developing printer driver with geometric wide lines support.
After I set GCAPS_GEOMETRICWIDE flag in flGraphicsCaps field of DEVINFO
structure, the GDI starts calling DrvStrokePath function of my driver for
wide lines as expected. But when I enumerate paths from PATHOBJ, I see that
they constitute outlines of wide lines and not original wide line curves
which I need. Can anyone tell me if I can get original wide line curves and
not their GDI realization?
Essentiually, it means that if a graphic printing application uses code such
as this to draw a wide line:
hpen = ExtCreatePen (PS_GEOMETRIC | PS_SOLID | PS_ENDCAP_ROUND |
PS_JOIN_BEVEL, 20, &penBrush, 0, NULL);
SelectObject (hdc, hpen);
MoveToEx(hdc,100,50,NULL);
LineTo(hdc,100,300);
how I can get original line coordinates (100,50), (100,300)? I found that I
can get line width, cap and join from LINEATTRS structure but not the
original coordinates. Tag: any one ever test WMM QOS in vista? Tag: 86877
Geometric wide lines
I have a problem developing printer driver with geometric wide lines support.
After I set GCAPS_GEOMETRICWIDE flag in flGraphicsCaps field of DEVINFO
structure, the GDI starts calling DrvStrokePath function of my driver for
wide lines as expected. But when I enumerate paths from PATHOBJ, I see that
they constitute outlines of wide lines and not original wide line curves
which I need. Can anyone tell me if I can get original wide line curves and
not their GDI realization?
Essentiually, it means that if a graphic printing application uses code such
as this to draw a wide line:
hpen = ExtCreatePen (PS_GEOMETRIC | PS_SOLID | PS_ENDCAP_ROUND |
PS_JOIN_BEVEL, 20, &penBrush, 0, NULL);
SelectObject (hdc, hpen);
MoveToEx(hdc,100,50,NULL);
LineTo(hdc,100,300);
how I can get original line coordinates (100,50), (100,300)? I found that I
can get line width, cap and join from LINEATTRS structure but not the
original coordinates. Tag: any one ever test WMM QOS in vista? Tag: 86876
Geometric wide lines
I have a problem developing printer driver with geometric wide lines support.
After I set GCAPS_GEOMETRICWIDE flag in flGraphicsCaps field of DEVINFO
structure, the GDI starts calling DrvStrokePath function of my driver for
wide lines as expected. But when I enumerate paths from PATHOBJ, I see that
they constitute outlines of wide lines and not original wide line curves
which I need. Can anyone tell me if I can get original wide line curves and
not their GDI realization?
Essentiually, it means that if a graphic printing application uses code such
as this to draw a wide line:
hpen = ExtCreatePen (PS_GEOMETRIC | PS_SOLID | PS_ENDCAP_ROUND |
PS_JOIN_BEVEL, 20, &penBrush, 0, NULL);
SelectObject (hdc, hpen);
MoveToEx(hdc,100,50,NULL);
LineTo(hdc,100,300);
how I can get original line coordinates (100,50), (100,300)? I found that I
can get line width, cap and join from LINEATTRS structure but not the
original coordinates. Tag: any one ever test WMM QOS in vista? Tag: 86875
MaximumTransferSize limit for bulk on EHCI in Vista RC2 (5744)?
I have an USB2.0 device that communicates pieces of data as large bulk
transfers (1-2 MB). On XP I can receive them correctly. As the doc says,
MaximumTransferSize seems practically unlimited.
On Vista RC2 (5744), USBD_CreateConfigurationRequestEx comes back with
MaximumTransferSize set to 0x400000 (no matter what I put there before). This
is too small for my bulk transfer (though the doc doesn't know anything about
such a limit on Vista).
Any way to override this limit?
Any way to split up the transfer without modifying the device's firmware?
I'm not that fluent with the dirty details of USB bulk transfer so I'm not
sure what kind of concepts would apply here?! Tag: any one ever test WMM QOS in vista? Tag: 86872
MaximumTransferSize limit for bulk on EHCI in Vista RC2 (5744)?
I have an USB2.0 device that communicates pieces of data as large bulk
transfers (1-2 MB). On XP I can receive them correctly. As the doc says,
MaximumTransferSize seems practically unlimited.
On Vista RC2 (5744), USBD_CreateConfigurationRequestEx comes back with
MaximumTransferSize set to 0x400000 (no matter what I put there before). This
is too small for my bulk transfer (though the doc doesn't know anything about
such a limit on Vista).
Any way to override this limit?
Any way to split up the transfer without modifying the device's firmware?
I'm not that fluent with the dirty details of USB bulk transfer so I'm not
sure what kind of concepts would apply here?! Tag: any one ever test WMM QOS in vista? Tag: 86871
Iocalldriver never returns
I am having a stringe problem for my Windows 2000 Usb driver. When i am
reading data from the usb device, sometimes the Iocalldriver never sets
the event i am waiting for. Notice that this only happens sometimes,
and only on one specific computer. Windows XP on that computer does not
have this issue.
The code is:
--START CODE--
UsbBuildInterruptOrBulkTransferRequest(
¤t->dUrb,
sizeof(_URB_BULK_OR_INTERRUPT_TRANSFER),
pdx->myPipe,
&buffer->data,
NULL,
pdx->bufferChunkSize,
USBD_TRANSFER_DIRECTION_IN | USBD_SHORT_TRANSFER_OK,
NULL
);
KeInitializeEvent(¤t->dEvent, NotificationEvent, FALSE);
current->dIrp = IoBuildDeviceIoControlRequest(
IOCTL_INTERNAL_USB_SUBMIT_URB,
pdx->LowerDeviceObject,
NULL,
0,
InputBufferLength
NULL,
OutputBuffer
0,
OutputBufferLength
TRUE,
InternalDeviceIoControl
¤t->dEvent,
¤t->dIostatus
);
if (!current->dIrp)
{
KdPrint((DRIVERNAME " - IN Pollingthread: Unable to allocate IRP for
sending URB\n"));
goto endThread;
}
stack = IoGetNextIrpStackLocation(current->dIrp);
stack->Parameters.Others.Argument1 = (PVOID) (PURB) ¤t->dUrb;
status = IoCallDriver(pdx->LowerDeviceObject, current->dIrp);
if (!NT_SUCCESS(status))
{
KdPrint((DRIVERNAME " - IN Pollingthread: IoCallDriver 1 failed with
error code: %8.8X\n",status));
InterlockedExchange(&pdx->error, status);
KeSetEvent(&pdx->errorEvent, 0, FALSE);
goto endThread;
}
if(status != STATUS_PENDING)
{
KdPrint((DRIVERNAME " - IN Pollingthread: IoCallDriver did not return
STATUS_PENDING, instead it returned: %8.8X\n",status));
goto endThread;
}
status = KeWaitForMultipleObjects(
2,
current->dCompleteEvents,
WaitAny,
Executive,
KernelMode,
WaitMode
FALSE,
NULL,
NULL
);
--END CODE--
So, sometimes the KeWaitForMultipleObjects does not get released until
i manually unplugg the device and the error event is set. Can anyone
see anything in the code that might cause this to work sometimes and
sometimes not?
Regards
Wilhelm Tag: any one ever test WMM QOS in vista? Tag: 86866
NDIS5.1 driver in Vista
Hi All,
I am using my NDIS 5.1 miniport driver written for WinXP prof in
Vista Build 5600 (Vista RC1).
The driver is running fine for it supports the backward compatibility,
but I am unable to get the handle for my network device for the driver
I have.
I am trying to get the handle using the IoGetDeviceObjectPointer()
function from another driver, But it always returns
STATUS_NOT_SUPPORTED. What could be the reason for such behaviour?
The same setup ( NDIS miniport driver and the other driver from which i
am trying to get the NDIS handle ) works fine.
Looking forward for your response..... Tag: any one ever test WMM QOS in vista? Tag: 86862
Linker Error VS2005
Hello
I am trying to link my driver. I am getting the below mentioned error
error LNK2001: unresolved external symbol "const type_info::`vftable'"
(??_7type_info@@6B@)
If any body knows how can we resolve this please let me know
regards
rohit Tag: any one ever test WMM QOS in vista? Tag: 86857
prefast
I want to use prefast on my user mode c++ project. Has anyone tried this?
I'm thinking of going to the trouble of building this project in a DDK build
environment just so that I can run prefast on it ... it seems prefast only
works correctly from a DDK build environment!
Has anyone tried to integrate prefast with VS2005 for user mode projects?
If not, can anyone suggest a free tool that is equivalent.
Mirage2k2. Tag: any one ever test WMM QOS in vista? Tag: 86844
IRP_MN_WAIT_WAKE concurrency
The description of IRP_MN_WAIT_WAKE in the DDK says that it shouldn't
be sent while any set-power or query-power IRP is active in the device
stack. How is this usually done? A queue? Are all set-power and
query-power IRPs, along with IRP_MN_WAIT_WAKE, supposed to be queued
to be handled one at a time by a worker thread? (handling the
specific device power IRP associated with the current system IRP
immediately, of course, or there would be deadlock)
I didn't get this impression from other parts of the documentation or
from a glance at the "pcidrv" sample, but a queue is the only way I
can think to do this (since a power IRP handler can't block waiting on
any sort of lock). I thought I saw "pcidrv" doing this bare in a
state-changing PnP handler, but if state-changing PnP IRPs were really
mutually exclusive with power IRPs then the documentation shouldn't
say to hold a remove lock while handling a power IRP (since there
would be no need for a remove lock during a power IRP if a remove
couldn't even happen during a power IRP). Tag: any one ever test WMM QOS in vista? Tag: 86831
Wait/wake technicality
There's a part of the DDK docs that says that "The IoCompletion
routine should perform whatever tasks the driver requires to return
the device to the working state."
(referring to the IoCompletion set for a wait/wake IRP in "Handling a
Wait/Wake IRP in a Function (FDO) or Filter Driver (Filter DO)")
Shouldn't this technically only be the case for the power policy
owner? Don't the other drivers in a stack just pass the wait/wake IRP
back up and only return to the working state when a subsequent
set-power IRP is received from the power policy owner? Tag: any one ever test WMM QOS in vista? Tag: 86830
Information about UMBus
Hello,
I am looking for information regarding the UMBus bus found in Vista.
Couldn't find anything in the Vista WDK or SDK.
Specifically, I am looking for information to match WPD devices to the
correspoding hardware device. I suppose there are a few IOCTL that the bus
driver implements, but they do not seem to be documented.
TIA,
John Tag: any one ever test WMM QOS in vista? Tag: 86820
how to terminate an IRP Create operation correctly?
I'm trying to prevent a certain file to be written anywhere in the
filesystem. As far I understand, one can do that by terminating IRP Create
(SpyCreate) when the file in question has been found with the following
code:
Irp->IoStatus.Information = 0;
Irp->IoStatus.Status = STATUS_SUCCESS;
IoCompleteRequest( Irp, IO_NO_INCREMENT );
return STATUS_SUCCESS;
That code works fine when terminating eg IRP Writes but causes a BSOD when
used in Create.
Any suggestion how to terminate an IRP Create operation correctly?
Your advice would be very much appreciated. Tag: any one ever test WMM QOS in vista? Tag: 86813
DDK mirror driver sample
I built and installed the mirror driver on a Windows XP (SP2) PC. The app
exits immediately. The output seems to indicate it is running normally. I am
not sure what is the expect behavior for this driver and app. Doesn't the app
shows a windows on the second monitor that mirrors the first monitor? The
code seems commented out in the sample. Could anyone point me to the
documentation for mirror driver? Thanks, Tag: any one ever test WMM QOS in vista? Tag: 86810
WinMobile 5 Driver Dev For USB to Serial Adapter
Problem: Need to dev/deploy driver for USB to Serial (DB9) cable for
WinMobile 5 (T-Mobile MDA).What I Have: Managed to get .000 and .001 files
from chipset manuf.About me: Haven't done driver dev in years, am currently
Sen Solutions Developer for British Telecom NYC. I Do: 3-Tier Ent. Solutions,
Distributed Apps, SOA Solutions, ASP.NET/AJAX Web Apps, Hardware config and
planning, data mang/OLAP, cust-access web sites. Just given management over
Mobile Devices, have hard timeframe to complete. Any info on driver dev and
deployment for Win Mobile 5 would be great, especially if I can incorporate
the files given by the manuf. into solution (install pakage or manual
install, whatever will work). Just given Mobile dept. am not familiar enough
to meet timeline expected. Many thanks. Tag: any one ever test WMM QOS in vista? Tag: 86808
Driver Dev for Win Mobile 5
I am having trouble creating the driver installation package for a USB to
Serial adapter cable. The chipset manuf. has provided the .000 and .001 as
unsupported files only. What I need to do is connect our PPC Phone Ed.
devices (T-Mobile MDAs) to our telco switches/routers (VT100 emulator prog.)
for diagnostics and basic config for our techs. Since the drivers for WinMob
5 are .dll, which is the best way to create an install package or manual
indstall? I am a primarily a 3-Tier entrerprise application and SOA developer
and have not had to write a driver for years. Additionall,y I have just been
handed our mobile device dev./mang. and am under a tight schedule. Any info
would be great. - S-Rez BT Americas NYC Sen. Solutions Developer Tag: any one ever test WMM QOS in vista? Tag: 86804
Getting the "bus relations" of a device
I have a webcan that is both appearing in the "USB controllers" and
"Imaging Devices" sections in the Device Manager. How can I find the
relations between the two drivers (in user mode).
I have tried SetupDiGetDeviceRegistryProperty but it seems there is no
unique property that I can use.
One possible way would be to retrieve the "bus relations" of a device
as displayed in the Device Manager->Device XXX->Details->Bus relations.
But how ? Tag: any one ever test WMM QOS in vista? Tag: 86798
WinDbg: extra blank line if timestamps enabled
Moin,
I noticed that if I enable timestamps in WinDbg 6.6.7.5 that there is an
extra blank line printed for every call to DbgPrint(). Is this a bug or a
feature ? If it is a feature how can I disable it ? Any clues ?
Bis gleich ...
Stefan Tag: any one ever test WMM QOS in vista? Tag: 86792
How can I register multiple Coms via a virtual serial port driver?
Hi friends,
I have written a virtual serial port driver using a pair of bulk
endpoint of USB. It can register a virtual COM symbol such as "COM3" in
my computer. The driver function well using WIN32 applications.
Now I have requirement to emulate 3 COMS at the same time in host
computer via this pair of bulk endpoint.
Questtions:
1.First I have to find a feasible way to register 3 COM symbol,
they are symbolic link to FDO, how can I register them at the same
time?
2.Only one PDO(physical device object) is created by lower USB
driver , then I have to register 3 FDOS(functional device object) ,
fatal error occured when I attach them to PDO using
IoAttachDeviceToDeviceStack(), How can I deal with it?
3. Is there any sophisticated virtual driver sample for my
requirement?
Waiting for expert's comments. All your comments are welcome.
Thanks in Advenace,
Conan Tag: any one ever test WMM QOS in vista? Tag: 86790