throbber
DirectShow COM Interfaces
`
`Page 340 of 658
`
`GetLocaleinfo (*pLanguage, LOCALE SENGLANGUAGE, pszstring, cbSize ) i
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use .
`
`MQ<§i[.jjj,M Ill.HS Topic Contents
`
`lmll§lllMM
`
`MQi§i!!.ljj,i 111.J,,[9 Topic Contents 1@1§111$8
`
`IDvdlnfo::GetCurrentAngle
`
`IDvdinfo Interface
`
`Retrieves the number of available angles and the currently selected angle number.
`
`HRESULT GetCurrentAngle(
`ULONG *pnAnglesA vailable,
`ULONG *pnCurrentAngle );
`
`Parameters
`
`pnAnglesAvailable
`[out] Pointer to the retrieved number of available angles. If the value pointed to equals
`1, then the current video does not contain multiple angles.
`pnCurrentAngle
`[out] Pointer to the retrieved current angle number.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`Angles are interleaved video streams that presumably contain the same scene shot with
`different camera angles.
`
`This method returns an error unless the domain is DVD DOMAIN Title.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.jjj,M 111.11119 Topic Contents
`
`l@i§lllMM
`
`731
`
`

`
`DirectShow COM Interfaces
`
`Page 341of658
`
`IDvdinfo::GetCurrentAudio
`
`IDvdinfo Interface
`
`Retrieves the number of available audio streams and the number of the currently selected
`audio stream.
`
`HRESULT GetCurrentAudio(
`ULONG *pnStreamsA vailable,
`ULONG *pnCurrentStream );
`
`Parameters
`
`pnStreamsAvailable
`[out] Pointer to the retrieved number of available audio streams
`pnCurrentStream
`[out] Pointer to the current stream number.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`This method returns an error unless the domain is DVD DOMAIN Title.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.jlj,M l!i.! 11ij Topic Contents
`
`l@i§i 11111+
`
`IDvdinfo::GetCurrentAudioAttributes
`
`IDvdinfo Interface
`
`Retrieves the audio attributes for the stream in the current title or menu.
`
`HRESULT GetCurrentAudioAttributes(
`DVD _AudioATR *pA TR ) ;
`
`Parameters
`
`pATR
`
`[out] Pointer to the retrieved audio attributes.
`
`732
`
`

`
`DirectShow COM Interfaces
`
`Page 342 of 658
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`See the DVD-Video specification for information about DVD_AudioATR.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]i!,+ 1 !1·HM Topic Contents
`
`ifflj[§ii!¥M
`
`IDvdlnfo::GetCurrentButton
`
`IDvdinfo Interface
`
`Retrieves the number of available buttons and the currently selected button number.
`
`HRESULT GetCurrentButton(
`ULONG *pnButtonsAvailable,
`ULONG *pnCurrentButton ) ;
`
`Parameters
`
`pnButtonsA vailable
`[out] Pointer to the number of buttons available.
`pnCurrentButton
`[out] Pointer to the number of the current button.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`If buttons are not present this method returns zero for both pnButtonsAvailable and
`pnCurrentButton.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§ill·h' 111.J,,[9 Topic Contents i@i§ii!¥M
`
`733
`
`

`
`DirectShow COM Interfaces
`
`Page 343 of 658
`
`IDvdlnfo::GetCurrentDomain
`
`IDvdlnfo Interface
`
`Retrieves the current DVD domain of the DVD player.
`
`HRESULT GetCurrentDomain(
`DVD_DOMAIN *pDomain );
`
`Parameters
`
`pDomain
`[out] Pointer to the current domain which is a member of the DVD DOMAIN enumerated
`type.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. Typical return
`values might include one of the following:
`Value
`Meaning
`E_FAIL
`Failure.
`E_I NV ALI DARG
`Input argument is invalid.
`E_NOTIMPL
`Method is not supported.
`E_OUTOFMEMORY
`Out of memory (insufficient buffer space).
`E_POINTER
`NULL pointer argument.
`E_UNEXPECTED
`DVD is not initialized or domain is not DVD DOMAIN Title.
`E_UOP PROHIBITED
`Requested action cannot occur at this point in the movie due
`to the authoring of the current DVD-Video disc.
`Success.
`S_OK
`VFW_E_DVD_INVALIDDOMAIN Requested action is not supported on this domain
`(DVD DOMAIN).
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jlj,M l!i.! 11!j Topic Contents
`
`l@i§lllMM
`
`w QiM [.] ij,+ 111.Hj Topic Contents •@!§' 1gnw
`
`IDvdl nfo: :GetCu rrentlocation
`
`IDvdlnfo Interface
`
`734
`
`

`
`DirectShow COM Interfaces
`
`Page 344 of 658
`
`Retrieves the current playback location.
`
`HRESULT GetCurrentlocation(
`DVD_PLAYBACK_LOCATION *placation );
`
`Parameters
`
`placation
`[out] Pointer to the retrieved playback location information in a
`DVD PLAYBACK LOCATION structure.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`The default implementation of this method returns E_UNEXPECTED if the current domain is not
`DVD DOMAIN Title.
`
`Remarks
`
`This method retrieves information sufficient to restart playback of a video from the current
`playback location in titles that don't explicitly disable seeking to the current location.
`
`This method returns an error unless the domain is DVD DOMAIN Title.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+;<§1[.]lj,i '!!·!:.!¥ Topic Contents i@i§ll!¥+
`
`IDvdlnfo::GetCurrentSubpicture
`
`IDvdinfo Interface
`
`Retrieves the number of available subpicture streams, the currently selected subpicture stream
`number, and whether the subpicture display is disabled.
`
`HRESULT GetCurrentSubpicture(
`ULONG *pnStreamsA vailable,
`ULONG *pnCurrentStream,
`BOOL *pisDisabled );
`
`Parameters
`
`pnStreamsAvailable
`[out] Pointer to the retrieved number of available subpicture streams.
`
`735
`
`

`
`DirectShow COM Interfaces
`
`Page 345 of 658
`
`pnCurrentStream
`[out] Pointer to the retrieved number of the currently selected subpicture stream.
`pisDisabled
`[out] Pointer to a value indicating whether the subpicture display is disabled.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`Subpicture streams authored as forcedly activated streams will be displayed even if the
`application has disabled sub picture display with the IDvdControl:: SuboictureStreamChanqe
`method.
`
`This method returns an error unless the domain is DVD DOMAIN Title.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jjj,M l!i.l:.ij Topic Contents
`+Qi§i[.jjj,+ 111.],.[j Topic Contents •@m••1m+
`
`l@i§i llfttiM
`
`IDvdlnfo::GetCurrentSubpictureAttributes
`
`IDvdlnfo Interface
`
`Retrieves the video attributes for the stream in the current title or menu.
`
`HRESULT GetCurrentSubpictureAttributes(
`DVD_SubpictureATR *pATR );
`
`Parameters
`
`pATR
`
`[out] Pointer to the retrieved subpicture attributes.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`736
`
`

`
`DirectShow COM Interfaces
`
`Page 346 of 658
`
`See the DVD-Video specification for information about DVD_SubpictureATR.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]i!,+ 1 !1·HM Topic Contents
`
`ifflj[§ii!MM
`
`IDvdlnfo::GetCurrentUOPS
`
`IDvdinfo Interface
`
`Retrieves which IDvdControl methods are currently valid.
`
`HRESULT GetCurrentUOPS(
`VALID_UOP _SOMTHING_OR_OTHER *pUOP );
`
`Parameters
`
`pUOP
`[out] Pointer to the retrieved valid user operations (UOP).
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`This method is useful because DVD titles can enable or disable individual user operations at
`almost any point during playback.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41H+1 1 !1·HM Topic Contents
`
`i@l§ii!MM
`
`IDvdlnfo::GetCurrentVideoAttributes
`
`IDvdinfo Interface
`
`Retrieves the video attributes for the current title or menu.
`
`HRESULT GetCurrentVideoAttributes(
`
`737
`
`

`
`DirectShow COM Interfaces
`
`Page 347 of 658
`
`DVD_VideoATR *pATR );
`
`Parameters
`
`pATR
`
`[out] Pointer to the retrieved video attributes.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`See the DVD-Video specification for information about DVD_VideoATR.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lmli§lllMM
`
`IDvdlnfo::GetCurrentVolumelnfo
`
`IDvdlnfo Interface
`
`Retrieves the current DVD volume information.
`
`HRESULT GetCurrentVolumeinfo(
`ULONG *pNumOfVol,
`ULONG *pThisVo/Num,
`DVD_DISC_SIDE *pSide,
`ULONG *pNumOfTitles );
`
`Parameters
`
`pNumOfVol
`[out] Pointer to the retrieved number of volumes in a volume set.
`pThisVo/Num
`[out] Pointer to the retrieved volume number for this root directory.
`pSide
`[out] Pointer to the retrieved current disc side (DVD DISC SIDE).
`pNumOfTitles
`[out] Pointer to the retrieved number of titles available in this volume.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`
`738
`
`

`
`DirectShow COM Interfaces
`
`Page 348 of 658
`
`interface.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use .
`
`MQ<§i[.jjj,M Ill.HS Topic Contents
`
`lmll§lllMM
`
`MQi§i!!.ljj,i 111.J,,[9 Topic Contents 1@1§111$8
`
`IDvdlnfo: :GetDVDTextlnfo
`
`IDvdinfo Interface
`
`Retrieves the TXTDT MG structure, which can contain text descriptions for title name, volume
`name, producer name, vocalist name, and so on, in various languages.
`
`HRESULT GetDVDTextinfo(
`BYTE *p Text Manager,
`ULONG cbBufSize,
`ULONG *pcbActua/Size );
`
`Parameters
`
`pTextManager
`[out, size_is(cbBufSize)] Pointer to the retrieved text manager.
`cbBufSize
`[in] Size of the buffer for pTextManager, in bytes.
`pcbActua/Size
`[out] Pointer to a value containing the number of bytes of data returned.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`If the supplied buffer size in cbBufSize is too small for the data, (for example if cbBufSize
`equals zero), then this method returns E_OUTOFMEMORY and sets the value pointed to by
`pcbActua/Size to the required size.
`
`Refer to Section 4.1.6 and Annex A of the DVD-Video specification for more information.
`
`© 1997 Microsoft Corporation. All rights reserved . Terms of Use.
`
`MQi@[.jjj,M 111.11119 Topic Contents
`
`l@i§lllMM
`
`739
`
`

`
`DirectShow COM Interfaces
`
`Page 349 of 658
`
`+Qi§1[.]++ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`IDvdlnfo::GetNumberOfChapters
`
`IDvdinfo Interface
`
`Retrieves the number of chapters that are defined for a given title.
`
`HRESULT GetNumberOfChapters(
`ULONG u/Title,
`ULONG *pNumberOfChapters
`);
`
`Parameters
`
`u/Title
`[in] Title for which to retrieve the number of chapters.
`pNumberOfChapters
`[out] Retrieved number of chapters for the specified title.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qij[.jjj,M M!i.11119 Topic Contents
`
`i@l§lllMM
`
`IDvdl nfo: :GetPlayerPa renta I Level
`
`IDvdinfo Interface
`
`Retrieves the current parental level and country code settings for the DVD player.
`
`HRESULT GetPlayerParentallevel(
`ULONG *pParenta/Level,
`ULONG *pCountryCode
`);
`
`Parameters
`
`740
`
`

`
`DirectShow COM Interfaces
`
`Page 350 of 658
`
`pParenta/Level
`[out] Pointer to a value indicating the current parental level.
`pCountryCode
`[out] Pointer to a value indicating the current country code.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`See Table 3.3.4-1 of the DVD-Video specification for the defined parental levels.
`
`See IS03166 : Alpha-2 Code for the country codes.
`
`Valid Parental Levels are 1 through 8 if parental management is enabled, Oxffffffff if parental
`management is disabled.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+QH"·h' 111.q9
`
`Topic Contents
`
`1@1§111¥+
`
`IDvdlnfo: :GetRoot
`
`IDvdlnfo Interface
`
`Retrieves the root directory that is set in the player.
`
`HRESULT GetRoot(
`LPTSTR pRoot,
`ULONG cbBufSize,
`ULONG *pcbActua/Size
`);
`
`Parameters
`
`pRoot
`[out, size_is(cbBufSize)] Pointer to the buffer to receive the root string.
`cbBufSize
`[in] Size of buffer passed in, in bytes.
`pcbActua/Size
`[out] Pointer to a value containing the size of the actual data returned.
`
`Return Values
`
`741
`
`

`
`DirectShow COM Interfaces
`
`Page 351of658
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`If a valid root was found, this method returns the root string. Otherwise, it returns zero for
`pcbActua/Size, indicating that a valid root directory has not been found or initialized.
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use .
`
`MQ<§i[.jjj,M 111.],.(9 Topic Contents
`
`lmll§lllMM
`
`MQi§i!!.llj,i 111.J,,[9 Topic Contents 1@1§111$8
`
`IDvdl nfo: :GetSu bpictu re language
`
`IDvdinfo Interface
`
`Retrieves the language of the specified subpicture stream within the current title.
`
`HRESULT GetSubpicturelanguage(
`ULONG nStream,
`LCID *planguage );
`
`Parameters
`
`nStream
`[in] Stream number.
`pLanguage
`[out] Pointer to the retrieved language.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`This method does not return languages for menus. This method sets the value pointed to by
`planguage to zero if the stream does not include language. Call the Win32 Getlocalelnfo API
`as follows to create a human-readable string name from planguage.
`
`GetLocaleinfo (*pLanguage, LOCALE_SENGLANGUAGE, pszString, cbSize ) ;
`
`742
`
`

`
`DirectShow COM Interfaces
`
`Page 352 of 658
`
`This method returns an error unless the domain is DVD DOMAIN Title.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]1!,+ 1 !1·HM Topic Contents
`
`ifflj[§ii!MM
`
`+Q<@[.]ij,+ 111.1111M Topic Contents 1@1§11!¥+
`
`IDvdinfo::GetTitleAttributes
`
`IDvdinfo Interface
`
`Retrieves attributes of all video, audio, and subpicture streams for the specified title, including
`menus.
`
`HRESULT GetTitleAttributes(
`ULONG nTitle,
`DVD_ATR *pATR );
`
`Parameters
`
`nTitle
`[in] Requested title number. Specify OxFFFFFFFF for the current title.
`
`pATR
`
`[out] Pointer to the retrieved attributes structure (DVD ATR).
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdinfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`+;<§1[.]ij,+ +II.HM Topic Contents
`
`i@faii!MM
`
`IDvdI nfo: :GetTitlePa renta I Levels
`
`IDvdinfo Interface
`
`Retrieves the parental levels that are defined for a particular title.
`
`743
`
`

`
`DirectShow COM Interfaces
`
`Page 353 of 658
`
`HRESULT GetTitleParentallevels(
`ULONG u/Title,
`ULONG *pParenta/Levels
`);
`
`Parameters
`
`u/Title
`[in] Title for which parental levels are requested.
`pParentalLevels
`[out] Logical combination of the parental levels defined for the title. Valid parental levels
`are DVD PARENTAL LEVEL 8, DVD PARENTAL LEVEL 6, and DVD PARENTAL LEVEL 1.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jjj,M l!i.! 11ij
`
`Topic Contents
`
`l@i§lllMM
`
`IDvdI nfo: :GetTota ITitleTi me
`
`IDvdlnfo Interface
`
`Retrieves the total playback time for the current title.
`
`HRESULT GetTotalTitleTime(
`ULONG *pTota/Time );
`
`Parameters
`
`pTota/Time
`[out] Pointer to the total time in DVD TIMECODE format, which includes hours, minutes,
`seconds, and frames.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`This method works only for simple linear movies.
`
`744
`
`

`
`DirectShow COM Interfaces
`
`Page 354 of 658
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§I 11$8
`
`IDvdlnfo: :GetVMGAttributes
`
`IDvdlnfo Interface
`
`Retrieves attributes of all video, audio, and subpicture streams for video manager (VMG)
`menus.
`
`HRESULT GetVMGAttributes(
`DVD_ATR *pATR );
`
`Parameters
`
`pATR
`
`[out] Pointer to the retrieved attributes structure (DVD ATR).
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation of the interface. See
`IDvdlnfo: :GetCurrentDomain for a list of typical return values for the methods exposed by this
`interface.
`
`Remarks
`
`The video manager contains a separate group of streams, such as the DVD MENU Title menus
`and are not associated with any particular title number.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§I 11$8
`
`IEnumFilters Interface
`
`The IFilterGraph:: EnumFilters method returns the enumerator interface. It is based on the
`COM IEnum style of enumerators.
`
`When to Implement
`
`This interface is implemented on the filter graph manager and is not intended for
`implementation by developers.
`
`745
`
`

`
`DirectShow COM Interfaces
`
`Page 355 of 658
`
`When to Use
`
`This interface is used by applications or other filters to determine what filters exist in the filter
`graph.
`
`Methods in Vtable Order
`!Unknown methods Description
`Queryinterface
`Returns pointers to supported interfaces.
`AddRef
`Increments the reference count.
`Release
`Decrements the reference count.
`I En um Filters
`Description
`methods
`Next
`Skip
`Reset
`Clone
`
`Retrieves the specified number of filters in the enumeration sequence.
`Skips a specified number of filters in the enumeration sequence.
`Resets the enumeration sequence to the beginning.
`Retrieves a duplicate enumerator containing the same enumeration
`state as the current one.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`w Q<M [.] +• 111.H5 Topic Contents •=@• 1gnw
`
`MQi§i[.]11,M 11!.HM Topic Contents
`
`l@l§il!MM
`
`IEnumFilters: :Clone
`
`IEnumFilters Interface
`
`Retrieves a duplicate enumerator containing the same enumeration state as the current one.
`
`HRESULT Clone(
`I En um Filters * * ppEnum
`);
`
`Parameters
`
`ppEnum
`[out] Duplicate of the enumerator.
`
`Return Values
`
`No return value.
`
`Remarks
`
`746
`
`

`
`DirectShow COM Interfaces
`
`Page 356 of 658
`
`This method produces two enumerators (the original and the duplicate); both are set at the
`same filter. After they are created, however, they are independent; therefore, calling the
`IEnumFilters:: Next method for one does not affect the other.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+QH"·h' 111.q9 Topic Contents
`
`1@1§111¥+
`
`IEnumFilters::Next
`
`IEnumFilters Interface
`
`Retrieves the specified number of filters in the enumeration sequence.
`
`HRESULT Next(
`ULONG cFilters,
`IBaseFilter ** ppFilter,
`ULONG * pcFetched
`);
`
`Parameters
`
`cFilters
`[in] Number of filters to place.
`ppFilter
`[out] Array in which to place IBaseFilter pointers.
`pcFetched
`[out] Actual number of filters placed in the array.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`Remarks
`
`The interface returned by this method has had its reference count incremented. Be sure to use
`IUnknown:: Release on the interface to decrement the reference count when you have finished
`using the interface.
`
`747
`
`

`
`DirectShow COM Interfaces
`
`Page 357 of 658
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§I 11$8
`
`MQl§i[.jjj,M '!!·HM Topic Contents
`
`'ffl!'+* •um•
`
`IEnumFilters::Reset
`
`IEnumFilters Interface
`
`Resets the enumeration sequence to the beginning.
`
`HRESULT Reset(void);
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E FAIL
`Failure.
`E_ POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_ NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`Remarks
`
`This method affects the return value of the next call to the IEnumFilters:: Next method.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jjj,M l!i.l:.15 Topic Contents
`
`l@i§lllMM
`
`MQl§i[.jjj,M 111.],.(5 Topic Contents
`
`l@l§lllMM
`
`IEnumFilters::Skip
`
`IEnumFilters Interface
`
`Skips a specified number of filters in the enumeration sequence.
`
`748
`
`

`
`DirectShow COM Interfaces
`
`Page 358 of 658
`
`HRESULT Skip(
`ULONG cFilter
`);
`
`Parameters
`
`cFilter
`[in] Number of filters to skip.
`
`Return Values
`
`No return value.
`
`Remarks
`
`This method affects the return value of the next call to the IEnumFilters:: Next method.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§1[.]i!,+ '!!·HM Topic Contents
`
`i@l§ii!MM
`
`IEnumMediaTypes Interface
`
`The IEnumMediaTypes interface enumerates the preferred formats for a pin.
`
`When to Implement
`
`This interface must be implemented and made available by the I Pin:: EnumMediaTypes
`method. The CBasePin:: EnumMediaTypes member function automatically does this in the
`DirectShow™ class library and uses the CEnumMediaTypes class to create the enumerator
`object.
`
`When to Use
`
`This interface is normally used by a connecting pin to determine the media type when
`negotiating a connection. It can also be passed through to other pins, either upstream or
`downstream of the filter, when intervening filters do not have a list of preferred media types.
`For example, a transform-inplace filter might pass the IEnumMediaTypes interface of a
`downstream input pin to the connecting output pin of the upstream filter, instead of providing
`its own IEnumMediaTypes interface.
`
`Methods in Vtable Order
`!Unknown methods Description
`Querylnterface
`Returns pointers to supported interfaces.
`AddRef
`Increments the reference count.
`Release
`Decrements the reference count.
`
`749
`
`

`
`DirectShow COM Interfaces
`
`Page 359 of 658
`
`I En um MediaTypes
`methods
`Next
`
`Skip
`
`Reset
`Clone
`
`Description
`
`Retrieves the specified number of items in the enumeration
`sequence.
`Skips a specified number of elements in the enumeration
`sequence.
`Resets the enumeration sequence to the beginning.
`Returns another enumerator containing the same enumeration
`state as the current one.
`
`© 1997 Microsoft Corooration. All rights reserved. Terms of Use.
`
`MQ<§i[.]i!:M MB.HS Topic Contents
`
`i@fa111¥M
`
`MQ'41[.]l!:I 11!.HM Topic Contents
`
`i@fai11¥M
`
`IEnumMediaTypes: :Clone
`
`IEnumMediaTypes Interface
`
`Returns another enumerator containing the same enumeration state as the current one.
`
`HRESULT Clone(
`IEnum MediaTypes * * ppEnum
`);
`
`Parameters
`
`ppEnum
`[out] New copy of the enumerator.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.ji!:M lh.1 1115 Topic Contents
`
`i@fai l!lltiM
`
`750
`
`

`
`DirectShow COM Interfaces
`
`Page 360 of 658
`
`+Qi§1[.]++ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`IEnumMediaTypes::Next
`
`IEnumMediaTypes Interface
`
`Retrieves the specified number of items in the enumeration sequence.
`
`HRESULT Next(
`ULONG cMediaTypes,
`AM_MEDIA_TYPE ** ppMediaTypes,
`ULONG * pcFetched
`);
`
`Parameters
`
`cMediaTypes
`[in] Number of media types to place.
`ppMediaTypes
`[out] Array in which to place the pointers to the next media type.
`pcFetched
`[out] Actual count passed.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`Remarks
`
`To use this method, pass an array of pointers to media types. (If you want only a single media
`type, you can pass a pointer to a media type pointer in place of an array of media type
`pointers.) The interface allocates the necessary AM MEDIA TYPE structures and initializes
`them with the variable format block. Free each media type by calling DeleteMediaType, which
`will free the format block and the media type itself.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§i[.]ii,+ '!!·HM Topic Contents
`
`i@l§ii!MM
`
`751
`
`

`
`DirectShow COM Interfaces
`
`Page 361of658
`
`+Qi§1[.]++ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`IEnumMediaTypes::Reset
`
`IEnumMediaTypes Interface
`
`Resets the enumerator to the beginning so that the next call to the IEnumMediaTypes:: Next
`method returns, at a minimum, the first media type (if any) in the enumeration.
`
`HRESULT Reset(void);
`
`Return Values
`
`Returns S_OK if successful; otherwise, returns S_FALSE.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`+ Q i§i [.] jj,+ +!!·HM Topic Contents
`
`Mttfjl§ii!MM
`
`IEnumMediaTypes: :Skip
`
`IEnumMediaTypes Interface
`
`Skips a specified number of elements in the enumeration sequence.
`
`HRESULT Skip(
`ULONG cMediaTypes
`);
`
`Parameters
`
`cMediaTypes
`[in] Number of media type elements to skip.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`
`752
`
`

`
`DirectShow COM Interfaces
`
`Page 362 of 658
`
`Meaning
`Value
`Failure.
`E FAIL
`Null pointer argument.
`E_ POINTER
`E INVALIDARG
`Invalid argument.
`Method isn't supported.
`E_ NOTIMPL
`S_OK or NOERROR Success.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.]11,M '!!·HM
`
`Topic Contents
`
`lml!§lll¥M
`
`MQl§i[.jjj,M '!!·HM
`
`Topic Contents l@i§il/¥8
`
`IEnumPins Interface
`
`The IBaseFilter:: EnumPins method returns this interface. It is based on the IEnumX protocol of
`the Component Object Model (COM).
`
`Note that actions that cause the number of pins to change might cause the enumerator to fail.
`
`When to Implement
`
`This interface must be implemented and made available by the IBaseFilter:: EnumPins method.
`The CBaseFilter:: EnumPins member function automatically does this in the DirectShow™ class
`library and uses the CEnumPins class to create the enumerator object.
`
`When to Use
`
`This interface is normally used by the filter graph manager when connecting filters. It can,
`however, be used by an application that must find the pins associated with filters in the filter
`graph-for example, to add another filter to the graph.
`
`Methods in Vtable Order
`!Unknown methods Description
`Queryinterface
`Returns pointers to supported interfaces.
`AddRef
`Increments the reference count.
`Decrements the reference count.
`Release
`IEnumPins
`Description
`methods
`Next
`Skip
`Reset
`
`Puts pointers to IPin interfaces for the next pins into the specified array.
`Skips the specified number of pins.
`Resets the position to the beginning so that the next call to the
`IEnumPins:: Next method returns, at a minimum, the first pin of the filter.
`Provides another enumerator, which is a duplicate of the current one.
`
`753
`
`

`
`DirectShow COM Interfaces
`
`Page 363 of 658
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQi§i[.jjj,M 11!.HS Topic Contents
`
`lml!§I 11$8
`
`MQl§i[.jjj,M '!!·HM Topic Contents
`
`'ffl!'+* •um•
`
`IEnumPins: :Clone
`
`IEnumPins Interface
`
`Makes a copy of the enumerator. This allows the calling application to retain two positions in
`the list of pins.
`
`HRESULT Clone(
`IEnumPins ** ppEnum
`);
`
`Parameters
`
`ppEnum
`[out] New enumerator, which is a copy of this enumerator.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jjj,M l!i.l:.15 Topic Contents
`
`l@i§lllMM
`
`MQl§i[.jjj,M 111.],.(5 Topic Contents
`
`l@l§lllMM
`
`IEnumPins::Next
`
`754
`
`

`
`DirectShow COM Interfaces
`
`Page 364 of 658
`
`IEnumPins Interface
`
`Places pointers to IPin interfaces into the specified array.
`
`HRESULT Next(
`ULONG cPins,
`I Pin * * ppPins,
`ULONG * pcFetched
`);
`
`Parameters
`
`cPins
`
`[in] Number of pins to place.
`ppPins
`[out] Array in which to place the interface pointers.
`pcFetched
`[out] Actual number of pins placed in the array.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`Remarks
`
`The interface returned by this method has had its reference count incremented. Be sure to use
`IUnknown:: Release on the interface to decrement the reference count when you have finished
`using the interface.
`
`© 1997 Microsoft Corooration . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M MB.HS Topic Contents
`
`i@fa111¥M
`
`8 4'41[.]1!,M 1!1·H¥ Topic Contents
`
`i@fa111¥M
`
`IEnumPins::Reset
`
`IEnumPins Interface
`
`755
`
`

`
`DirectShow COM Interfaces
`
`Page 365 of 658
`
`Resets the enumerator to the beginning so that the next call to the IEnumPins: :Next method
`returns, at a minimum, the first pin of the filter.
`
`HRESULT Reset(void);
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`Value
`Meaning
`E_FAIL
`Failure.
`E_POINTER
`Null pointer argument.
`E_INVALIDARG
`Invalid argument.
`E_NOTIMPL
`Method isn't supported.
`S_OK or NOERROR Success.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q'41[.]i!,+ 1 !1·HM
`
`Topic Contents
`
`ifflj[§ii!¥M
`
`+Q<@[.]jj,+ 111.11119
`
`Topic Contents 1@1§11!¥+
`
`IEnumPins: :Skip
`
`IEnumPins Interface
`
`Skips the specified number of pins.
`
`HRESULT Skip(
`ULONG cPins
`);
`
`Parameters
`
`cPins
`
`[in] Number of pins to skip.
`
`Return Values
`
`Returns an HRESULT value that depends on the implementation. HRESULT can be one of the
`following standard constants, or other values not listed:
`
`756
`
`

`
`DirectShow COM Interfaces
`
`Page 366 of 658
`
`Meani

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket