CBaseBasicVideo Class

CBaseBasicVideo class hierarchy

The CBaseBasicVideo class handles the IDispatch component of the IBasicVideo interface and leaves the properties and methods pure virtual.

The IDispatch::GetIDsOfNames, IDispatch::GetTypeInfo, IDispatch::GetTypeInfoCount, and IDispatch::Invoke methods are standard implementations of the IDispatch interface using the CBaseDispatch class (and a type library) to parse the commands and pass them to the pure virtual methods of the IBasicVideo interface.

Member Functions

CBaseBasicVideo Constructs a CBaseBasicVideo object.

Implemented INonDelegatingUnknown Methods

NonDelegatingQueryInterface Returns a specified reference-counted interface.

Implemented IDispatch Methods

GetIDsOfNames Maps a single member and an optional set of parameters to a corresponding set of integer dispatch identifiers, which can be used during subsequent calls to the IDispatch::Invoke method.
GetTypeInfo Retrieves a type-information object, which can retrieve the type information for an interface.
GetTypeInfoCount Retrieves the number of type-information interfaces provided by an object.
Invoke Provides access to properties and methods exposed by an object.

CBaseBasicVideo::CBaseBasicVideo

CBaseBasicVideo Class

Constructs a CBaseBasicVideo object.

Syntax

CBaseBasicVideo(

  const TCHAR *pName,
  LPUNKNOWN pUnk
  );

Parameters

pName
Pointer to the name of the object for debugging purposes.
pUnk
Pointer to the owner of this object.

Return Value

No return value.

Remarks

Allocate the pName parameter in static memory. This name appears on the debugging terminal upon creation and deletion of the object.

CBaseBasicVideo::GetIDsOfNames

CBaseBasicVideo Class

Maps a single member function and an optional set of parameters to a corresponding set of integer dispatch identifiers, which can be used upon subsequent calls to the CBaseBasicVideo::Invoke member function.

Syntax

HRESULT GetIDsOfNames(

  REFIID riid,
  OLECHAR **rgszNames,
  UINT cNames,
  LCID lcid,
  DISPID *rgdispid
  );

Parameters

riid
Reference identifier. Reserved for future use. Must be NULL.
rgszNames
Address of a pointer to a passed-in array of names to be mapped.
cNames
Count of the names to be mapped.
lcid
Locale context in which to interpret the names.
rgdispid
Pointer to a caller-allocated array, each element of which contains an ID corresponding to one of the names passed in the rgszNames array. The first element represents the member name; the subsequent elements represent each of the member's parameters.

Return Value

Returns one of the following values.
S_OK Success.
E_OUTOFMEMORY Out of memory.
DISP_E_UNKNOWNNAME One or more of the names were not known. The returned DISPIDs contain DISPID_UNKNOWN for each entry that corresponds to an unknown name.
DISP_E_UNKNOWN_CLSID The CLSID was not recognized.

CBaseBasicVideo::GetTypeInfo

CBaseBasicVideo Class

Retrieves a type-information object, which can retrieve the type information for an interface.

Syntax

HRESULT GetTypeInfo(

  UINT itinfo,
  LCID lcid,
  ITypeInfo **pptinfo
  );

Parameters

itinfo
Type information to return. Pass zero to retrieve type information for the IDispatch implementation.
lcid
Locale ID for the type information. For classes that support localized member names, an object might be able to return different type information for different languages. For classes that do not support localized member names, this parameter can be ignored.
pptinfo
Address of a pointer to the type-information object requested.

Return Value

Returns an E_POINTER if pptinfo is invalid. Returns TYPE_E_ELEMENTNOTFOUND if itinfo is not zero. Returns S_OK if is successful. Otherwise, returns an HRESULT from one of the calls to retrieve the type. The HRESULT indicates the error and can be one of the following standard constants, or other values not listed.
E_FAIL Failure.
E_POINTER Null pointer argument.
E_INVALIDARG Invalid argument.

CBaseBasicVideo::GetTypeInfoCount

CBaseBasicVideo Class

Retrieves the number of type-information interfaces provided by an object.

Syntax

HRESULT GetTypeInfoCount(

  UINT *pctinfo
  );

Parameters

pctinfo
Pointer to the location that receives the number of type-information interfaces that the object provides. If the object provides type information, this number is 1; otherwise, the number is 0.

Return Value

Returns E_POINTER if pctinfo is invalid; otherwise, returns S_OK.

CBaseBasicVideo::Invoke

CBaseBasicVideo Class

Provides access to properties and methods exposed by an object.

Syntax

HRESULT Invoke(

  DISPID dispidMember,
  REFIID riid,
  LCID lcid,
  WORD wFlags,
  DISPPARAMS *pdispparams,
  VARIANT *pvarResult,
  EXCEPINFO *pexcepinfo,
  UINT *puArgErr
  );

Parameters

dispidMember
Identifier of the member. Use CBaseBasicVideo::GetIDsOfNames or the object's documentation to obtain the dispatch identifier.
riid
Reserved for future use. Must be IID_NULL.
lcid
Locale context in which to interpret arguments.
wFlags
Flags describing the context of the CBaseBasicVideo::Invoke call.
pdispparams
Pointer to a structure containing an array of arguments, an array of argument dispatch IDs for named arguments, and counts for number of elements in the arrays.
pvarResult
Pointer to where the result is to be stored, or NULL if the caller expects no result.
pexcepinfo
Pointer to a structure containing exception information.
puArgErr
Pointer to the index of the first argument, within the rgvarg array, that has an error.

Return Value

Returns DISP_E_UNKNOWNINTERFACE if riid is not IID_NULL. Returns one of the error codes from CBaseBasicVideo::GetTypeInfo if the call fails. Otherwise, returns the HRESULT from the call to IDispatch::Invoke.

CBaseBasicVideo::NonDelegatingQueryInterface

CBaseBasicVideo Class

Returns a specified reference-counted interface.

Syntax

HRESULT NonDelegatingQueryInterface(
  REFIID riid,
  void **ppv
  );

Parameters

riid
Reference identifier.
ppv
Address of a pointer to the interface.

Return Value

Returns E_POINTER if ppv is invalid. Returns NOERROR if the query is successful or E_NOINTERFACE if it is not.

Remarks

Returns pointers to the IBasicVideo and IUnknown interfaces by default. Override this method to publish any additional interfaces implemented by the derived class.


Top of Page Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.