mirror of https://github.com/UMSKT/xpmgr.git
168 lines
5.4 KiB
Plaintext
168 lines
5.4 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// Component: WSDAPI - Microsoft Web Services for Devices API
|
|
//
|
|
// File: wsdhost.idl
|
|
//
|
|
// Abstract: Host/Device interface definitions and typedefs for WSDAPI
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
import "wsdxmldom.h";
|
|
import "wsdtypes.h";
|
|
|
|
//
|
|
// Dependencies
|
|
//
|
|
interface IWSDAddress;
|
|
interface IWSDXMLContext;
|
|
|
|
//
|
|
// Forward Declarations
|
|
//
|
|
interface IWSDDeviceHost;
|
|
interface IWSDDeviceHostNotify;
|
|
interface IWSDServiceMessaging;
|
|
|
|
cpp_quote("HRESULT WINAPI")
|
|
cpp_quote("WSDCreateDeviceHost(")
|
|
cpp_quote(" __in LPCWSTR pszLocalId,")
|
|
cpp_quote(" IWSDXMLContext* pContext,")
|
|
cpp_quote(" __deref_out IWSDDeviceHost** ppDeviceHost);")
|
|
|
|
cpp_quote("HRESULT WINAPI")
|
|
cpp_quote("WSDCreateDeviceHostAdvanced(")
|
|
cpp_quote(" __in LPCWSTR pszLocalId,")
|
|
cpp_quote(" IWSDXMLContext* pContext,")
|
|
cpp_quote(" __in_ecount_opt(dwHostAddressCount) IWSDAddress** ppHostAddresses,")
|
|
cpp_quote(" DWORD dwHostAddressCount,")
|
|
cpp_quote(" __deref_out IWSDDeviceHost** ppDeviceHost);")
|
|
|
|
cpp_quote("#if (WINVER >= _WIN32_WINNT_WIN7)")
|
|
cpp_quote("HRESULT WINAPI")
|
|
cpp_quote("WSDCreateDeviceHost2(")
|
|
cpp_quote(" __in LPCWSTR pszLocalId,")
|
|
cpp_quote(" IWSDXMLContext* pContext,")
|
|
cpp_quote(" __in_ecount_opt(dwConfigParamCount) WSD_CONFIG_PARAM* pConfigParams,")
|
|
cpp_quote(" DWORD dwConfigParamCount,")
|
|
cpp_quote(" __deref_out IWSDDeviceHost** ppDeviceHost);")
|
|
cpp_quote("#endif")
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// IWSDDeviceHost Interface
|
|
// Description: Host-side representation of devices
|
|
//--------------------------------------------------------------------------
|
|
[
|
|
object,
|
|
uuid(917fe891-3d13-4138-9809-934c8abeb12c),
|
|
helpstring("IWSDDeviceHost Interface"),
|
|
pointer_default(unique),
|
|
restricted,
|
|
local
|
|
]
|
|
interface IWSDDeviceHost : IUnknown
|
|
{
|
|
HRESULT Init(
|
|
[in, annotation("__in")] LPCWSTR pszLocalId,
|
|
[in, optional] IWSDXMLContext* pContext,
|
|
[in, optional, annotation("__in_ecount_opt(dwHostAddressCount)")] IWSDAddress** ppHostAddresses,
|
|
[in, optional] DWORD dwHostAddressCount);
|
|
|
|
HRESULT Start(
|
|
[in] ULONGLONG ullInstanceId,
|
|
[in] const WSD_URI_LIST* pScopeList,
|
|
[in, optional] IWSDDeviceHostNotify* pNotificationSink);
|
|
|
|
HRESULT Stop();
|
|
|
|
HRESULT Terminate();
|
|
|
|
HRESULT RegisterPortType(
|
|
[in] const WSD_PORT_TYPE* pPortType);
|
|
|
|
HRESULT SetMetadata(
|
|
[in] const WSD_THIS_MODEL_METADATA* pThisModelMetadata,
|
|
[in] const WSD_THIS_DEVICE_METADATA* pThisDeviceMetadata,
|
|
[in, optional] const WSD_HOST_METADATA* pHostMetadata,
|
|
[in, optional] const WSD_METADATA_SECTION_LIST* pCustomMetadata);
|
|
|
|
HRESULT RegisterService(
|
|
[in, annotation("__in")] LPCWSTR pszServiceId,
|
|
[in] IUnknown* pService);
|
|
|
|
HRESULT RetireService(
|
|
[in, annotation("__in")] LPCWSTR pszServiceId);
|
|
|
|
HRESULT AddDynamicService(
|
|
[in, annotation("__in")] LPCWSTR pszServiceId,
|
|
[in, optional, annotation("__in_opt")] LPCWSTR pszEndpointAddress,
|
|
[in, optional] const WSD_PORT_TYPE* pPortType,
|
|
[in, optional] const WSDXML_NAME* pPortName,
|
|
[in, optional] const WSDXML_ELEMENT* pAny,
|
|
[in, optional] IUnknown* pService);
|
|
|
|
HRESULT RemoveDynamicService(
|
|
[in, annotation("__in")] LPCWSTR pszServiceId);
|
|
|
|
HRESULT SetServiceDiscoverable(
|
|
[in, annotation("__in")] LPCWSTR pszServiceId,
|
|
[in] BOOL fDiscoverable);
|
|
|
|
HRESULT SignalEvent(
|
|
[in, annotation("__in")] LPCWSTR pszServiceId,
|
|
[in, annotation("__in_opt")] const void* pBody,
|
|
[in] const WSD_OPERATION* pOperation);
|
|
};
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// IWSDDeviceHostNotify Interface
|
|
// Description: Provides device-related notifications for devices
|
|
//--------------------------------------------------------------------------
|
|
[
|
|
object,
|
|
uuid(b5bee9f9-eeda-41fe-96f7-f45e14990fb0),
|
|
helpstring("IWSDDeviceHostNotify Interface"),
|
|
pointer_default(unique),
|
|
restricted
|
|
]
|
|
interface IWSDDeviceHostNotify : IUnknown
|
|
{
|
|
midl_pragma warning(disable:2495)
|
|
HRESULT GetService(
|
|
[in, annotation("__in")] LPCWSTR pszServiceId,
|
|
[out, annotation("__deref_out")] IUnknown** ppService);
|
|
midl_pragma warning(disable:2495)
|
|
};
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// IWSDServiceMessaging Interface
|
|
// Description: Provides response channels for dispatched service messages.
|
|
// This interface is used only by generated stubs.
|
|
//--------------------------------------------------------------------------
|
|
[
|
|
object,
|
|
uuid(94974cf4-0cab-460d-a3f6-7a0ad623c0e6),
|
|
helpstring("IWSDServiceMessaging Interface"),
|
|
pointer_default(unique),
|
|
restricted,
|
|
local
|
|
]
|
|
interface IWSDServiceMessaging : IUnknown
|
|
{
|
|
HRESULT SendResponse(
|
|
[in, annotation("__in_opt")] void* pBody,
|
|
[in] WSD_OPERATION* pOperation,
|
|
[in] IWSDMessageParameters* pMessageParameters);
|
|
|
|
HRESULT FaultRequest(
|
|
[in] WSD_SOAP_HEADER* pRequestHeader,
|
|
[in] IWSDMessageParameters* pMessageParameters,
|
|
[in,optional] WSD_SOAP_FAULT* pFault);
|
|
};
|
|
|