| sti.h (6.1.7600.16385-Windows_7.0) | | sti.h (6.3.9600.17415-Windows_8.1) |
| | |
| skipping to change at line 19 | | skipping to change at line 19 |
| Abstract: | | Abstract: |
| | |
| This module contains the user mode still image APIs in COM format | | This module contains the user mode still image APIs in COM format |
| | |
| Revision History: | | Revision History: |
| | |
| --*/ | | --*/ |
| | |
| #ifndef _STICOM_ | | #ifndef _STICOM_ |
| #define _STICOM_ | | #define _STICOM_ |
|
| | #include <winapifamily.h> |
| | |
| | #pragma region Desktop Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| | |
| // | | // |
| // Set packing | | // Set packing |
| // | | // |
| #include <pshpack8.h> | | #include <pshpack8.h> |
| | |
| // | | // |
| // Only use UNICODE STI interfaces | | // Only use UNICODE STI interfaces |
| // | | // |
| #define STI_UNICODE 1 | | #define STI_UNICODE 1 |
| | |
| skipping to change at line 51 | | skipping to change at line 55 |
| // Compiler pragmas | | // Compiler pragmas |
| // | | // |
| #pragma warning(disable:4200) // warning about zero-sized arrays being non
-stadard C extension | | #pragma warning(disable:4200) // warning about zero-sized arrays being non
-stadard C extension |
| | |
| #define DLLEXP __declspec( dllexport ) | | #define DLLEXP __declspec( dllexport ) |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C" { | | extern "C" { |
| #endif | | #endif |
| | |
|
| #if defined( _WIN32 ) && !defined( _NO_COM) | | #ifndef _NO_COM |
| | |
| /* | | /* |
| * Class IID's | | * Class IID's |
| */ | | */ |
| | |
| // B323F8E0-2E68-11D0-90EA-00AA0060F86C | | // B323F8E0-2E68-11D0-90EA-00AA0060F86C |
| DEFINE_GUID(CLSID_Sti, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00
, 0x60, 0xF8, 0x6C); | | DEFINE_GUID(CLSID_Sti, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00
, 0x60, 0xF8, 0x6C); |
| | |
| /* | | /* |
| * Interface IID's | | * Interface IID's |
| | |
| skipping to change at line 648 | | skipping to change at line 652 |
| * | | * |
| * Top level STI access interface. | | * Top level STI access interface. |
| * | | * |
| */ | | */ |
| | |
| #undef INTERFACE | | #undef INTERFACE |
| #define INTERFACE IStillImageW | | #define INTERFACE IStillImageW |
| DECLARE_INTERFACE_(IStillImageW, IUnknown) | | DECLARE_INTERFACE_(IStillImageW, IUnknown) |
| { | | { |
| /*** IUnknown methods ***/ | | /*** IUnknown methods ***/ |
|
| STDMETHOD(QueryInterface) (THIS_ __in REFIID riid, __deref_out LPVOID* ppvOb
j) PURE; | | STDMETHOD(QueryInterface) (THIS_ _In_ REFIID riid, _Outptr_ LPVOID* ppvObj)
PURE; |
| STDMETHOD_(ULONG, AddRef) (THIS) PURE; | | STDMETHOD_(ULONG, AddRef) (THIS) PURE; |
| STDMETHOD_(ULONG, Release) (THIS) PURE; | | STDMETHOD_(ULONG, Release) (THIS) PURE; |
| | |
| /*** IStillImage methods ***/ | | /*** IStillImage methods ***/ |
|
| STDMETHOD(Initialize) (THIS_ __in HINSTANCE hinst,DWORD dwVersion) PURE; | | STDMETHOD(Initialize) (THIS_ _In_ HINSTANCE hinst,DWORD dwVersion) PURE; |
| | |
|
| STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags, __out DWORD *pdwI | | STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags, _Out_ DWORD *pdwI |
| temsReturned, __out LPVOID *ppBuffer) PURE; | | temsReturned, _Out_ LPVOID *ppBuffer) PURE; |
| STDMETHOD(GetDeviceInfo)(THIS_ __in LPWSTR pwszDeviceName, __out LPVOID *pp | | STDMETHOD(GetDeviceInfo)(THIS_ _In_ LPWSTR pwszDeviceName, _Out_ LPVOID *pp |
| Buffer) PURE; | | Buffer) PURE; |
| | |
|
| STDMETHOD(CreateDevice) (THIS_ __in LPWSTR pwszDeviceName, DWORD dwMode, __
out PSTIDEVICE *pDevice, __in_opt LPUNKNOWN punkOuter) PURE; | | STDMETHOD(CreateDevice) (THIS_ _In_ LPWSTR pwszDeviceName, DWORD dwMode, _O
ut_ PSTIDEVICE *pDevice, _In_opt_ LPUNKNOWN punkOuter) PURE; |
| | |
| // | | // |
| // Device instance values. Used to associate various data with device. | | // Device instance values. Used to associate various data with device. |
| // | | // |
|
| STDMETHOD(GetDeviceValue)(THIS_ __in LPWSTR pwszDeviceName, __in LPWSTR pVal | | STDMETHOD(GetDeviceValue)(THIS_ _In_ LPWSTR pwszDeviceName, _In_ LPWSTR pVal |
| ueName, __out LPDWORD pType, __out_bcount(*cbData) LPBYTE pData, __inout LPDWORD | | ueName, _Out_ LPDWORD pType, _Out_writes_bytes_(*cbData) LPBYTE pData, _Inout_ L |
| cbData); | | PDWORD cbData); |
| STDMETHOD(SetDeviceValue)(THIS_ __in LPWSTR pwszDeviceName, __in LPWSTR pVal | | STDMETHOD(SetDeviceValue)(THIS_ _In_ LPWSTR pwszDeviceName, _In_ LPWSTR pVal |
| ueName, DWORD Type, __in_bcount(cbData) LPBYTE pData, DWORD cbData); | | ueName, DWORD Type, _In_reads_bytes_(cbData) LPBYTE pData, DWORD cbData); |
| | |
| // | | // |
| // For appllication started through push model launch, returns associated in
formation | | // For appllication started through push model launch, returns associated in
formation |
| // | | // |
|
| STDMETHOD(GetSTILaunchInformation)(THIS_ __out_ecount(STI_MAX_INTERNAL_NAME_ | | STDMETHOD(GetSTILaunchInformation)(THIS_ _Out_writes_(STI_MAX_INTERNAL_NAME_ |
| LENGTH) LPWSTR pwszDeviceName, __out_opt DWORD *pdwEventCode, __out_ecount(STI_M | | LENGTH) LPWSTR pwszDeviceName, _Out_opt_ DWORD *pdwEventCode, _Out_writes_(STI_M |
| AX_INTERNAL_NAME_LENGTH) LPWSTR pwszEventName) PURE; | | AX_INTERNAL_NAME_LENGTH) LPWSTR pwszEventName) PURE; |
| STDMETHOD(RegisterLaunchApplication)(THIS_ __in LPWSTR pwszAppName, __in LPW | | STDMETHOD(RegisterLaunchApplication)(THIS_ _In_ LPWSTR pwszAppName, _In_ LPW |
| STR pwszCommandLine) PURE; | | STR pwszCommandLine) PURE; |
| STDMETHOD(UnregisterLaunchApplication)(THIS_ __in LPWSTR pwszAppName) PURE; | | STDMETHOD(UnregisterLaunchApplication)(THIS_ _In_ LPWSTR pwszAppName) PURE; |
| | |
| // | | // |
| // To control state of notification handling. For polled devices this means
state of monitor | | // To control state of notification handling. For polled devices this means
state of monitor |
| // polling, for true notification devices means enabling/disabling notificat
ion flow | | // polling, for true notification devices means enabling/disabling notificat
ion flow |
| // from monitor to registered applications | | // from monitor to registered applications |
| // | | // |
|
| STDMETHOD(EnableHwNotifications)(THIS_ __in LPCWSTR pwszDeviceName, BOOL bNe | | STDMETHOD(EnableHwNotifications)(THIS_ _In_ LPCWSTR pwszDeviceName, BOOL bNe |
| wState) PURE; | | wState) PURE; |
| STDMETHOD(GetHwNotificationState)(THIS_ __in LPCWSTR pwszDeviceName, __out B | | STDMETHOD(GetHwNotificationState)(THIS_ _In_ LPCWSTR pwszDeviceName, _Out_ B |
| OOL *pbCurrentState) PURE; | | OOL *pbCurrentState) PURE; |
| | |
| // | | // |
| // When device is installed but not accessible, application may request bus
refresh | | // When device is installed but not accessible, application may request bus
refresh |
| // which in some cases will make device known. This is mainly used for nonPn
P buses | | // which in some cases will make device known. This is mainly used for nonPn
P buses |
| // like SCSI, when device was powered on after PnP enumeration | | // like SCSI, when device was powered on after PnP enumeration |
| // | | // |
| // | | // |
|
| STDMETHOD(RefreshDeviceBus)(THIS_ __in LPCWSTR pwszDeviceName) PURE; | | STDMETHOD(RefreshDeviceBus)(THIS_ _In_ LPCWSTR pwszDeviceName) PURE; |
| | |
| // | | // |
| // Launch application to emulate event on a device. Used by "control center"
style components, | | // Launch application to emulate event on a device. Used by "control center"
style components, |
| // which intercept device event , analyze and later force launch based on ce
rtain criteria. | | // which intercept device event , analyze and later force launch based on ce
rtain criteria. |
| // | | // |
|
| STDMETHOD(LaunchApplicationForDevice)(THIS_ __in LPWSTR pwszDeviceName, __in
LPWSTR pwszAppName, __in LPSTINOTIFY pStiNotify); | | STDMETHOD(LaunchApplicationForDevice)(THIS_ _In_ LPWSTR pwszDeviceName, _In_
LPWSTR pwszAppName, _In_ LPSTINOTIFY pStiNotify); |
| | |
| // | | // |
| // For non-PnP devices with non-known bus type connection, setup extension,
associated with the | | // For non-PnP devices with non-known bus type connection, setup extension,
associated with the |
| // device can set it's parameters | | // device can set it's parameters |
| // | | // |
|
| STDMETHOD(SetupDeviceParameters)(THIS_ __inout PSTI_DEVICE_INFORMATIONW); | | STDMETHOD(SetupDeviceParameters)(THIS_ _Inout_ PSTI_DEVICE_INFORMATIONW); |
| | |
| // | | // |
| // Write message to STI error log | | // Write message to STI error log |
| // | | // |
|
| STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType, __in LPCWSTR pszMessag
e) PURE; | | STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType, _In_ LPCWSTR pszMessag
e) PURE; |
| | |
| #ifdef NOT_IMPLEMENTED | | #ifdef NOT_IMPLEMENTED |
| | |
| // | | // |
| // TO register application for receiving various STI notifications | | // TO register application for receiving various STI notifications |
| // | | // |
|
| STIMETHOD(RegisterDeviceNotification(THIS_ __in LPWSTR pwszAppName, __in
out LPSUBSCRIBE lpSubscribe) PURE; | | STIMETHOD(RegisterDeviceNotification(THIS_ _In_ LPWSTR pwszAppName, _Ino
ut_ LPSUBSCRIBE lpSubscribe) PURE; |
| STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE; | | STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE; |
| | |
| #endif //NOT_IMPLEMENTED | | #endif //NOT_IMPLEMENTED |
| | |
| }; | | }; |
| | |
| typedef struct IStillImageW *LPSTILLIMAGEW; | | typedef struct IStillImageW *LPSTILLIMAGEW; |
| | |
| #if defined(UNICODE) || defined(STI_UNICODE) | | #if defined(UNICODE) || defined(STI_UNICODE) |
| #define IStillImageVtbl IStillImageWVtbl | | #define IStillImageVtbl IStillImageWVtbl |
| | |
| skipping to change at line 758 | | skipping to change at line 762 |
| * IStillImage_Device interface | | * IStillImage_Device interface |
| * | | * |
| * This is generic per device interface. Specialized interfaces are also | | * This is generic per device interface. Specialized interfaces are also |
| * available | | * available |
| */ | | */ |
| #undef INTERFACE | | #undef INTERFACE |
| #define INTERFACE IStiDevice | | #define INTERFACE IStiDevice |
| DECLARE_INTERFACE_(IStiDevice, IUnknown) | | DECLARE_INTERFACE_(IStiDevice, IUnknown) |
| { | | { |
| /*** IUnknown methods ***/ | | /*** IUnknown methods ***/ |
|
| STDMETHOD(QueryInterface) (THIS_ __in REFIID riid, __deref_out LPVOID* ppvOb
j) PURE; | | STDMETHOD(QueryInterface) (THIS_ _In_ REFIID riid, _Outptr_ LPVOID* ppvObj)
PURE; |
| STDMETHOD_(ULONG, AddRef) (THIS) PURE; | | STDMETHOD_(ULONG, AddRef) (THIS) PURE; |
| STDMETHOD_(ULONG, Release) (THIS) PURE; | | STDMETHOD_(ULONG, Release) (THIS) PURE; |
| | |
| /*** IStiDevice methods ***/ | | /*** IStiDevice methods ***/ |
|
| STDMETHOD(Initialize) (THIS_ __in HINSTANCE hinst, __in LPCWSTR pwszDeviceNa
me, DWORD dwVersion, DWORD dwMode) PURE; | | STDMETHOD(Initialize) (THIS_ _In_ HINSTANCE hinst, _In_ LPCWSTR pwszDeviceNa
me, DWORD dwVersion, DWORD dwMode) PURE; |
| | |
|
| STDMETHOD(GetCapabilities) (THIS_ __inout PSTI_DEV_CAPS pDevCaps) PURE; | | STDMETHOD(GetCapabilities) (THIS_ _Inout_ PSTI_DEV_CAPS pDevCaps) PURE; |
| | |
|
| STDMETHOD(GetStatus) (THIS_ __inout PSTI_DEVICE_STATUS pDevStatus) PURE; | | STDMETHOD(GetStatus) (THIS_ _Inout_ PSTI_DEVICE_STATUS pDevStatus) PURE; |
| | |
| STDMETHOD(DeviceReset)(THIS) PURE; | | STDMETHOD(DeviceReset)(THIS) PURE; |
|
| STDMETHOD(Diagnostic)(THIS_ __inout LPSTI_DIAG pBuffer) PURE; | | STDMETHOD(Diagnostic)(THIS_ _Inout_ LPSTI_DIAG pBuffer) PURE; |
| | |
|
| STDMETHOD(Escape)(THIS_ STI_RAW_CONTROL_CODE EscapeFunction, __in_bcount(cbI | | STDMETHOD(Escape)(THIS_ STI_RAW_CONTROL_CODE EscapeFunction, _In_reads_bytes |
| nDataSize) LPVOID lpInData, DWORD cbInDataSize, | | _(cbInDataSize) LPVOID lpInData, DWORD cbInDataSize, |
| __inout_bcount_part(dwOutDataSize, *pdwActualData) LPVOID pOutData, DWOR | | _Inout_updates_bytes_to_(dwOutDataSize, *pdwActualData) LPVOID pOutData, |
| D dwOutDataSize, __out LPDWORD pdwActualData) PURE ; | | DWORD dwOutDataSize, _Out_ LPDWORD pdwActualData) PURE ; |
| | |
|
| STDMETHOD(GetLastError) (THIS_ __out LPDWORD pdwLastDeviceError) PURE; | | STDMETHOD(GetLastError) (THIS_ _Out_ LPDWORD pdwLastDeviceError) PURE; |
| | |
| STDMETHOD(LockDevice) (THIS_ DWORD dwTimeOut) PURE; | | STDMETHOD(LockDevice) (THIS_ DWORD dwTimeOut) PURE; |
| STDMETHOD(UnLockDevice) (THIS) PURE; | | STDMETHOD(UnLockDevice) (THIS) PURE; |
| | |
|
| STDMETHOD(RawReadData)(THIS_ __inout_bcount(*lpdwNumberOfBytes) LPVOID lpBuf | | STDMETHOD(RawReadData)(THIS_ _Inout_updates_bytes_(*lpdwNumberOfBytes) LPVOI |
| fer, __inout LPDWORD lpdwNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) PURE | | D lpBuffer, _Inout_ LPDWORD lpdwNumberOfBytes, _In_opt_ LPOVERLAPPED lpOverlappe |
| ; | | d) PURE; |
| STDMETHOD(RawWriteData)(THIS_ __in_bcount(nNumberOfBytes) LPVOID lpBuffer, D | | STDMETHOD(RawWriteData)(THIS_ _In_reads_bytes_(nNumberOfBytes) LPVOID lpBuff |
| WORD nNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) PURE; | | er, DWORD nNumberOfBytes, _In_opt_ LPOVERLAPPED lpOverlapped) PURE; |
| | |
|
| STDMETHOD(RawReadCommand)(THIS_ __inout_bcount(*lpdwNumberOfBytes) LPVOID lp | | STDMETHOD(RawReadCommand)(THIS_ _Inout_updates_bytes_(*lpdwNumberOfBytes) LP |
| Buffer, __inout LPDWORD lpdwNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) P | | VOID lpBuffer, _Inout_ LPDWORD lpdwNumberOfBytes, _In_opt_ LPOVERLAPPED lpOverla |
| URE; | | pped) PURE; |
| STDMETHOD(RawWriteCommand)(THIS_ __in_bcount(nNumberOfBytes) LPVOID lpBuffer | | STDMETHOD(RawWriteCommand)(THIS_ _In_reads_bytes_(nNumberOfBytes) LPVOID lpB |
| , DWORD nNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) PURE; | | uffer, DWORD nNumberOfBytes, _In_opt_ LPOVERLAPPED lpOverlapped) PURE; |
| | |
| // | | // |
| // Subscription is used to enable "control center" style applications , wher
e flow of | | // Subscription is used to enable "control center" style applications , wher
e flow of |
| // notifications should be redirected from monitor itself to another "launch
er" | | // notifications should be redirected from monitor itself to another "launch
er" |
| // | | // |
|
| STDMETHOD(Subscribe)(THIS_ __inout LPSTISUBSCRIBE lpSubsribe) PURE; | | STDMETHOD(Subscribe)(THIS_ _Inout_ LPSTISUBSCRIBE lpSubsribe) PURE; |
| STDMETHOD(GetLastNotificationData)(THIS_ __out LPSTINOTIFY lpNotify) PURE; | | STDMETHOD(GetLastNotificationData)(THIS_ _Out_ LPSTINOTIFY lpNotify) PURE; |
| STDMETHOD(UnSubscribe)(THIS) PURE; | | STDMETHOD(UnSubscribe)(THIS) PURE; |
| | |
|
| STDMETHOD(GetLastErrorInfo) (THIS_ __out STI_ERROR_INFO *pLastErrorInfo) PUR
E; | | STDMETHOD(GetLastErrorInfo) (THIS_ _Out_ STI_ERROR_INFO *pLastErrorInfo) PUR
E; |
| }; | | }; |
| | |
| #if !defined(__cplusplus) || defined(CINTERFACE) | | #if !defined(__cplusplus) || defined(CINTERFACE) |
| | |
| #define IStiDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,
b) | | #define IStiDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,
b) |
| #define IStiDevice_AddRef(p) (p)->lpVtbl->AddRef(p) | | #define IStiDevice_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IStiDevice_Release(p) (p)->lpVtbl->Release(p) | | #define IStiDevice_Release(p) (p)->lpVtbl->Release(p) |
| #define IStiDevice_Initialize(p,a,b,c,d) (p)->lpVtbl->Initialize(p,a,b,c,
d) | | #define IStiDevice_Initialize(p,a,b,c,d) (p)->lpVtbl->Initialize(p,a,b,c,
d) |
| | |
| #define IStiDevice_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a
) | | #define IStiDevice_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a
) |
| | |
| skipping to change at line 837 | | skipping to change at line 841 |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| }; | | }; |
| #endif | | #endif |
| | |
| // | | // |
| // Reset packing | | // Reset packing |
| // | | // |
| #include <poppack.h> | | #include <poppack.h> |
| | |
|
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| | #pragma endregion |
| | |
| #endif // _STICOM_ | | #endif // _STICOM_ |
| | |
| End of changes. 26 change blocks. |
| 51 lines changed or deleted | | 58 lines changed or added |
|