123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- /******************************************************************************
- |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- |* PARTICULAR PURPOSE.
- |*
- |* Copyright 1995-2005 Nero AG and its licensors. All Rights Reserved.
- |*-----------------------------------------------------------------------------
- |* NeroSDK / NeroVisionAPI
- |*
- |* PROGRAM: NeroVisionAPI.idl
- |*
- |* PURPOSE: Interface definition of the NeroVision API
- ******************************************************************************/
- [
- uuid(BF84BFD8-B411-4948-9BDA-3A6C02CE7BD4),
- version(1.2),
- helpstring("NeroVision API 1.2 Library")
- ]
- library NeroVisionAPI
- {
- importlib("STDOLE2.TLB");
- #include "ContentProvider.idl"
- [
- local, uuid(8DE64FCC-95CD-42dc-A332-D435E3326EEF),
- helpstring("Error object containing error code and error description.")
- ]
- interface IError : IUnknown
- {
- typedef [helpstring("NeroVision API error codes.")]
- enum
- {
- NoError = 0,
- Canceled,
- InternalError,
- APIUsageError,
- InstallationError,
- XMLSyntaxError,
- FileIOError,
- MenuTemplateError,
- NeroAPIError,
- TranscodingFailed,
- DiscOverflow,
- ContentResolverError,
- ContentProviderError,
- DiscStructureError,
- PreviewError,
- EffectError
- } ErrorCode;
- [propget, helpstring("Gets the error code")]
- HRESULT ErrCode([out, retval] ErrorCode* errCode);
- [propget, helpstring("Gets the error text")]
- HRESULT ErrText([out, retval] BSTR* errStr);
- [propget, helpstring("Gets the ID of the XML tag involved in the error")]
- HRESULT XMLID([out, retval] BSTR* xmlID);
- };
- [
- local, uuid(25C8265E-D1F4-4502-8664-EA1F497EF76C),
- helpstring("The result of createNeroBurnContext().")
- ]
- interface INeroBurnContext : IUnknown
- {
- [propget, helpstring("Gets the resulting NERO_CD_FORMAT (2. parameter of NeroBurn()).")]
- HRESULT NERO_CD_FORMAT([out, retval] int* pFormat);
- [propget, helpstring("Gets pointer to the resulting NERO_WRITE_CD structure (3. parameter of NeroBurn()).")]
- HRESULT NERO_WRITE_CD([out, retval] void** pNWCD);
- };
- [
- local, uuid(DA1F536B-6548-4185-9372-6F0C4539C1D0),
- helpstring("Interface for handling progress information.")
- ]
- interface IProgressCallback : IUnknown
- {
- typedef [helpstring("Action reported by ProgressCallback.")]
- enum
- {
- Estimating = 0,
- Preparing,
- Transcoding,
- Generating,
- Analyzing
- } ProgressAction;
- [helpstring("Called regularly to report progress of the current sub-task and the total function called.")]
- HRESULT OnProgress([in] ProgressAction action, [in] BSTR itemname, [in] double currentRemain, [in] double currentTotal, [in] float currentFraction, [in] double totalRemain, [in] double totalTotal, [in] float totalFraction);
- [helpstring("Called regularly to check whether the called function should be canceled.")]
- HRESULT ShouldCancel([out, retval] boolean* pbCancel);
- };
- [
- local, uuid(01ED3DAA-F36D-470b-AC64-7B1E950796F3),
- helpstring("A NeroVision project describes a DVD/(S)VCD.")
- ]
- interface IProject : IUnknown
- {
- [helpstring("Sets the project content from raw XML data.")]
- HRESULT SetXMLString([in] const char* data, [out, retval] boolean* pbSuccess);
- [helpstring("Sets the project content from a XML file.")]
- HRESULT SetXMLFile([in] BSTR filepath, [out, retval] boolean* pbSuccess);
- [helpstring("Estimates the size of the resulting disk.")]
- HRESULT EstimateDiskSize([out] hyper* size, [out, retval] boolean* pbSuccess);
- [helpstring("Estimates the time needed by CreateNeroBurnContext().")]
- HRESULT EstimateCreateNeroBurnContextTime([in] IProgressCallback* pCallback, [out] double* seconds, [out, retval] boolean* pbSuccess);
- [helpstring("Creates a NeroBurnContext object which can be burned with Nero. if a ProgressCallback is passed, it will receive progress information.")]
- HRESULT CreateNeroBurnContext([in] HMODULE hNeroAPIDLL, [in] IProgressCallback* pCallback, [out] INeroBurnContext** ppburnContext, [out, retval] boolean* pbSuccess);
- [propput, helpstring("Sets the directory used for storing temporary files. Defaults to the system temp. directory.")]
- HRESULT TempDirectory([in] BSTR path);
- [propget, helpstring("Gets the error object of the last called function")]
- HRESULT LastError([out, retval] IError** pError);
- };
- [
- local, uuid(BCA08AF9-0D38-4535-84BD-37DAF6B5CFE5),
- helpstring("Extended interface of IProject.")
- ]
- interface IProject2 : IProject
- {
- [propput, helpstring("Sets a ContentResolver for resolving references to virtual content the XML.")]
- HRESULT ContentResolver([in] IContentResolver* resolver);
- };
- [
- local, uuid(2377307A-AD38-477b-A4EB-EC4BE0ADD508),
- helpstring("Extended interface of IProject.")
- ]
- interface IProject3 : IProject2
- {
- [propget, helpstring("Returns the supported XML schema.")]
- HRESULT SupportedXMLSchema([out, retval] BSTR* schema);
- };
- [
- local, uuid(48BE2DAA-E6E0-45d0-BC98-B8B9304753DC),
- helpstring("Interface for exporting a movie title to a file.")
- ]
- interface IMovieExporter : IUnknown
- {
- [helpstring("Sets the movie to export, which can be either a whole movie project or a videotitle/slideshow of a (s)vcd/dvd project.")]
- HRESULT SetSource([in] IProject* prj, [in] BSTR xmlID, [out, retval] boolean* pbSuccess);
- [helpstring("Estimates the size of the resulting file.")]
- HRESULT EstimateFileSize([out] hyper* size, [out, retval] boolean* pbSuccess);
- [helpstring("Exports the movie to file. If a ProgressCallback is passed, it will receive progress information.")]
- HRESULT ExportMovie([in] BSTR filepath, [in] IProgressCallback* pCallback, [out, retval] boolean* pbSuccess);
- [propget, helpstring("Gets the error object of the last called function.")]
- HRESULT LastError([out, retval] IError** pError);
- };
- [
- local, uuid(4860E8AC-4431-4020-9985-678FA6690A8E),
- helpstring("Interface for enumerating the installed effects.")
- ]
- interface IEffectEnumerator : IUnknown
- {
- typedef [helpstring("The categories of an effect.")]
- enum
- {
- EffectCategory_Video,
- EffectCategory_Transition,
- EffectCategory_Text
- } EffectCategory;
- [propget, helpstring("Gets the number of effects installed.")]
- HRESULT NumEffects([out, retval] int* numEffects);
- [helpstring("Gets base information about an effect. 'typeid' is the unique identifier ('type' attribute in XML).")]
- HRESULT GetEffectBaseInfo([in] int effectIndex, [out] BSTR* typeID, [out] BSTR* displayName, [out] EffectCategory* category, [out, retval] boolean* pbSuccess);
- [propget, helpstring("Gets the error object of the last called function")]
- HRESULT LastError([out, retval] IError** pError);
- };
- [
- uuid(BB32FBED-A8CC-41a8-8A15-3F6D5E3D25C7),
- helpstring("NeroVision project object"),
- ]
- coclass Project
- {
- [default] interface IProject3;
- };
- [
- uuid(7F4A72B1-E512-4e8d-BFED-CC6606FF1824),
- helpstring("Movie exporter object"),
- ]
- coclass MovieExporter
- {
- [default] interface IMovieExporter;
- };
- [
- uuid(E3B54E5D-579C-4ff2-853B-E21DD05EA690),
- helpstring("Effect enumerator object"),
- ]
- coclass EffectEnumerator
- {
- [default] interface IEffectEnumerator;
- };
- #include "MediaAnalyzer.idl"
- #include "PreviewSimulation.idl"
- };
|