/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 5.01.0164 */ /* at Tue Apr 30 09:51:06 2002 */ /* Compiler settings for .\drmexternals.idl: Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext error checks: allocation ref bounds_check enum stub_data */ //@@MIDL_FILE_HEADING( ) /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 440 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __drmexternals_h__ #define __drmexternals_h__ #ifdef __cplusplus extern "C"{ #endif /* Forward Declarations */ #ifndef __IDRMStatusCallback_FWD_DEFINED__ #define __IDRMStatusCallback_FWD_DEFINED__ typedef interface IDRMStatusCallback IDRMStatusCallback; #endif /* __IDRMStatusCallback_FWD_DEFINED__ */ /* header files for imported files */ #include "oaidl.h" void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t); void __RPC_USER MIDL_user_free( void __RPC_FAR * ); /* interface __MIDL_itf_drmexternals_0000 */ /* [local] */ static const WCHAR *g_wszWMDRM_RIGHT_PLAYBACK = L"Play"; static const WCHAR *g_wszWMDRM_RIGHT_COPY_TO_CD = L"Print.redbook"; static const WCHAR *g_wszWMDRM_RIGHT_COPY_TO_SDMI_DEVICE = L"Transfer.SDMI"; static const WCHAR *g_wszWMDRM_RIGHT_COPY_TO_NON_SDMI_DEVICE = L"Transfer.NONSDMI"; static const WCHAR *g_wszWMDRM_RIGHT_BACKUP = L"Backup"; static const WCHAR *g_wszWMDRM_ActionAllowed = L"ActionAllowed."; static const WCHAR *g_wszWMDRM_LicenseState = L"LicenseStateData."; static const WCHAR *g_wszWMDRM_DRMHeader = L"DRMHeader."; static const WCHAR *g_wszWMDRM_IsDRM = L"IsDRM"; static const WCHAR *g_wszWMDRM_IsDRMCached = L"IsDRMCached"; static const WCHAR *g_wszWMDRM_ActionAllowed_Playback = L"ActionAllowed.Play"; static const WCHAR *g_wszWMDRM_ActionAllowed_CopyToCD = L"ActionAllowed.Print.redbook"; static const WCHAR *g_wszWMDRM_ActionAllowed_CopyToSDMIDevice = L"ActionAllowed.Transfer.SDMI"; static const WCHAR *g_wszWMDRM_ActionAllowed_CopyToNonSDMIDevice = L"ActionAllowed.Transfer.NONSDMI"; static const WCHAR *g_wszWMDRM_ActionAllowed_Backup = L"ActionAllowed.Backup"; static const WCHAR *g_wszWMDRM_LicenseState_Playback = L"LicenseStateData.Play"; static const WCHAR *g_wszWMDRM_LicenseState_CopyToCD = L"LicenseStateData.Print.redbook"; static const WCHAR *g_wszWMDRM_LicenseState_CopyToSDMIDevice = L"LicenseStateData.Transfer.SDMI"; static const WCHAR *g_wszWMDRM_LicenseState_CopyToNonSDMIDevice = L"LicenseStateData.Transfer.NONSDMI"; typedef enum DRM_LICENSE_STATE_CATEGORY { WM_DRM_LICENSE_STATE_NORIGHT = 0, WM_DRM_LICENSE_STATE_UNLIM = WM_DRM_LICENSE_STATE_NORIGHT + 1, WM_DRM_LICENSE_STATE_COUNT = WM_DRM_LICENSE_STATE_UNLIM + 1, WM_DRM_LICENSE_STATE_FROM = WM_DRM_LICENSE_STATE_COUNT + 1, WM_DRM_LICENSE_STATE_UNTIL = WM_DRM_LICENSE_STATE_FROM + 1, WM_DRM_LICENSE_STATE_FROM_UNTIL = WM_DRM_LICENSE_STATE_UNTIL + 1, WM_DRM_LICENSE_STATE_COUNT_FROM = WM_DRM_LICENSE_STATE_FROM_UNTIL + 1, WM_DRM_LICENSE_STATE_COUNT_UNTIL = WM_DRM_LICENSE_STATE_COUNT_FROM + 1, WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL = WM_DRM_LICENSE_STATE_COUNT_UNTIL + 1, WM_DRM_LICENSE_STATE_EXPIRATION_AFTER_FIRSTUSE = WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL + 1 } DRM_LICENSE_STATE_CATEGORY; typedef struct _DRM_LICENSE_STATE_DATA { DWORD dwStreamId; DRM_LICENSE_STATE_CATEGORY dwCategory; DWORD dwNumCounts; DWORD dwCount[ 4 ]; DWORD dwNumDates; FILETIME datetime[ 4 ]; DWORD dwVague; } DRM_LICENSE_STATE_DATA; typedef enum DRM_HTTP_STATUS { HTTP_NOTINITIATED = 0, HTTP_CONNECTING = HTTP_NOTINITIATED + 1, HTTP_REQUESTING = HTTP_CONNECTING + 1, HTTP_RECEIVING = HTTP_REQUESTING + 1, HTTP_COMPLETED = HTTP_RECEIVING + 1 } DRM_HTTP_STATUS; typedef enum DRM_INDIVIDUALIZATION_STATUS { INDI_UNDEFINED = 0, INDI_BEGIN = 0x1, INDI_SUCCEED = 0x2, INDI_FAIL = 0x4, INDI_CANCEL = 0x8, INDI_DOWNLOAD = 0x10, INDI_INSTALL = 0x20 } DRM_INDIVIDUALIZATION_STATUS; typedef struct _WMIndividualizeStatus { HRESULT hr; DRM_INDIVIDUALIZATION_STATUS enIndiStatus; LPSTR pszIndiRespUrl; DWORD dwHTTPRequest; DRM_HTTP_STATUS enHTTPStatus; DWORD dwHTTPReadProgress; DWORD dwHTTPReadTotal; } WM_INDIVIDUALIZE_STATUS; typedef struct _WMGetLicenseData { DWORD dwSize; HRESULT hr; WCHAR __RPC_FAR *wszURL; WCHAR __RPC_FAR *wszLocalFilename; BYTE __RPC_FAR *pbPostData; DWORD dwPostDataSize; } WM_GET_LICENSE_DATA; typedef enum MSDRM_STATUS { DRM_ERROR = 0, DRM_INFORMATION = 1, DRM_BACKUPRESTORE_BEGIN = 2, DRM_BACKUPRESTORE_END = 3, DRM_BACKUPRESTORE_CONNECTING = 4, DRM_BACKUPRESTORE_DISCONNECTING = 5, DRM_ERROR_WITHURL = 6, DRM_RESTRICTED_LICENSE = 7, DRM_NEEDS_INDIVIDUALIZATION = 8 } MSDRM_STATUS; typedef enum DRM_ATTR_DATATYPE { DRM_TYPE_DWORD = 0, DRM_TYPE_STRING = 1, DRM_TYPE_BINARY = 2, DRM_TYPE_BOOL = 3, DRM_TYPE_QWORD = 4, DRM_TYPE_WORD = 5, DRM_TYPE_GUID = 6 } DRM_ATTR_DATATYPE; #define DRM_BACKUP_OVERWRITE ((DWORD) 0x00000001) #define DRM_RESTORE_INDIVIDUALIZE ((DWORD) 0x00000002) extern RPC_IF_HANDLE __MIDL_itf_drmexternals_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_drmexternals_0000_v0_0_s_ifspec; #ifndef __IDRMStatusCallback_INTERFACE_DEFINED__ #define __IDRMStatusCallback_INTERFACE_DEFINED__ /* interface IDRMStatusCallback */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IDRMStatusCallback; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("08548704-75B1-4982-9B26-FB385DEE741D") IDRMStatusCallback : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnStatus( /* [in] */ MSDRM_STATUS Status, /* [in] */ HRESULT hr, /* [in] */ DRM_ATTR_DATATYPE dwType, /* [in] */ BYTE __RPC_FAR *pValue, /* [in] */ void __RPC_FAR *pvContext) = 0; }; #else /* C style interface */ typedef struct IDRMStatusCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( IDRMStatusCallback __RPC_FAR * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( IDRMStatusCallback __RPC_FAR * This); ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( IDRMStatusCallback __RPC_FAR * This); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStatus )( IDRMStatusCallback __RPC_FAR * This, /* [in] */ MSDRM_STATUS Status, /* [in] */ HRESULT hr, /* [in] */ DRM_ATTR_DATATYPE dwType, /* [in] */ BYTE __RPC_FAR *pValue, /* [in] */ void __RPC_FAR *pvContext); END_INTERFACE } IDRMStatusCallbackVtbl; interface IDRMStatusCallback { CONST_VTBL struct IDRMStatusCallbackVtbl __RPC_FAR *lpVtbl; }; #ifdef COBJMACROS #define IDRMStatusCallback_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IDRMStatusCallback_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IDRMStatusCallback_Release(This) \ (This)->lpVtbl -> Release(This) #define IDRMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \ (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext) #endif /* COBJMACROS */ #endif /* C style interface */ HRESULT STDMETHODCALLTYPE IDRMStatusCallback_OnStatus_Proxy( IDRMStatusCallback __RPC_FAR * This, /* [in] */ MSDRM_STATUS Status, /* [in] */ HRESULT hr, /* [in] */ DRM_ATTR_DATATYPE dwType, /* [in] */ BYTE __RPC_FAR *pValue, /* [in] */ void __RPC_FAR *pvContext); void __RPC_STUB IDRMStatusCallback_OnStatus_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif /* __IDRMStatusCallback_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_drmexternals_0110 */ /* [local] */ #define DRM_ENCRYPT_CONTENT_ASFv1 0x1001 #define DRM_ENCRYPT_CONTENT_ASFv2 0x1002 typedef struct _DRMBUF { unsigned long len; char __RPC_FAR *buf; } DRMBUF; typedef struct _DRMBUF __RPC_FAR *PDRMBUF; extern RPC_IF_HANDLE __MIDL_itf_drmexternals_0110_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_drmexternals_0110_v0_0_s_ifspec; /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif