How can I define IDvdControl2 and IDvdInfo2

Hi  my friends

I have a trouble because I'm trying use the new interface of DVD with IDvdControl2 and  IDvdInfo2, I was reading in MSDN and there say than I must to define in this form

IDvdControl2 *pDvdControl2;
IDvdInfo2 *pDvdInfo2;

but when I declaration these funtions and try to compile my C++ Language no recognize these funtion....

Only my Language can recognize these functions

IDvdControl *pDvdControl;
IDvdInfo *pDvdInfo;


I dont know why




Somebody can help me... tell me how can I do that Tongue TiedTongue TiedTongue TiedTongue Tied

Really is very important for me to know how can I fix trouble.

Thanks help me




Answer this question

How can I define IDvdControl2 and IDvdInfo2

  • B.Lee

     

    Well  I find a section with name
    Writing a DVD Playback Application in DirectShow
    in this section there is  a sample but I want to learn using DirectShow and this article show how put function IDvdControl2 and IDvdInfo2, and too I read than is necesary add a library a header (quartz.dll and dshow.h), with this information I started a programming adding these files at my application.. but I have only  troubles with these functions because are unknow for my application.

    Add some of my program:

    /********************************************************/
    HRESULT hr;
        IGraphBuilder *pGraph = NULL;
        IDvdGraphBuilder *pBuild = NULL;
        IDvdGraphBuilder  *pDvdmain= NULL;
        IDvdControl *pDvdControl = NULL;
        IDvdControl2 * pDvdControl2 =NULL;  /* I have problems with this line*/
       IDvdInfo2 * pDvdInfo2=NULL;  /* I have problems with this line*/
        CoInitialize(NULL);
        
        IVideoWindow *pVideoWindow;
       HWND hwnd;
       hr = CoCreateInstance(CLSID_DvdGraphBuilder, NULL,
        CLSCTX_INPROC_SERVER, IID_IDvdGraphBuilder, (void **)&pBuild);

        AM_DVD_RENDERSTATUS buildStatus;
    hr = pBuild->RenderDvdVideoVolume(L"F:\\video_ts\\", 0, &buildStatus);
    hr =  pBuild->GetFiltergraph(&pGraph);

    hr = pBuild->GetDvdInterface(IID_IDvdControl2, (void**)&pDvdControl2);
    /* I have problems with this line because are unknown*/

    /********************************************************/

    And my  heaDER is


    #ifndef GraphH
    #define GraphH
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <Objbase.h>
    #include "D:\\Mis documentos\\Borland\\GraphEdit\\dshow.h"



    Well I hope than you can help me  please thanks


    SadTongue TiedSadTongue TiedTongue Tied


  • mikelyc

    Well  I find a section with name
    Writing a DVD Playback Application in DirectShow
    in this section there is  a sample but I want to learn using DirectShow and this article show how put function IDvdControl2 and IDvdInfo2, and too I read than is necesary add a library a header (quartz.dll and dshow.h), with this information I started a programming adding these files at my application.. but I have only  troubles with these functions because are unknow for my application.

    Add some of my program:

    /********************************************************/
    HRESULT hr;
        IGraphBuilder *pGraph = NULL;
        IDvdGraphBuilder *pBuild = NULL;
        IDvdGraphBuilder  *pDvdmain= NULL;
        IDvdControl *pDvdControl = NULL;
        IDvdControl2 * pDvdControl2 =NULL;  /* I have problems with this line*/
       IDvdInfo2 * pDvdInfo2=NULL;  /* I have problems with this line*/
        CoInitialize(NULL);
        
        IVideoWindow *pVideoWindow;
       HWND hwnd;
       hr = CoCreateInstance(CLSID_DvdGraphBuilder, NULL,
        CLSCTX_INPROC_SERVER, IID_IDvdGraphBuilder, (void **)&pBuild);

        AM_DVD_RENDERSTATUS buildStatus;
    hr = pBuild->RenderDvdVideoVolume(L"F:\\video_ts\\", 0, &buildStatus);
    hr =  pBuild->GetFiltergraph(&pGraph);

    hr = pBuild->GetDvdInterface(IID_IDvdControl2, (void**)&pDvdControl2);
    /* I have problems with this line because are unknown*/

    /********************************************************/

    And my  heaDER is


    #ifndef GraphH
    #define GraphH
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <Objbase.h>
    #include "D:\\Mis documentos\\Borland\\GraphEdit\\dshow.h"



    Well I hope than you can help me  please thanks



  • Lo, Kuei-yang

    You might read this:
    http://msdn.microsoft.com/archive/default.asp url=/archive/en-us/dx81_c/directx_cpp/htm/dvdnavigatorfilter.asp
    And tell us more: how did you reference the DirectX library,...also, are you well acquainted with COM programming
    If you display your source, your problem will be more likely to be understood.
    I'd have to suspect that you have an older version of DirectShow that your compiler is linking to (in which case, you need to update the LIBPATH variable so that Visual Studio finds the newer version first).
    As I recall, the DVD Sample (included with the DirectX SDK) demonstrates how to do this correctly. Is that the code that you are using

  • How can I define IDvdControl2 and IDvdInfo2