📄 dvdif.idl
字号:
// its display.
HRESULT SubpictureStreamChange
( [in] ULONG ulSubPicture,
[in] BOOL bDisplay
);
// AngleChange
// Changes the current angle number.
HRESULT AngleChange
( [in] ULONG ulAngle
);
// ParentalLevelSelect
// Selects the current player parental level between 1 and 8. The
// defined parental levels are listed below :
//
// Level Rating
// ----- ------
//
// 1 G
// 3 PG
// 4 PG13
// 6 R
// 7 NC17
// Higher levels can play lower level content; lower levels cannot play
// higher level content. The DVD Navigator provides no restriction on
// setting the parental level. DVD player application may enforce
// restriction on parental level setting, such as password protection for
// raising the current parental level. Parental Management is disabled in
// the Navigator by default.
//
// Note : To disable parental management, pass 0xffffffff for ulParentalLevel
// If parental management is disabled, then the player will play the
// first PGC in a parental block regardless of parental IDs.
//
HRESULT ParentalLevelSelect
( [in] ULONG ulParentalLevel
);
// ParentalCountrySelect
// Sets the country in which to interpret the the Parental Level.
// The country specified using the Alpha-2 code of the ISO-3166 standard,
// with the addition of 'ZZ'
HRESULT ParentalCountrySelect
( [in] WORD wCountry
);
// KaraokeAudioPresentationModeChange
// Sets the Karaoke audio mode.
// NOTE: This and all other Karoke support is currently not implemented.
HRESULT KaraokeAudioPresentationModeChange
( [in] ULONG ulMode
);
// VideoModePreferrence
// The user can specify the preferred display mode that should
// be used to display content. The parameter is a ULONG that has
// one of the values defined in DVD_PREFERRED_DISPLAY_MODE
HRESULT VideoModePreferrence
( [in] ULONG ulPreferredDisplayMode
);
// SetRoot
// Sets the root directory containing the DVD-Video volume.
// Can only be called from the DVD Stop State (DVD_DOMAIN_Stop).
// If the root directory is not successfully set before
// IMediaControl::Play is called, the first drive starting from c:
// containing a VIDEO_TS directory in the top level directory
// will be used as the root.
HRESULT SetRoot
( [in] LPCWSTR pszPath
);
// MouseActivate
// This is typically called in response to a mouse click.
// The specified point within the display window is to see if it is
// within a current DVD button's highlight rect. If it is, that
// button is first selected, then activated.
// NOTE: DVD Buttons do not all necessarily have highlight rects,
// button rects can overlap, and button rects do not always
// correspond to the visual representation of DVD buttons.
HRESULT MouseActivate // typically called after a mouse click
( [in] POINT point
);
// MouseSelect
// This is typically called in response to a mouse move within the
// display window.
// The specified point within the display window is to see if it is
// within a current DVD button's highlight rect. If it is, that
// button is selected.
// NOTE: DVD Buttons do not all necessarily have highlight rects,
// button rects can overlap, and button rects do not always
// correspond to the visual representation of DVD buttons.
HRESULT MouseSelect // typically called after a mouse move
( [in] POINT point
);
// ChapterPlayAutoStop
// Start playing at the specified chapter within the specified title
// and play the number of chapters specified by the third parameter.
// Chapters range from 1 to 999.
HRESULT ChapterPlayAutoStop
( [in] ULONG ulTitle, // title number
[in] ULONG ulChapter, // chapter number to start playback
[in] ULONG ulChaptersToPlay // number of chapters to play from the start chapter
);
}
//==========================================================================
//==========================================================================
// IDvdInfo interface -- allow an app to query for attributes of available
// DVD titles and DVD player status. Also allow for control of a DVD
// player beyond Annex J in the DVD spec.
//==========================================================================
//==========================================================================
[
object,
uuid(A70EFE60-E2A3-11d0-A9BE-00AA0061BE93),
pointer_default(unique)
]
interface IDvdInfo : IUnknown {
import "unknwn.idl";
// GetCurrentDomain
// Returns the current DVD Domain of the DVD player.
HRESULT GetCurrentDomain
( [out] DVD_DOMAIN *pDomain
);
// GetCurrentLocation
// Returns 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.
HRESULT GetCurrentLocation
( [out] DVD_PLAYBACK_LOCATION *pLocation
);
// GetTotalTitleTime
// Return the total playback time for the current title. Only works
// for One_Sequential_PGC_Titles.
HRESULT GetTotalTitleTime
( [out] ULONG * pulTotalTime // use DVD_TIMECODE.
);
// GetCurrentButton
// Indicates the number of currently available buttons and the current
// selected button number. If buttons are not present it returns 0 for
// both pulButtonsAvailable and pulCurrentButton
HRESULT GetCurrentButton
( [out] ULONG * pulButtonsAvailable,
[out] ULONG * pulCurrentButton
);
// GetCurrentAngle
// Indicates the number of currently available angles and the current
// selected angle number. If *pnAnglesAvailable==1, then the current
// video is not multiangle.
HRESULT GetCurrentAngle
( [out] ULONG * pulAnglesAvailable,
[out] ULONG * pulCurrentAngle
);
// GetCurrentAudio
// Indicates the number of currently available audio streams and
// the current selected audio stream number.
// This only work when in DVD_DOMAIN_Title.
HRESULT GetCurrentAudio
( [out] ULONG * pulStreamsAvailable,
[out] ULONG * pulCurrentStream
);
// GetCurrentSubpicture
// Indicates the number of currently available subpicture streams,
// the current selected subpicture stream number, and if the
// subpicture display is currently disabled. Subpicture streams
// authored as Forcedly Activated stream will be displayed even if
// subpicture display has been disabled by the app with
// IDVDControl::SubpictureChangeStream.
// This only work when in DVD_DOMAIN_Title.
HRESULT GetCurrentSubpicture
( [out] ULONG * pulStreamsAvailable,
[out] ULONG * pulCurrentStream,
[out] BOOL * pIsDisabled
);
// GetCurrentUOPS
// Indicates which IDVDControl methods are currently valid. DVD titles
// can enable or disable individual user operations at almost any point
// during playback.
HRESULT GetCurrentUOPS
( [out] VALID_UOP_SOMTHING_OR_OTHER * pUOP
);
// GetAllSPRMs
// Returns the current contents of all System Parameter Registers.
// See DVD-Video spec for use of individual registers.
HRESULT GetAllSPRMs
( [out] SPRMARRAY * pRegisterArray
);
// GetAllGPRMs
// Returns the current contents of all General Parameter Registers.
// Use of GPRMs is title specific.
HRESULT GetAllGPRMs
( [out] GPRMARRAY * pRegisterArray
);
// GetAudioLanguage
// Returns the language of the specified stream within the current
// title. Does not return languages for menus. Sets *pLanguage=0 if
// if the stream does not include language.
// Use GetLocaleInfo(*pLanguage, LOCALE_SENGLANGUAGE, pszString, cbSize)
// to create a human readable string name from the result LCID.
HRESULT GetAudioLanguage
( [in] ULONG ulStream,
[out] LCID * pLanguage
);
// GetSubpictureLanguage
// Returns the language of the specified stream within the current
// title. Does not return languages for menus. Sets *pLanguage=0 if
// if the stream does not include language.
// Use GetLocaleInfo(*pLanguage, LOCALE_SENGLANGUAGE, pszString, cbSize)
// to create a human readable string name from the result LCID.
HRESULT GetSubpictureLanguage
( [in] ULONG ulStream,
[out] LCID * pLanguage
);
// GetTitleAttributes
// Returns attributes of all video, audio, and subpicture
// streams for the specified title including menus.
// If nTitle == 0xffffffff, attributes for the current title are returned.
HRESULT GetTitleAttributes
( [in] ULONG ulTitle, // requested title number
[out] DVD_ATR * pATR
);
// GetVMGAttributes
// Returns attributes of all video, audio, and subpicture
// streams for Video Manager Menus. Some menus, such as the DVD_MENU_Title
// are in a separate group of streams called the VMG (Video Manager) and
// are not associated with any particular title number.
HRESULT GetVMGAttributes
( [out] DVD_ATR * pATR
);
// GetCurrentVideoAttributes
// Returns the video attributes for the current title or menu.
HRESULT GetCurrentVideoAttributes
( [out] DVD_VideoATR *pATR
);
// GetCurrentAudioAttributes
// Returns the video attributes for the stream in the current
// title or menu.
HRESULT GetCurrentAudioAttributes
( [out] DVD_AudioATR *pATR
);
// GetCurrentSubpictureAttributes
// Returns the video attributes for the stream in the current
// title or menu.
HRESULT GetCurrentSubpictureAttributes
( [out] DVD_SubpictureATR *pATR
);
// GetCurrentVolumeInfo
// Returns current DVD volume info.
HRESULT GetCurrentVolumeInfo
( [out] ULONG *pulNumOfVol, // number of volumes (disc sides?) in a volume set
[out] ULONG *pulThisVolNum, // volume number for this root directory
[out] DVD_DISC_SIDE *pSide, // current disc side
[out] ULONG *pulNumOfTitles // number of titles available in this volume
);
// GetDVDTextInfo
// Returns the TXTDT_MG structure, which can contain text descriptions for title
// name, volume name, producer name, vocalist name, etc. in various languages.
// refer to Section 4.1.6 and Annex A of the DVD-Video spec.
// If the buffer size passed in is insufficient (for example if cbBufSize==0),
// then E_OUTOFMEMORY is returned, and *pcbActualSize is set to the required size.
HRESULT GetDVDTextInfo
( [out, size_is(ulBufSize)] BYTE *pTextManager,
[in] ULONG ulBufSize, // buffer size passed in
[out] ULONG *pulActualSize // amount of actual data return
);
// GetPlayerParentalLevel
// Returns the current parental level and the current country code
// that has been set in the system registers in player.
// See Table 3.3.4-1 of the DVD-Video spec for the defined parental levels.
// Valid Parental Levels = 1..8 if parental management is enabled
// 0xffffffff if parental management is disabled
// See ISO3166 : Alpha-2 Code for the country codes.
HRESULT GetPlayerParentalLevel
( [out] ULONG *pulParentalLevel, // current parental level
[out] ULONG *pulCountryCode // current country code
);
// GetNumberOfChapters
// Returns the number of chapters that are defined for a
// given title.
HRESULT GetNumberOfChapters
( [in] ULONG ulTitle, // Title for which number of chapters is requested
[out] ULONG *pulNumberOfChapters // Number of chapters for the specified title
);
// GetTitleParentalLevels
// Returns the parental levels that are defined for a
// particular title. pParentalLevels will be combination
// of DVD_PARENTAL_LEVEL_8, DVD_PARENTAL_LEVEL_6, or
// DVD_PARENTAL_LEVEL_1 "OR"ed together
HRESULT GetTitleParentalLevels
( [in] ULONG ulTitle, // Title for which parental levels are requested
[out] ULONG *pulParentalLevels // Parental levels defined for the title "OR"ed together
);
// GetRoot
// Returns the root directory that is set in the player. If a valid root
// has been found, it returns the root string. Otherwise, it returns 0 for
// pcbActualSize indicating that a valid root directory has not been found
// or initialized.
//
// !!! used to return LPTSTR. interface was changed to return
// LPSTR (ansi) for compatibility. COM APIs should pass with
// UNICODE strings only.
//
HRESULT GetRoot
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -