📄 dvdif.idl
字号:
HRESULT Resume();
// UpperButtonSelect
// Selects the button above the current button.
// "Selecting" a DVD button simply highlights the button but does
// not "Activate" the button. Selecting is the Windows equivalent
// to tabbing to a button but not pressing the space bar or enter key.
// Activating is the Windows equivalent of pressing the space bar or
// enter key after tabbing to a button.
HRESULT UpperButtonSelect();
// LowerButtonSelect
// Selects the button below the current button.
HRESULT LowerButtonSelect();
// LeftButtonSelect
// Selects the button to the left of the current button.
HRESULT LeftButtonSelect();
// RightButtonSelect
// Selects the button to the right of the current button.
HRESULT RightButtonSelect();
// ButtonActivate
// Activates current button.
HRESULT ButtonActivate();
// ButtonSelectAndActivate
// Selects and then activates the button specified by the user.
// uiButton is intended to be a number entered by a user corresponding
// to button numbers currently displayed on screen.
// Button numbers range from 1 to 36.
HRESULT ButtonSelectAndActivate
( [in] ULONG uiButton
);
// StillOff
// Releases any current still if there are no available buttons.
// This includes VOBU stills, Cell stills, and PGC stills, whether the
// still is infinite. When buttons are available, stills are released by
// activating a button. Note this does not release a Pause.
HRESULT StillOff();
// PauseOn
// Freezes playback and any internal timers. This is similar to
// IMediaControl::Pause()
HRESULT PauseOn();
// PauseOff
// Releases a Pause.
HRESULT PauseOff();
// MenuLanguageSelect
// Selects the default language for menus. Languages are specified with
// Windows standard LCIDs. LCIDs can be created from ISO-639 codes with
// MAKELCID( MAKELANGID(wISO639LangID ,SUBLANG_DEFAULT ), SORT_DEFAULT )
// NOTE: MAKELANGID seems to have a bug so 'jp' may have to be used
// instead of 'ja' for the ISO639 code for Japanese.
// MenuLanguageSelect may only called from the DVD Stop state (DVD_DOMAIN_Stop).
HRESULT MenuLanguageSelect
( [in] LCID Language
);
// AudioStreamChange
// Changes the current audio stream.
HRESULT AudioStreamChange
( [in] ULONG nAudio
);
// SubpictureStreamChange
// Changes the current subpicture stream number to nSubpic, and toggles
// its display.
HRESULT SubpictureStreamChange
( [in] ULONG nSubPicture,
[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 * pTotalTime // 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 pnButtonsAvailable and pnCurrentButton
HRESULT GetCurrentButton
( [out] ULONG * pnButtonsAvailable,
[out] ULONG * pnCurrentButton
);
// 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 * pnAnglesAvailable,
[out] ULONG * pnCurrentAngle
);
// 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 * pnStreamsAvailable,
[out] ULONG * pnCurrentStream
);
// 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 * pnStreamsAvailable,
[out] ULONG * pnCurrentStream,
[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
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -