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.
225 lines
5.8 KiB
225 lines
5.8 KiB
/*++
|
|
|
|
Copyright (c) 1997 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
stirpc.idl
|
|
|
|
Abstract:
|
|
|
|
Contains the Stii Image Input R_StiApi API definitions
|
|
Also contains the R_StiApi specific data structures for these API.
|
|
|
|
Author:
|
|
|
|
Vlad Sadovsky (vlads) 10-Jan-1997
|
|
|
|
Environment:
|
|
|
|
User Mode - Win32 - MIDL
|
|
|
|
Revision History:
|
|
|
|
26-Jan-1997 VladS created
|
|
|
|
--*/
|
|
|
|
|
|
//
|
|
// Interface Attributes
|
|
//
|
|
|
|
[
|
|
uuid(8C7A6DE0-788D-11D0-9EDF-444553540000),
|
|
version(2.0),
|
|
#ifdef __midl
|
|
ms_union,
|
|
#endif // __midl
|
|
pointer_default(unique)
|
|
]
|
|
|
|
|
|
//
|
|
// Interface Keyword
|
|
//
|
|
|
|
interface stirpc
|
|
|
|
|
|
//
|
|
// Interface Body
|
|
//
|
|
|
|
{
|
|
import "imports.idl";
|
|
|
|
//
|
|
// ---------------------------------------------------------------//
|
|
//
|
|
|
|
|
|
typedef [handle] LPCWSTR STI_STRING_HANDLE;
|
|
typedef [context_handle] HANDLE STI_DEVICE_HANDLE;
|
|
typedef [context_handle] HANDLE STI_CLIENT_CONTEXT;
|
|
|
|
typedef struct _NOTIFY_DATA_CONTAINER {
|
|
DWORD cbNotifyData;
|
|
[size_is(cbNotifyData), unique] BYTE *pNotifyData;
|
|
} NOTIFY_DATA_CONTAINER, *PNOTIFY_DATA_CONTAINER, *LPNOTIFY_DATA_CONTAINER;
|
|
|
|
typedef struct _LOCAL_SUBSCRIBE_CONTAINER {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwFilter;
|
|
|
|
UINT_PTR upLocalWindowHandle;
|
|
UINT_PTR upLocalEventHandle;
|
|
|
|
UINT uiNotificationMessage;
|
|
} LOCAL_SUBSCRIBE_CONTAINER, *PLOCAL_SUBSCRIBE_CONTAINER;
|
|
|
|
cpp_quote("#ifndef _tagBLOB_DEFINED")
|
|
/* IDL declarations for BSTR how to transmit them */
|
|
typedef struct _FLAGGED_WORD_BLOB {
|
|
unsigned long fFlags;
|
|
unsigned long clSize;
|
|
[size_is(clSize)] unsigned short asData[];
|
|
} FLAGGED_WORD_BLOB;
|
|
typedef [unique] FLAGGED_WORD_BLOB * wireBSTR;
|
|
typedef [wire_marshal( wireBSTR )] OLECHAR * BSTR;
|
|
typedef BSTR * LPBSTR;
|
|
cpp_quote("#endif")
|
|
|
|
typedef struct _WIA_ASYNC_EVENT_REG_DATA
|
|
{
|
|
DWORD dwFlags;
|
|
GUID guidEvent;
|
|
BSTR bstrDeviceID;
|
|
ULONG_PTR ulCallback;
|
|
} WIA_ASYNC_EVENT_REG_DATA;
|
|
|
|
typedef struct _WIA_ASYNC_EVENT_NOTIFY_DATA
|
|
{
|
|
GUID EventGuid;
|
|
BSTR bstrEventDescription;
|
|
BSTR bstrDeviceID;
|
|
BSTR bstrDeviceDescription;
|
|
DWORD dwDeviceType;
|
|
BSTR bstrFullItemName;
|
|
ULONG ulEventType;
|
|
} WIA_ASYNC_EVENT_NOTIFY_DATA;
|
|
|
|
DWORD
|
|
R_StiApiGetVersion(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in] DWORD dwReserved,
|
|
[out] DWORD *pdwVersion
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiEnableHwNotifications(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in, string, unique] STI_STRING_HANDLE pdeviceName,
|
|
[in] BOOL bNewState
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiGetHwNotificationState(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in, string, unique] STI_STRING_HANDLE pdeviceName,
|
|
[out] LPDWORD pState
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiLaunchApplication(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in, string, unique] STI_STRING_HANDLE pDeviceName,
|
|
[in, string, unique] STI_STRING_HANDLE pAppName,
|
|
[in] STINOTIFY* pStiNotify
|
|
);
|
|
|
|
|
|
DWORD
|
|
R_StiApiOpenDevice(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in, string, unique] STI_STRING_HANDLE pdeviceName,
|
|
[in] DWORD dwMode,
|
|
[in] DWORD dwAccessRequired,
|
|
[in] DWORD dwProcessId,
|
|
[out] STI_DEVICE_HANDLE *pHandle
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiSubscribe(
|
|
[in] STI_DEVICE_HANDLE Handle,
|
|
[in,ref,unique] LOCAL_SUBSCRIBE_CONTAINER *lpSubscribe
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiGetLastNotificationData(
|
|
[in] STI_DEVICE_HANDLE Handle,
|
|
[out, size_is(nSize)] LPBYTE pData,
|
|
[in] DWORD nSize,
|
|
[out] LPDWORD pcbNeeded
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiUnSubscribe(
|
|
[in] STI_DEVICE_HANDLE Handle
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiCloseDevice(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in] STI_DEVICE_HANDLE hDevice
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiLockDevice(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in, string, unique] STI_STRING_HANDLE pdeviceName,
|
|
[in] DWORD dwWait,
|
|
[in] BOOL bInServerProcess,
|
|
[in] DWORD dwClientThreadId
|
|
);
|
|
|
|
DWORD
|
|
R_StiApiUnlockDevice(
|
|
[in, string, unique] STI_STRING_HANDLE pszServer,
|
|
[in, string, unique] STI_STRING_HANDLE pdeviceName,
|
|
[in] BOOL bInServerProcess,
|
|
[in] DWORD dwClientThreadId
|
|
);
|
|
|
|
DWORD
|
|
R_WiaGetEventDataAsync(
|
|
handle_t hBinding,
|
|
[in, out, size_is(1), length_is(1)] WIA_ASYNC_EVENT_NOTIFY_DATA *pData
|
|
);
|
|
|
|
|
|
DWORD
|
|
OpenClientConnection(
|
|
handle_t hBinding,
|
|
[out] STI_CLIENT_CONTEXT *pSyncClientContext,
|
|
[out] STI_CLIENT_CONTEXT *pAsyncClientContext);
|
|
|
|
DWORD
|
|
CloseClientConnection(
|
|
handle_t hBinding,
|
|
[in] STI_CLIENT_CONTEXT ClientContext);
|
|
|
|
DWORD
|
|
RegisterUnregisterForEventNotification(
|
|
handle_t hBinding,
|
|
[in] STI_CLIENT_CONTEXT SyncClientContext,
|
|
[in] WIA_ASYNC_EVENT_REG_DATA *pWIA_ASYNC_EVENT_REG_DATA);
|
|
|
|
DWORD
|
|
WiaGetRuntimetEventDataAsync(
|
|
handle_t hBinding,
|
|
[in] STI_CLIENT_CONTEXT AsyncClientContext,
|
|
[in,out, size_is(1), length_is(1)] WIA_ASYNC_EVENT_NOTIFY_DATA *pWIA_ASYNC_EVENT_NOTIFY_DATA);
|
|
};
|
|
|