Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygensti.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2009 Damjan Jovanovic 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 #ifndef __WINE_STI_H 00020 #define __WINE_STI_H 00021 00022 #include <objbase.h> 00023 /* #include <stireg.h> */ 00024 /* #include <stierr.h> */ 00025 00026 #include <pshpack8.h> 00027 00028 #ifdef __cplusplus 00029 extern "C" { 00030 #endif 00031 00032 DEFINE_GUID(CLSID_Sti, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C); 00033 00034 DEFINE_GUID(IID_IStillImageW, 0x641BD880, 0x2DC8, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C); 00035 00036 DEFINE_GUID(IID_IStillImageA, 0xA7B1F740, 0x1D7F, 0x11D1, 0xAC, 0xA9, 0x00, 0xA0, 0x24, 0x38, 0xAD, 0x48); 00037 00038 #define STI_VERSION_REAL 0x00000002 00039 #define STI_VERSION_FLAG_UNICODE 0x01000000 00040 00041 #ifndef WINE_NO_UNICODE_MACROS 00042 # ifdef UNICODE 00043 # define STI_VERSION (STI_VERSION_REAL | STI_VERSION_FLAG_UNICODE) 00044 # else 00045 # define STI_VERSION (STI_VERSION_REAL) 00046 # endif 00047 #endif 00048 00049 typedef struct IStillImageA *PSTIA; 00050 typedef struct IStillImageW *PSTIW; 00051 DECL_WINELIB_TYPE_AW(PSTI) 00052 typedef struct IStillImageA *LPSTILLIMAGEA; 00053 typedef struct IStillImageW *LPSTILLIMAGEW; 00054 DECL_WINELIB_TYPE_AW(LPSTILLIMAGE) 00055 typedef struct IStiDeviceA *PSTIDEVICEA; 00056 typedef struct IStiDeviceW *PSTIDEVICEW; 00057 DECL_WINELIB_TYPE_AW(PSTIDEVICE) 00058 00059 HRESULT WINAPI StiCreateInstanceA(HINSTANCE hinst, DWORD dwVer, PSTIA *ppSti, LPUNKNOWN pUnkOuter); 00060 HRESULT WINAPI StiCreateInstanceW(HINSTANCE hinst, DWORD dwVer, PSTIW *ppSti, LPUNKNOWN pUnkOuter); 00061 #define StiCreateInstance WINELIB_NAME_AW(StiCreateInstance) 00062 00063 typedef DWORD STI_DEVICE_TYPE; 00064 typedef enum _STI_DEVICE_MJ_TYPE 00065 { 00066 StiDeviceTypeDefault = 0, 00067 StiDeviceTypeScanner = 1, 00068 StiDeviceTypeDigitalCamera = 2, 00069 StiDeviceTypeStreamingVideo = 3 00070 } STI_DEVICE_MJ_TYPE; 00071 00072 #define GET_STIDEVICE_TYPE(dwDevType) HIWORD(dwDevType) 00073 #define GET_STIDEVICE_SUBTYPE(dwDevType) LOWORD(dwDevType) 00074 00075 typedef struct _STI_DEV_CAPS { 00076 DWORD dwGeneric; 00077 } STI_DEV_CAPS, *PSTI_DEV_CAPS; 00078 00079 #define STI_MAX_INTERNAL_NAME_LENGTH 128 00080 00081 typedef struct _STI_DEVICE_INFORMATIONW { 00082 DWORD dwSize; 00083 STI_DEVICE_TYPE DeviceType; 00084 WCHAR szDeviceInternalName[STI_MAX_INTERNAL_NAME_LENGTH]; 00085 STI_DEV_CAPS DeviceCapabilities; 00086 DWORD dwHardwareConfiguration; 00087 LPWSTR pszVendorDescription; 00088 LPWSTR pszDeviceDescription; 00089 LPWSTR pszPortName; 00090 LPWSTR pszPropProvider; 00091 LPWSTR pszLocalName; 00092 } STI_DEVICE_INFORMATIONW, *PSTI_DEVICE_INFORMATIONW; 00093 00094 typedef STI_DEVICE_INFORMATIONW STI_DEVICE_INFORMATION; 00095 typedef PSTI_DEVICE_INFORMATIONW PSTI_DEVICE_INFORMATION; 00096 00097 #define MAX_NOTIFICATION_DATA 64 00098 00099 typedef struct _STINOTIFY { 00100 DWORD dwSize; 00101 GUID guidNotificationCode; 00102 BYTE abNotificationData[MAX_NOTIFICATION_DATA]; 00103 } STINOTIFY,*LPSTINOTIFY; 00104 00105 #define INTERFACE IStillImageW 00106 DECLARE_INTERFACE_(IStillImageW, IUnknown) 00107 { 00108 /*** IUnknown methods ***/ 00109 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; 00110 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 00111 STDMETHOD_(ULONG,Release)(THIS) PURE; 00112 /*** IStillImageW methods ***/ 00113 STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE; 00114 STDMETHOD(GetDeviceList)(THIS_ DWORD dwType, DWORD dwFlags, DWORD *pdwItemsReturned, LPVOID *ppBuffer) PURE; 00115 STDMETHOD(GetDeviceInfo)(THIS_ LPWSTR pwszDeviceName, LPVOID *ppBuffer) PURE; 00116 STDMETHOD(CreateDevice)(THIS_ LPWSTR pwszDeviceName, DWORD dwMode, PSTIDEVICEW *pDevice, LPUNKNOWN pUnkOuter) PURE; 00117 STDMETHOD(GetDeviceValue)(THIS_ LPWSTR pwszDeviceName, LPWSTR pValueName, LPDWORD pType, LPBYTE pData, LPDWORD cbData) PURE; 00118 STDMETHOD(SetDeviceValue)(THIS_ LPWSTR pwszDeviceName, LPWSTR pValueName, DWORD type, LPBYTE pData, DWORD cbData) PURE; 00119 STDMETHOD(GetSTILaunchInformation)(THIS_ LPWSTR pwszDeviceName, DWORD *pdwEventCode, LPWSTR pwszEventName) PURE; 00120 STDMETHOD(RegisterLaunchApplication)(THIS_ LPWSTR pwszAppName, LPWSTR pwszCommandLine) PURE; 00121 STDMETHOD(UnregisterLaunchApplication)(THIS_ LPWSTR pwszAppName) PURE; 00122 STDMETHOD(EnableHwNotifications)(THIS_ LPCWSTR pwszDeviceName, BOOL bNewState) PURE; 00123 STDMETHOD(GetHwNotificationState)(THIS_ LPCWSTR pwszDeviceName, BOOL *pbCurrentState) PURE; 00124 STDMETHOD(RefreshDeviceBus)(THIS_ LPCWSTR pwszDeviceName) PURE; 00125 STDMETHOD(LaunchApplicationForDevice)(THIS_ LPWSTR pwszDeviceName, LPWSTR pwszAppName, LPSTINOTIFY pStiNotify); 00126 STDMETHOD(SetupDeviceParameters)(THIS_ PSTI_DEVICE_INFORMATIONW pDevInfo); 00127 STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType, LPCWSTR pszMessage) PURE; 00128 }; 00129 #undef INTERFACE 00130 00131 #if !defined(__cplusplus) || defined(CINTERFACE) 00132 /*** IUnknown methods ***/ 00133 #define IStillImage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 00134 #define IStillImage_AddRef(p) (p)->lpVtbl->AddRef(p) 00135 #define IStillImage_Release(p) (p)->lpVtbl->Release(p) 00136 /*** IStillImage methods ***/ 00137 #define IStillImage_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 00138 #define IStillImage_GetDeviceList(p,a,b,c,d) (p)->lpVtbl->GetDeviceList(p,a,b,c,d) 00139 #define IStillImage_GetDeviceInfo(p,a,b) (p)->lpVtbl->GetDeviceInfo(p,a,b) 00140 #define IStillImage_CreateDevice(p,a,b,c,d) (p)->lpVtbl->CreateDevice(p,a,b,c,d) 00141 #define IStillImage_GetDeviceValue(p,a,b,c,d,e) (p)->lpVtbl->GetDeviceValue(p,a,b,c,d,e) 00142 #define IStillImage_SetDeviceValue(p,a,b,c,d,e) (p)->lpVtbl->SetDeviceValue(p,a,b,c,d,e) 00143 #define IStillImage_GetSTILaunchInformation(p,a,b,c) (p)->lpVtbl->GetSTILaunchInformation(p,a,b,c) 00144 #define IStillImage_RegisterLaunchApplication(p,a,b) (p)->lpVtbl->RegisterLaunchApplication(p,a,b) 00145 #define IStillImage_UnregisterLaunchApplication(p,a) (p)->lpVtbl->UnregisterLaunchApplication(p,a) 00146 #define IStillImage_EnableHwNotifications(p,a,b) (p)->lpVtbl->EnableHwNotifications(p,a,b) 00147 #define IStillImage_GetHwNotificationState(p,a,b) (p)->lpVtbl->GetHwNotificationState(p,a,b) 00148 #define IStillImage_RefreshDeviceBus(p,a) (p)->lpVtbl->RefreshDeviceBus(p,a) 00149 #define IStillImage_LaunchApplicationForDevice(p,a,b,c) (p)->lpVtbl->LaunchApplicationForDevice(p,a,b,c) 00150 #define IStillImage_SetupDeviceParameters(p,a) (p)->lpVtbl->SetupDeviceParameters(p,a) 00151 #define IStillImage_WriteToErrorLog(p,a,b) (p)->lpVtbl->WriteToErrorLog(p,a,b) 00152 #else 00153 /*** IUnknown methods ***/ 00154 #define IStillImage_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 00155 #define IStillImage_AddRef(p) (p)->AddRef() 00156 #define IStillImage_Release(p) (p)->Release() 00157 /*** IStillImage methods ***/ 00158 #define IStillImage_Initialize(p,a,b) (p)->Initialize(a,b) 00159 #define IStillImage_GetDeviceList(p,a,b,c,d) (p)->GetDeviceList(a,b,c,d) 00160 #define IStillImage_GetDeviceInfo(p,a,b) (p)->GetDeviceInfo(a,b) 00161 #define IStillImage_CreateDevice(p,a,b,c,d) (p)->CreateDevice(a,b,c,d) 00162 #define IStillImage_GetDeviceValue(p,a,b,c,d,e) (p)->GetDeviceValue(a,b,c,d,e) 00163 #define IStillImage_SetDeviceValue(p,a,b,c,d,e) (p)->SetDeviceValue(a,b,c,d,e) 00164 #define IStillImage_GetSTILaunchInformation(p,a,b,c) (p)->GetSTILaunchInformation(a,b,c) 00165 #define IStillImage_RegisterLaunchApplication(p,a,b) (p)->RegisterLaunchApplication(a,b) 00166 #define IStillImage_UnregisterLaunchApplication(p,a) (p)->UnregisterLaunchApplication(a) 00167 #define IStillImage_EnableHwNotifications(p,a,b) (p)->EnableHwNotifications(a,b) 00168 #define IStillImage_GetHwNotificationState(p,a,b) (p)->GetHwNotificationState(a,b) 00169 #define IStillImage_RefreshDeviceBus(p,a) (p)->RefreshDeviceBus(a) 00170 #define IStillImage_LaunchApplicationForDevice(p,a,b,c) (p)->LaunchApplicationForDevice(a,b,c) 00171 #define IStillImage_SetupDeviceParameters(p,a) (p)->SetupDeviceParameters(a) 00172 #define IStillImage_WriteToErrorLog(p,a,b) (p)->WriteToErrorLog(a,b) 00173 #endif 00174 00175 #ifdef __cplusplus 00176 } 00177 #endif 00178 00179 #include <poppack.h> 00180 00181 #endif /* __WINE_STI_H */ Generated on Sat May 26 2012 04:31:12 for ReactOS by
1.7.6.1
|