2025-04-27 07:49:33 -04:00

167 lines
3.4 KiB
Plaintext

/*++
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 struct _NOTIFY_DATA_CONTAINER {
DWORD cbNotifyData;
[size_is(cbNotifyData), unique] LPBYTE 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;
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
);
};