C++/VB - Question on IKSPropertySet Interface parameters

Asked By Christian D.
30-Jul-08 03:58 AM
Hi,

I'm a beginner to DirectShow and have some understanding problems with the
IKsPropertySet.

Can someone explain me the difference of the pInstanceData and pPropData in
the IKsPropertySet::Set and IKsPropertySet::Get methodes?
The SDK is 'from a beginners point of view' not very easy to understand.
And the examples in the SDK also do not help here.

From my understanding the pPropData is the data itself send or received
to/from the property set, but what is the instace here? And to what object
does the pointer show? Is it the same as for the pPropData?

Can someone give me some hints or links to further documentaion or some
good code examples that can clearify this.

Thanks for any help
Christian
IKSPropertySet
(1)
IKsControl
(1)
AVStream
(1)
DwPropID
(1)
CbInstanceData
(1)
PInstanceData
(1)
GuidPropSet
(1)
CbPropData
(1)
  Alessandro Angeli replied...
30-Jul-08 06:47 AM
From: "Christian D."


Think of a property as (in pseudo code):

property <value> <name>();


Unless otherwise documented for a specific property <name>,
the  is empty {NULL,0}, as shown in the sample code
for IKsPropertySet::Get().


--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
  Christian D. replied...
30-Jul-08 10:01 AM
From "Alessandro Angeli"

Ahh, now thinks become clearer ;)

Do you know any example or scenario where the  is used?
I would like to get a 'bigger picture' of it.
  Alessandro Angeli replied...
30-Jul-08 10:17 AM
From: "Christian D."


I have never seen any property that uses it.


--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
  Tim Roberts replied...
31-Jul-08 02:53 AM
In fact, if you look at IKsControl::KsProperty, which is the interface I
usually use to talk to my AVStream filters, it doesn't even have the
--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
  Christian D. replied...
31-Jul-08 04:15 AM
From "Tim Roberts":


This is even interesting to know. Thanks for pointing me on that.
Thanks to both of you Allesandro and Tim, to bring some light into the dark
;)

Christian
Create New Account
help
hardware using ioctls to normal WDM Kernel Driver (i.e. it will not be implementing avstream class) Is the above design feasible? What kinds of bottleneck it may result? and would Capture Category WHQL Tests) Regards Santosh K Win32 DirectX Video Discussions Driver (1) WHQL (1) AVStream (1) Filter (1) Vista (1) DShow (1) UserMode (1) DirectShow (1) it is my understanding that AVStream is a requirement for that test. - - http: / / www.chrisnet.net / code.htm [MS MVP for WDM kernel driver (including drivers you wrote, or 3rd-party drivers). Then you can use IKsPropertySet or IKsControl to talk to it from a user-mode app or filter. http: / / msdn.microsoft.com Cris, David for the replies David I know that we can make a kernel mode avstream driver, the framework creates Proxy filter in user mode for apps to access it. But ks and ksproxy, and yet your driver is just as complicated to develop as an avstream driver would be. So it's much more efficient to just develop an avstream driver. One positive side is that avstream does not support decoder-originated type changes (such
this SRB several days without any result. Sincerely, eraser Win32 DirectX Video Discussions DeviceIoControl (1) IKsControl (1) AVStream (1) SRBs (1) APIs (1) IRPs (1) ReceivePacket (1) IoControlCode (1) No, it will not that you can access this functionality from COM. And the same code will work on avstream. G On 1 = D4 = C25 = C8 = D5, = CF = C2 = CE = E76 = CA = B146 = B7 = D6 write? All of these details should be completely hidden from you. Your app can call IKsControl::KsProperty with a higher level interface, and let the KS APIs convert that to the ioctl details. Then, if you've written a proper AVStream driver, your device can have a property handler for each custom property you've implemented be transferred to the minidriver. If you're doing video capture, you should write an AVStream driver. That eliminates the need to worry about SRBs and how ioctls get packed into find that in the src folder there are two folder about stream driver. One is avstream, another is videocap, I have read Testcap sample and it seems suitable for my project. Can you tell me why you think I should write an AVStream driver? Since I have a lot of hardware configuration work to do in my driver
How to send ioctl to kernel mode driver of AVStream class? C++ / VB What are the ways to send custom ioctl by the user mode Application to kernel mode driver based on AVStream Class, which act as a DirectShow filter? Win32 DirectX Video Discussions ICreateDevEnum (1 AVStream (1) DirectKS (1) DirectShow (1) DirechShow (1) Boekelheide (1) Providenza (1) Directx (1) There is it. Plus, even if you did, handling an ioctl forces you to override the standard AVStream dispatching. Why make things harder for yourself? Just use the normal mechanism to instantiate the 22 Aug 2008 01:45:03 -0700 (PDT), Santosh Thanks, I will. Any system with avstream support also has support for this mechanism. The two go together. DirectShow has been installed the same question got posted in two places. Hi March Hare Iam trying to build AVStream based kernel filter driver, I had doubts regarding IOCTL communication process that is mostly carried or you found a solution keywords: How, to, send, ioctl, to, kernel, mode, driver, of, AVStream, class? description: What are the ways to send custom ioctl by the user mode Application to kernel mode driver based on AVStream Class, which act as a DirectShow filter?
I am using a library from a third party. They say that they are using IKsControl::KsProperty to query some custom features on a UVC camera device. At this point I do not have source to said library. Should there be any conditions under which IKsControl::KsProperty would never return. Say in the event of a device unplug? Thanks in advance Jeff Win32 DirectX Video Discussions Vista (1) XP (1) IBaseFilter (1) IKsControl (1) AVStream (1) KsProperty (1) IKsControl::KsProperty is a very thin API; all it does is create an IOCTL_KS_PROPERTY ioctl and send it to the AVStream driver for the device. So, the behavior is entirely dependent on the AVStream driver. It is certainly possible for the driver to hang, but I would call that Inc. Hi Tim, I have replied inline below: . Well, the library vendor has buried the IKsControl::KsProperty behind a chunk of their own code, but the device they are talking to
symbol _IID_IKsPropertySet C++ / VB Hi, In my static library, I am trying to use the IKsPropertySet interface to retrieve the waveDeviceId from DirectSound device GUID. But when I compile the test dsound.lib to my linker paths and also, before inserting the new function that use IKsPropertySet, the project worked well! Where could be the problem? Thanks Daniele. Win32 DirectX Audio Discussions IKsPropertySet (1) DirectSoundPrivate (1) DirectSoundDevice (1) WaveDeviceId (1) DirectSound (1) Windows (1) DSPROPSETID (1) INITGUID (1 external, symbol, _IID_IKsPropertySet description: Hi, In my static library, I am trying to use the IKsPropertySet interface to retrieve the waveDeviceId from DirectSound device GUID. But when I compile