You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.6 KiB
59 lines
1.6 KiB
///////////////////////////////////////////////////////////////////////////////
|
|
// Autoplay Handler
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
#ifndef _SETTINGS_H
|
|
#define _SETTINGS_H
|
|
|
|
#include "unk.h"
|
|
#include "misc.h"
|
|
|
|
#include <shpriv.h>
|
|
|
|
class CAutoplayHandlerImpl : public CCOMBase, public IAutoplayHandler
|
|
{
|
|
public:
|
|
// Interface IAutoplayHandler
|
|
STDMETHODIMP Init(LPCWSTR pszDeviceID, LPCWSTR pszEventType);
|
|
STDMETHODIMP InitWithContent(LPCWSTR pszDeviceID, LPCWSTR pszEventType,
|
|
LPCWSTR pszContentTypeHandler);
|
|
|
|
STDMETHODIMP EnumHandlers(IEnumAutoplayHandler** ppenum);
|
|
|
|
STDMETHODIMP GetDefaultHandler(LPWSTR* ppszHandler);
|
|
STDMETHODIMP SetDefaultHandler(LPCWSTR pszHandler);
|
|
|
|
public:
|
|
CAutoplayHandlerImpl();
|
|
|
|
private:
|
|
HRESULT _Init(LPCWSTR pszDeviceID, LPCWSTR pszEventType);
|
|
|
|
private:
|
|
WCHAR _szEventHandler[MAX_EVENTHANDLER];
|
|
WCHAR _szDeviceIDReal[MAX_DEVICEID];
|
|
BOOL _fInited;
|
|
};
|
|
|
|
typedef CUnkTmpl<CAutoplayHandlerImpl> CAutoplayHandler;
|
|
|
|
class CAutoplayHandlerPropertiesImpl : public CCOMBase,
|
|
public IAutoplayHandlerProperties
|
|
{
|
|
public:
|
|
// Interface IAutoplayHandlerProperties
|
|
STDMETHODIMP Init(LPCWSTR pszHandler);
|
|
|
|
STDMETHODIMP GetInvokeProgIDAndVerb(LPWSTR* ppszInvokeProgID,
|
|
LPWSTR* ppszInvokeVerb);
|
|
|
|
public:
|
|
CAutoplayHandlerPropertiesImpl();
|
|
|
|
private:
|
|
WCHAR _szHandler[MAX_HANDLER];
|
|
BOOL _fInited;
|
|
};
|
|
|
|
typedef CUnkTmpl<CAutoplayHandlerPropertiesImpl> CAutoplayHandlerProperties;
|
|
|
|
#endif // _SETTINGS_H
|