Update wsd-API

- missing Vista/Win7/Win8 API
- add winapi-family
- transite from header to idl-autogenerated



git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@6515 4407c894-4637-0410-b4f5-ada5f102cad1
This commit is contained in:
Kai Tietz 2014-03-10 13:04:33 +00:00
parent 6bf42fa2a0
commit 56d5318c0b
14 changed files with 7133 additions and 770 deletions

View File

@ -119,6 +119,12 @@ IDL_SRCS = \
include/wmcontainer.idl \
include/wmsbuffer.idl \
include/wmsdkidl.idl \
include/wsdattachment.idl \
include/wsdbase.idl \
include/wsdclient.idl \
include/wsddisco.idl \
include/wsdhost.idl \
include/wsdxml.idl \
include/wtypesbase.idl \
include/windows.foundation.idl \
include/windows.security.cryptography.idl \

View File

@ -343,6 +343,12 @@ EXTRA_HEADERS = \
@HAVE_WIDL_TRUE@ include/wmcontainer.idl \
@HAVE_WIDL_TRUE@ include/wmsbuffer.idl \
@HAVE_WIDL_TRUE@ include/wmsdkidl.idl \
@HAVE_WIDL_TRUE@ include/wsdattachment.idl \
@HAVE_WIDL_TRUE@ include/wsdbase.idl \
@HAVE_WIDL_TRUE@ include/wsdclient.idl \
@HAVE_WIDL_TRUE@ include/wsddisco.idl \
@HAVE_WIDL_TRUE@ include/wsdhost.idl \
@HAVE_WIDL_TRUE@ include/wsdxml.idl \
@HAVE_WIDL_TRUE@ include/wtypesbase.idl \
@HAVE_WIDL_TRUE@ include/windows.foundation.idl \
@HAVE_WIDL_TRUE@ include/windows.security.cryptography.idl \

View File

@ -1,102 +1,374 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_WSDATTACHMENT
#define _INC_WSDATTACHMENT
/*** Autogenerated by WIDL 1.6 from wsdattachment.idl - Do not edit ***/
#ifndef _INC_WSDAPI
#error Please include wsdapi.h instead of this header. This header cannot be used directly.
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#if (_WIN32_WINNT >= 0x0600)
#include <rpc.h>
#include <rpcndr.h>
#undef INTERFACE
#define INTERFACE IWSDAttachment
DECLARE_INTERFACE_(IWSDAttachment,IUnknown) {
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
/* IWSDAttachment methods */
END_INTERFACE
};
#ifdef COBJMACROS
#define IWSDAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDAttachment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDAttachment_Release(This) (This)->lpVtbl->Release(This)
#endif /*COBJMACROS*/
#ifndef __wsdattachment_h__
#define __wsdattachment_h__
#undef INTERFACE
#define INTERFACE IWSDInboundAttachment
DECLARE_INTERFACE_(IWSDInboundAttachment,IWSDAttachment) {
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* Forward declarations */
/* IWSDAttachment methods */
#ifndef __IWSDAttachment_FWD_DEFINED__
#define __IWSDAttachment_FWD_DEFINED__
typedef interface IWSDAttachment IWSDAttachment;
#endif
/* IWSDInboundAttachment methods */
STDMETHOD_(HRESULT,Read)(THIS_ BYTE *pBuffer,DWORD dwBytesToRead,LPDWORD pdwNumberofBytesRead) PURE;
STDMETHOD_(HRESULT,Close)(THIS) PURE;
END_INTERFACE
};
#ifdef COBJMACROS
#define IWSDInboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDInboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDInboundAttachment_Release(This) (This)->lpVtbl->Release(This)
#define IWSDInboundAttachment_Read(This,pBuffer,dwBytesToRead,pdwNumberofBytesRead) (This)->lpVtbl->Read(This,pBuffer,dwBytesToRead,pdwNumberofBytesRead)
#define IWSDInboundAttachment_Close() (This)->lpVtbl->Close(This)
#endif /*COBJMACROS*/
#undef INTERFACE
#define INTERFACE IWSDOutboundAttachment
DECLARE_INTERFACE_(IWSDOutboundAttachment,IWSDAttachment) {
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IWSDAttachment methods */
#ifndef __IWSDInboundAttachment_FWD_DEFINED__
#define __IWSDInboundAttachment_FWD_DEFINED__
typedef interface IWSDInboundAttachment IWSDInboundAttachment;
#endif
/* IWSDOutboundAttachment methods */
STDMETHOD_(HRESULT,Write)(THIS_ const BYTE *pBuffer,DWORD dwBytesToWrite,LPDWORD pdwNumberofBytesWritten) PURE;
STDMETHOD_(HRESULT,Close)(THIS) PURE;
STDMETHOD_(HRESULT,Abort)(THIS) PURE;
END_INTERFACE
};
#ifdef COBJMACROS
#define IWSDOutboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDOutboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDOutboundAttachment_Release(This) (This)->lpVtbl->Release(This)
#define IWSDOutboundAttachment_Write(This,pBuffer,dwBytesToWrite,pdwNumberofBytesWritten) (This)->lpVtbl->Write(This,pBuffer,dwBytesToWrite,pdwNumberofBytesWritten)
#define IWSDOutboundAttachment_Close() (This)->lpVtbl->Close(This)
#define IWSDOutboundAttachment_Abort() (This)->lpVtbl->Abort(This)
#endif /*COBJMACROS*/
#ifndef __IWSDOutboundAttachment_FWD_DEFINED__
#define __IWSDOutboundAttachment_FWD_DEFINED__
typedef interface IWSDOutboundAttachment IWSDOutboundAttachment;
#endif
/* Headers for imported files */
#include <objidl.h>
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI WSDCreateOutboundAttachment(
IWSDOutboundAttachment **attachmentOut
);
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifndef _INC_WSDAPI
#error Please include wsdapi.h instead of this header. This header cannot be used directly.
#endif
#ifndef __IWSDAttachment_FWD_DEFINED__
#define __IWSDAttachment_FWD_DEFINED__
typedef interface IWSDAttachment IWSDAttachment;
#endif
#ifndef __IWSDInboundAttachment_FWD_DEFINED__
#define __IWSDInboundAttachment_FWD_DEFINED__
typedef interface IWSDInboundAttachment IWSDInboundAttachment;
#endif
#ifndef __IWSDOutboundAttachment_FWD_DEFINED__
#define __IWSDOutboundAttachment_FWD_DEFINED__
typedef interface IWSDOutboundAttachment IWSDOutboundAttachment;
#endif
/*****************************************************************************
* IWSDAttachment interface
*/
#ifndef __IWSDAttachment_INTERFACE_DEFINED__
#define __IWSDAttachment_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWSDAttachment, 0x5d55a616, 0x9df8, 0x4b09, 0xb1,0x56, 0x9b,0xa3,0x51,0xa4,0x8b,0x76);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5d55a616-9df8-4b09-b156-9ba351a48b76")
IWSDAttachment : public IUnknown
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWSDAttachment, 0x5d55a616, 0x9df8, 0x4b09, 0xb1,0x56, 0x9b,0xa3,0x51,0xa4,0x8b,0x76)
#endif
#else
typedef struct IWSDAttachmentVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWSDAttachment* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWSDAttachment* This);
ULONG (STDMETHODCALLTYPE *Release)(
IWSDAttachment* This);
END_INTERFACE
} IWSDAttachmentVtbl;
interface IWSDAttachment {
CONST_VTBL IWSDAttachmentVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWSDAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDAttachment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDAttachment_Release(This) (This)->lpVtbl->Release(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWSDAttachment_QueryInterface(IWSDAttachment* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWSDAttachment_AddRef(IWSDAttachment* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWSDAttachment_Release(IWSDAttachment* This) {
return This->lpVtbl->Release(This);
}
#endif
#endif
#endif
#endif /* __IWSDAttachment_INTERFACE_DEFINED__ */
/*****************************************************************************
* IWSDInboundAttachment interface
*/
#ifndef __IWSDInboundAttachment_INTERFACE_DEFINED__
#define __IWSDInboundAttachment_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWSDInboundAttachment, 0x5bd6ca65, 0x233c, 0x4fb8, 0x9f,0x7a, 0x26,0x41,0x61,0x96,0x55,0xc9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5bd6ca65-233c-4fb8-9f7a-2641619655c9")
IWSDInboundAttachment : public IWSDAttachment
{
virtual HRESULT STDMETHODCALLTYPE Read(
BYTE *pBuffer,
DWORD dwBytesToRead,
LPDWORD pdwNumberOfBytesRead) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWSDInboundAttachment, 0x5bd6ca65, 0x233c, 0x4fb8, 0x9f,0x7a, 0x26,0x41,0x61,0x96,0x55,0xc9)
#endif
#else
typedef struct IWSDInboundAttachmentVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWSDInboundAttachment* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWSDInboundAttachment* This);
ULONG (STDMETHODCALLTYPE *Release)(
IWSDInboundAttachment* This);
/*** IWSDInboundAttachment methods ***/
HRESULT (STDMETHODCALLTYPE *Read)(
IWSDInboundAttachment* This,
BYTE *pBuffer,
DWORD dwBytesToRead,
LPDWORD pdwNumberOfBytesRead);
HRESULT (STDMETHODCALLTYPE *Close)(
IWSDInboundAttachment* This);
END_INTERFACE
} IWSDInboundAttachmentVtbl;
interface IWSDInboundAttachment {
CONST_VTBL IWSDInboundAttachmentVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWSDInboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDInboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDInboundAttachment_Release(This) (This)->lpVtbl->Release(This)
/*** IWSDInboundAttachment methods ***/
#define IWSDInboundAttachment_Read(This,pBuffer,dwBytesToRead,pdwNumberOfBytesRead) (This)->lpVtbl->Read(This,pBuffer,dwBytesToRead,pdwNumberOfBytesRead)
#define IWSDInboundAttachment_Close(This) (This)->lpVtbl->Close(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWSDInboundAttachment_QueryInterface(IWSDInboundAttachment* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWSDInboundAttachment_AddRef(IWSDInboundAttachment* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWSDInboundAttachment_Release(IWSDInboundAttachment* This) {
return This->lpVtbl->Release(This);
}
/*** IWSDInboundAttachment methods ***/
static FORCEINLINE HRESULT IWSDInboundAttachment_Read(IWSDInboundAttachment* This,BYTE *pBuffer,DWORD dwBytesToRead,LPDWORD pdwNumberOfBytesRead) {
return This->lpVtbl->Read(This,pBuffer,dwBytesToRead,pdwNumberOfBytesRead);
}
static FORCEINLINE HRESULT IWSDInboundAttachment_Close(IWSDInboundAttachment* This) {
return This->lpVtbl->Close(This);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IWSDInboundAttachment_Read_Proxy(
IWSDInboundAttachment* This,
BYTE *pBuffer,
DWORD dwBytesToRead,
LPDWORD pdwNumberOfBytesRead);
void __RPC_STUB IWSDInboundAttachment_Read_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDInboundAttachment_Close_Proxy(
IWSDInboundAttachment* This);
void __RPC_STUB IWSDInboundAttachment_Close_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IWSDInboundAttachment_INTERFACE_DEFINED__ */
/*****************************************************************************
* IWSDOutboundAttachment interface
*/
#ifndef __IWSDOutboundAttachment_INTERFACE_DEFINED__
#define __IWSDOutboundAttachment_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWSDOutboundAttachment, 0xaa302f8d, 0x5a22, 0x4ba5, 0xb3,0x92, 0xaa,0x84,0x86,0xf4,0xc1,0x5d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("aa302f8d-5a22-4ba5-b392-aa8486f4c15d")
IWSDOutboundAttachment : public IWSDAttachment
{
virtual HRESULT STDMETHODCALLTYPE Write(
const BYTE *pBuffer,
DWORD dwBytesToWrite,
LPDWORD pdwNumberOfBytesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Abort(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWSDOutboundAttachment, 0xaa302f8d, 0x5a22, 0x4ba5, 0xb3,0x92, 0xaa,0x84,0x86,0xf4,0xc1,0x5d)
#endif
#else
typedef struct IWSDOutboundAttachmentVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWSDOutboundAttachment* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWSDOutboundAttachment* This);
ULONG (STDMETHODCALLTYPE *Release)(
IWSDOutboundAttachment* This);
/*** IWSDOutboundAttachment methods ***/
HRESULT (STDMETHODCALLTYPE *Write)(
IWSDOutboundAttachment* This,
const BYTE *pBuffer,
DWORD dwBytesToWrite,
LPDWORD pdwNumberOfBytesWritten);
HRESULT (STDMETHODCALLTYPE *Close)(
IWSDOutboundAttachment* This);
HRESULT (STDMETHODCALLTYPE *Abort)(
IWSDOutboundAttachment* This);
END_INTERFACE
} IWSDOutboundAttachmentVtbl;
interface IWSDOutboundAttachment {
CONST_VTBL IWSDOutboundAttachmentVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWSDOutboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDOutboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDOutboundAttachment_Release(This) (This)->lpVtbl->Release(This)
/*** IWSDOutboundAttachment methods ***/
#define IWSDOutboundAttachment_Write(This,pBuffer,dwBytesToWrite,pdwNumberOfBytesWritten) (This)->lpVtbl->Write(This,pBuffer,dwBytesToWrite,pdwNumberOfBytesWritten)
#define IWSDOutboundAttachment_Close(This) (This)->lpVtbl->Close(This)
#define IWSDOutboundAttachment_Abort(This) (This)->lpVtbl->Abort(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWSDOutboundAttachment_QueryInterface(IWSDOutboundAttachment* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWSDOutboundAttachment_AddRef(IWSDOutboundAttachment* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWSDOutboundAttachment_Release(IWSDOutboundAttachment* This) {
return This->lpVtbl->Release(This);
}
/*** IWSDOutboundAttachment methods ***/
static FORCEINLINE HRESULT IWSDOutboundAttachment_Write(IWSDOutboundAttachment* This,const BYTE *pBuffer,DWORD dwBytesToWrite,LPDWORD pdwNumberOfBytesWritten) {
return This->lpVtbl->Write(This,pBuffer,dwBytesToWrite,pdwNumberOfBytesWritten);
}
static FORCEINLINE HRESULT IWSDOutboundAttachment_Close(IWSDOutboundAttachment* This) {
return This->lpVtbl->Close(This);
}
static FORCEINLINE HRESULT IWSDOutboundAttachment_Abort(IWSDOutboundAttachment* This) {
return This->lpVtbl->Abort(This);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IWSDOutboundAttachment_Write_Proxy(
IWSDOutboundAttachment* This,
const BYTE *pBuffer,
DWORD dwBytesToWrite,
LPDWORD pdwNumberOfBytesWritten);
void __RPC_STUB IWSDOutboundAttachment_Write_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDOutboundAttachment_Close_Proxy(
IWSDOutboundAttachment* This);
void __RPC_STUB IWSDOutboundAttachment_Close_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDOutboundAttachment_Abort_Proxy(
IWSDOutboundAttachment* This);
void __RPC_STUB IWSDOutboundAttachment_Abort_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IWSDOutboundAttachment_INTERFACE_DEFINED__ */
HRESULT WINAPI WSDCreateOutboundAttachment(IWSDOutboundAttachment **ppAttachment);
#endif
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_WSDATTACHMENT*/
#endif /* __wsdattachment_h__ */

View File

@ -0,0 +1,43 @@
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
import "objidl.idl";
cpp_quote("")
cpp_quote("#ifndef _INC_WSDAPI")
cpp_quote("#error Please include wsdapi.h instead of this header. This header cannot be used directly.")
cpp_quote("#endif")
cpp_quote("")
interface IWSDAttachment;
interface IWSDInboundAttachment;
interface IWSDOutboundAttachment;
cpp_quote("")
[object, uuid (5d55a616-9df8-4b09-b156-9ba351a48b76)]
interface IWSDAttachment : IUnknown {
}
cpp_quote("")
[object, local, uuid (5bd6ca65-233c-4fb8-9f7a-2641619655c9)]
interface IWSDInboundAttachment : IWSDAttachment {
HRESULT Read ([out, size_is (dwBytesToRead), length_is (*pdwNumberOfBytesRead)] BYTE *pBuffer,[in] DWORD dwBytesToRead,[out] LPDWORD pdwNumberOfBytesRead);
HRESULT Close ();
}
cpp_quote("")
[object, local, uuid (aa302f8d-5a22-4ba5-b392-aa8486f4c15d)]
interface IWSDOutboundAttachment : IWSDAttachment {
HRESULT Write ([in, size_is (dwBytesToWrite)] const BYTE *pBuffer,[in] DWORD dwBytesToWrite,[out] LPDWORD pdwNumberOfBytesWritten);
HRESULT Close ();
HRESULT Abort ();
}
cpp_quote("")
cpp_quote("HRESULT WINAPI WSDCreateOutboundAttachment(IWSDOutboundAttachment **ppAttachment);")
cpp_quote("#endif")

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,225 @@
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
import "objidl.idl";
import "wincrypt.idl";
cpp_quote("")
interface IWSDAddress;
interface IWSDMessageParameters;
interface IWSDUdpAddress;
interface IWSDUdpMessageParameters;
interface IWSDHttpAddress;
interface IWSDHttpMessageParameters;
cpp_quote("")
cpp_quote("#if WINVER >= 0x601")
typedef enum {
WSD_CONFIG_MAX_INBOUND_MESSAGE_SIZE = 1,
WSD_CONFIG_MAX_OUTBOUND_MESSAGE_SIZE = 2,
WSD_SECURITY_SSL_CERT_FOR_CLIENT_AUTH = 3,
WSD_SECURITY_SSL_SERVER_CERT_VALIDATION = 4,
WSD_SECURITY_SSL_CLIENT_CERT_VALIDATION = 5,
WSD_SECURITY_SSL_NEGOTIATE_CLIENT_CERT = 6,
WSD_SECURITY_COMPACTSIG_SIGNING_CERT = 7,
WSD_SECURITY_COMPACTSIG_VALIDATION = 8,
WSD_CONFIG_HOSTING_ADDRESSES = 9,
WSD_CONFIG_DEVICE_ADDRESSES = 10,
WSD_SECURITY_REQUIRE_HTTP_CLIENT_AUTH = 11,
WSD_SECURITY_REQUIRE_CLIENT_CERT_OR_HTTP_CLIENT_AUTH = 12,
WSD_SECURITY_USE_HTTP_CLIENT_AUTH = 13
} WSD_CONFIG_PARAM_TYPE;
typedef struct _WSD_CONFIG_PARAM {
WSD_CONFIG_PARAM_TYPE configParamType;
PVOID pConfigData;
DWORD dwConfigDataSize;
} WSD_CONFIG_PARAM,*PWSD_CONFIG_PARAM;
typedef struct _WSD_SECURITY_CERT_VALIDATION_V1 {
PCCERT_CONTEXT *certMatchArray;
DWORD dwCertMatchArrayCount;
HCERTSTORE hCertMatchStore;
HCERTSTORE hCertIssuerStore;
DWORD dwCertCheckOptions;
} WSD_SECURITY_CERT_VALIDATION_V1;
cpp_quote("#if _WIN32_WINNT >= 0x602")
typedef struct _WSD_SECURITY_CERT_VALIDATION {
PCCERT_CONTEXT *certMatchArray;
DWORD dwCertMatchArrayCount;
HCERTSTORE hCertMatchStore;
HCERTSTORE hCertIssuerStore;
DWORD dwCertCheckOptions;
LPCWSTR pszCNGHashAlgId;
BYTE *pbCertHash;
DWORD dwCertHashSize;
} WSD_SECURITY_CERT_VALIDATION;
cpp_quote("#else")
cpp_quote("typedef WSD_SECURITY_CERT_VALIDATION_V1 WSD_SECURITY_CERT_VALIDATION;")
cpp_quote("#endif")
cpp_quote("")
typedef WSD_SECURITY_CERT_VALIDATION *PWSD_SECURITY_CERT_VALIDATION;
typedef struct _WSD_SECURITY_SIGNATURE_VALIDATION {
PCCERT_CONTEXT *signingCertArray;
DWORD dwSigningCertArrayCount;
HCERTSTORE hSigningCertStore;
DWORD dwFlags;
} WSD_SECURITY_SIGNATURE_VALIDATION,*PWSD_SECURITY_SIGNATURE_VALIDATION;
typedef DWORD WSD_SECURITY_HTTP_AUTH_SCHEMES,*PWSD_SECURITY_HTTP_AUTH_SCHEMES;
cpp_quote("")
cpp_quote("#define WSDAPI_SSL_CERT_APPLY_DEFAULT_CHECKS 0x0")
cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_REVOCATION 0x1")
cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_EXPIRY 0x2")
cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_WRONG_USAGE 0x4")
cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_UNKNOWN_CA 0x8")
cpp_quote("#define WSDAPI_SSL_CERT_IGNORE_INVALID_CN 0x10")
cpp_quote("")
cpp_quote("#define WSDAPI_COMPACTSIG_ACCEPT_ALL_MESSAGES 0x1")
cpp_quote("")
cpp_quote("#define WSD_SECURITY_HTTP_AUTH_SCHEME_NEGOTIATE 0x1")
cpp_quote("#define WSD_SECURITY_HTTP_AUTH_SCHEME_NTLM 0x2")
cpp_quote("")
typedef struct _WSD_CONFIG_ADDRESSES {
IWSDAddress **addresses;
DWORD dwAddressCount;
} WSD_CONFIG_ADDRESSES,*PWSD_CONFIG_ADDRESSES;
cpp_quote("#endif")
cpp_quote("#define WSDAPI_ADDRESSFAMILY_IPV4 1")
cpp_quote("#define WSDAPI_ADDRESSFAMILY_IPV6 2")
[object, uuid (b9574c6c-12a6-4f74-93a1-3318ff605759), local]
interface IWSDAddress : IUnknown {
HRESULT Serialize ([out, size_is (cchLength)] LPWSTR pszBuffer,[in] DWORD cchLength,[in] BOOL fSafe);
HRESULT Deserialize ([in] LPCWSTR pszBuffer);
}
[object, uuid (70d23498-4ee6-4340-a3df-d845d2235467), local]
interface IWSDTransportAddress : IWSDAddress {
HRESULT GetPort ([out] WORD *pwPort);
HRESULT SetPort ([in] WORD wPort);
HRESULT GetTransportAddress ([out] LPCWSTR *ppszAddress);
HRESULT GetTransportAddressEx ([in] BOOL fSafe,[out] LPCWSTR *ppszAddress);
HRESULT SetTransportAddress ([in] LPCWSTR pszAddress);
}
[object, uuid (1fafe8a2-e6fc-4b80-b6cf-b7d45c416d7c)]
interface IWSDMessageParameters : IUnknown {
HRESULT GetLocalAddress ([out] IWSDAddress **ppAddress);
HRESULT SetLocalAddress ([in] IWSDAddress *pAddress);
HRESULT GetRemoteAddress ([out] IWSDAddress **ppAddress);
HRESULT SetRemoteAddress ([in] IWSDAddress *pAddress);
HRESULT GetLowerParameters ([out] IWSDMessageParameters **ppTxParams);
}
cpp_quote("HRESULT WINAPI")
cpp_quote("WSDCreateUdpMessageParameters(")
cpp_quote("IWSDUdpMessageParameters** ppTxParams);")
typedef struct _WSDUdpRetransmitParams {
ULONG ulSendDelay;
ULONG ulRepeat;
ULONG ulRepeatMinDelay;
ULONG ulRepeatMaxDelay;
ULONG ulRepeatUpperDelay;
} WSDUdpRetransmitParams;
[object, uuid (9934149f-8f0c-447b-aa0b-73124b0ca7f0)]
interface IWSDUdpMessageParameters : IWSDMessageParameters {
HRESULT SetRetransmitParams ([in] const WSDUdpRetransmitParams *pParams);
HRESULT GetRetransmitParams ([out] WSDUdpRetransmitParams *pParams);
}
cpp_quote("HRESULT WINAPI")
cpp_quote("WSDCreateUdpAddress(")
cpp_quote(" IWSDUdpAddress** ppAddress);")
#ifndef SOCKADDR_STORAGE
cpp_quote("#if 1")
cpp_quote("")
cpp_quote("#ifndef __CSADDR_DEFINED__")
cpp_quote("struct SOCKADDR_STORAGE;")
cpp_quote("#endif")
cpp_quote("#else")
typedef void SOCKADDR_STORAGE;
cpp_quote("#endif")
#endif
typedef enum _WSDUdpMessageType {
ONE_WAY,
TWO_WAY
} WSDUdpMessageType;
[object, local, uuid (74d6124a-a441-4f78-a1eb-97a8d1996893)]
interface IWSDUdpAddress : IWSDTransportAddress {
HRESULT SetSockaddr ([in] const SOCKADDR_STORAGE *pSockAddr);
HRESULT GetSockaddr ([out] SOCKADDR_STORAGE *pSockAddr);
HRESULT SetExclusive ([in] BOOL fExclusive);
HRESULT GetExclusive ();
HRESULT SetMessageType ([in] WSDUdpMessageType messageType);
HRESULT GetMessageType ([out] WSDUdpMessageType *pMessageType);
HRESULT SetTTL ([in] DWORD dwTTL);
HRESULT GetTTL ([out] DWORD *pdwTTL);
HRESULT SetAlias ([in] const GUID *pAlias);
HRESULT GetAlias ([out] GUID *pAlias);
}
[object, local, uuid (540bd122-5c83-4dec-b396-ea62a2697fdf)]
interface IWSDHttpMessageParameters : IWSDMessageParameters {
HRESULT SetInboundHttpHeaders ([in] LPCWSTR pszHeaders);
HRESULT GetInboundHttpHeaders ([out] LPCWSTR *ppszHeaders);
HRESULT SetOutboundHttpHeaders ([in] LPCWSTR pszHeaders);
HRESULT GetOutboundHttpHeaders ([out] LPCWSTR *ppszHeaders);
HRESULT SetID ([in] LPCWSTR pszId);
HRESULT GetID ([out] LPCWSTR *ppszId);
HRESULT SetContext ([in] IUnknown *pContext);
HRESULT GetContext ([out] IUnknown **ppContext);
HRESULT Clear ();
}
[object, local, uuid (d09ac7bd-2a3e-4b85-8605-2737ff3e4ea0)]
interface IWSDHttpAddress : IWSDTransportAddress {
HRESULT GetSecure ();
HRESULT SetSecure ([in] BOOL fSecure);
HRESULT GetPath ([out] LPCWSTR *ppszPath);
HRESULT SetPath ([in] LPCWSTR pszPath);
}
cpp_quote("#if WINVER >= 0x601")
[object, local, uuid (de105e87-a0da-418e-98ad-27b9eed87bdc)]
interface IWSDSSLClientCertificate : IUnknown {
HRESULT GetClientCertificate ([in, out] PCCERT_CONTEXT *ppCertContext);
HRESULT GetMappedAccessToken ([in, out] HANDLE *phToken);
}
[object, local, uuid (0b476df0-8dac-480d-b05c-99781a5884aa)]
interface IWSDHttpAuthParameters: IUnknown {
HRESULT GetClientAccessToken ([out] HANDLE *phToken);
HRESULT GetAuthType ([out] PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType);
}
[object, local, uuid (03ce20aa-71c4-45e2-b32e-3766c61c790f), pointer_default (unique), restricted]
interface IWSDSignatureProperty : IUnknown {
HRESULT IsMessageSigned ([out] BOOL *pbSigned);
HRESULT IsMessageSignatureTrusted ([out] BOOL *pbSignatureTrusted);
HRESULT GetKeyInfo ([out, size_is (*pdwKeyInfoSize)] BYTE *pbKeyInfo,[in, out] DWORD *pdwKeyInfoSize);
HRESULT GetSignature ([out, size_is (*pdwSignatureSize)] BYTE *pbSignature,[in, out] DWORD *pdwSignatureSize);
HRESULT GetSignedInfoHash ([out, size_is (*pdwHashSize)] BYTE *pbSignedInfoHash,[in, out] DWORD *pdwHashSize);
}
cpp_quote("#endif")
cpp_quote("HRESULT WINAPI WSDCreateHttpAddress(IWSDHttpAddress **ppAdress);")
cpp_quote("HRESULT WINAPI WSDCreateHttpMessageParameters(IWSDHttpMessageParameters **ppTxParams);")
cpp_quote("#endif")

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,114 @@
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
import "oaidl.idl";
import "ocidl.idl";
import "wsdxmldom.h";
import "wsdtypes.h";
cpp_quote("")
interface IWSDAddress;
interface IWSDXMLContext;
interface IWSDiscoveredService;
interface IWSDDeviceProxy;
interface IWSDServiceProxy;
interface IWSDEndpointProxy;
interface IWSDAsyncResult;
interface IWSDAsyncCallback;
interface IWSDMetadataExchange;
interface IWSDEventingStatus;
[object, local, restricted, uuid (11a9852a-8dd8-423e-b537-9356db4fbfb8), pointer_default (unique)]
interface IWSDAsyncResult : IUnknown {
HRESULT SetCallback ([in] IWSDAsyncCallback *pCallback,[in] IUnknown *pAsyncState);
HRESULT SetWaitHandle ([in] HANDLE hWaitHandle);
HRESULT HasCompleted ();
HRESULT GetAsyncState ([out] IUnknown **ppAsyncState);
HRESULT Abort ();
HRESULT GetEvent ([out] WSD_EVENT *pEvent);
HRESULT GetEndpointProxy ([out] IWSDEndpointProxy **ppEndpoint);
};
[object, local, restricted, uuid (a63e109d-ce72-49e2-ba98-e845f5ee1666), pointer_default (unique)]
interface IWSDAsyncCallback : IUnknown {
HRESULT AsyncOperationComplete ([in] IWSDAsyncResult *pAsyncResult,[in] IUnknown *pAsyncState);
};
[object, local, restricted, uuid (06996d57-1d67-4928-9307-3d7833fdb846), pointer_default (unique)]
interface IWSDMetadataExchange : IUnknown {
HRESULT GetMetadata ([out] WSD_METADATA_SECTION_LIST **MetadataOut);
};
[object, local, restricted, uuid (49b17f52-637a-407a-ae99-fbe82a4d38c0), pointer_default (unique)]
interface IWSDEventingStatus : IUnknown {
void SubscriptionRenewed ([in] LPCWSTR pszSubscriptionAction);
void SubscriptionRenewalFailed ([in] LPCWSTR pszSubscriptionAction,[in] HRESULT hr);
void SubscriptionEnded ([in] LPCWSTR pszSubscriptionAction);
};
[object, local, restricted, uuid (1860d430-b24c-4975-9f90-dbb39baa24ec), pointer_default (unique)]
interface IWSDEndpointProxy : IUnknown {
HRESULT SendOneWayRequest ([in] const void *pBody,[in] const WSD_OPERATION *pOperation);
HRESULT SendTwoWayRequest ([in] const void *pBody,[in] const WSD_OPERATION *pOperation,[in, optional] const WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext);
HRESULT SendTwoWayRequestAsync ([in] const void *pBody,[in] const WSD_OPERATION *pOperation,[in] IUnknown *pAsyncState,[in] IWSDAsyncCallback *pCallback,[out] IWSDAsyncResult **pResult);
HRESULT AbortAsyncOperation ([in] IWSDAsyncResult *pAsyncResult);
HRESULT ProcessFault ([in] const WSD_SOAP_FAULT *pFault);
HRESULT GetErrorInfo ([out] LPCWSTR *ppszErrorInfo);
HRESULT GetFaultInfo ([out] WSD_SOAP_FAULT **ppFault);
};
[object, local, restricted, uuid (eee0c031-c578-4c0e-9a3b-973c35f409db), pointer_default (unique)]
interface IWSDDeviceProxy : IUnknown {
HRESULT Init ([in] LPCWSTR pszDeviceId,[in] IWSDAddress *pDeviceAddress,[in] LPCWSTR pszLocalId,[in, optional] IWSDXMLContext *pContext,[in, optional] IWSDDeviceProxy *pSponsor);
HRESULT BeginGetMetadata ([out] IWSDAsyncResult **ppResult);
HRESULT EndGetMetadata ([in] IWSDAsyncResult *pResult);
HRESULT GetHostMetadata ([out] WSD_HOST_METADATA **ppHostMetadata);
HRESULT GetThisModelMetadata ([out] WSD_THIS_MODEL_METADATA **ppManufacturerMetadata);
HRESULT GetThisDeviceMetadata ([out] WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata);
HRESULT GetAllMetadata ([out] WSD_METADATA_SECTION_LIST **ppMetadata);
HRESULT GetServiceProxyById ([in] LPCWSTR pszServiceId,[out] IWSDServiceProxy **ppServiceProxy);
HRESULT GetServiceProxyByType ([in] const WSDXML_NAME *pType,[out] IWSDServiceProxy **ppServiceProxy);
HRESULT GetEndpointProxy ([out] IWSDEndpointProxy **ppProxy);
};
[object, local, restricted, uuid (d4c7fb9c-03ab-4175-9d67-094fafebf487), pointer_default (unique)]
interface IWSDServiceProxy : IWSDMetadataExchange {
HRESULT BeginGetMetadata ([out] IWSDAsyncResult **ppResult);
HRESULT EndGetMetadata ([in] IWSDAsyncResult *pResult,[out] WSD_METADATA_SECTION_LIST **ppMetadata);
HRESULT GetServiceMetadata ([out] WSD_SERVICE_METADATA **ppServiceMetadata);
HRESULT SubscribeToOperation ([in] const WSD_OPERATION *pOperation,[in] IUnknown *pUnknown,[in] const WSDXML_ELEMENT *pAny,[out] WSDXML_ELEMENT **ppAny);
HRESULT UnsubscribeToOperation ([in] const WSD_OPERATION *pOperation);
HRESULT SetEventingStatusCallback ([in, optional] IWSDEventingStatus *pStatus);
HRESULT GetEndpointProxy ([out] IWSDEndpointProxy **ppProxy);
};
cpp_quote("#if WINVER >= 0x601")
[object, local, restricted, uuid (f9279d6d-1012-4a94-b8cc-fd35d2202bfe), pointer_default (unique)]
interface IWSDServiceProxyEventing : IWSDServiceProxy {
HRESULT SubscribeToMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] IUnknown *pUnknown,[in] const WSD_EVENTING_EXPIRES *pExpires,[in] const WSDXML_ELEMENT *pAny,[out] WSD_EVENTING_EXPIRES **ppExpires,[out] WSDXML_ELEMENT **ppAny);
HRESULT BeginSubscribeToMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] IUnknown *pUnknown,[in] const WSD_EVENTING_EXPIRES *pExpires,[in] const WSDXML_ELEMENT *pAny,[in] IUnknown *pAsyncState,[in] IWSDAsyncCallback *pAsyncCallback,[out] IWSDAsyncResult **ppResult);
HRESULT EndSubscribeToMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] IWSDAsyncResult *pResult,[out] WSD_EVENTING_EXPIRES **ppExpires,[out] WSDXML_ELEMENT **ppAny);
HRESULT UnsubscribeToMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] const WSDXML_ELEMENT *pAny);
HRESULT BeginUnsubscribeToMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] const WSDXML_ELEMENT *pAny,[in] IUnknown *pAsyncState,[in] IWSDAsyncCallback *pAsyncCallback,[out] IWSDAsyncResult **ppResult);
HRESULT EndUnsubscribeToMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] IWSDAsyncResult *pResult);
HRESULT RenewMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] const WSD_EVENTING_EXPIRES *pExpires,[in] const WSDXML_ELEMENT *pAny,[out] WSD_EVENTING_EXPIRES **ppExpires,[out] WSDXML_ELEMENT **ppAny);
HRESULT BeginRenewMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] const WSD_EVENTING_EXPIRES *pExpires,[in] const WSDXML_ELEMENT *pAny,[in] IUnknown *pAsyncState,[in] IWSDAsyncCallback *pAsyncCallback,[out] IWSDAsyncResult **ppResult);
HRESULT EndRenewMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] IWSDAsyncResult *pResult,[out] WSD_EVENTING_EXPIRES **ppExpires,[out] WSDXML_ELEMENT **ppAny);
HRESULT GetStatusForMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] const WSDXML_ELEMENT *pAny,[out] WSD_EVENTING_EXPIRES **ppExpires,[out] WSDXML_ELEMENT **ppAny);
HRESULT BeginGetStatusForMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] const WSDXML_ELEMENT *pAny,[in] IUnknown *pAsyncState,[in] IWSDAsyncCallback *pAsyncCallback,[out] IWSDAsyncResult **ppResult);
HRESULT EndGetStatusForMultipleOperations ([in] const WSD_OPERATION *pOperations,[in] DWORD dwOperationCount,[in] IWSDAsyncResult *pResult,[out] WSD_EVENTING_EXPIRES **ppExpires,[out] WSDXML_ELEMENT **ppAny);
};
cpp_quote("#endif")
cpp_quote("HRESULT WINAPI WSDCreateDeviceProxy(LPCWSTR pszDeviceId, LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceProxy **ppDeviceProxy);")
cpp_quote("HRESULT WINAPI WSDCreateDeviceProxyAdvanced(LPCWSTR pszDeviceId, IWSDAddress* pDeviceAddress, LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceProxy **ppDeviceProxy);")
cpp_quote("#if WINVER >= 0x601")
cpp_quote("HRESULT WINAPI WSDCreateDeviceProxy2(LPCWSTR pszDeviceId, LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceProxy **ppDeviceProxy);")
cpp_quote("#endif")
cpp_quote("#endif")

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,93 @@
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
import "objidl.idl";
import "wsdxmldom.h";
import "wsdtypes.h";
cpp_quote("")
interface IWSDXMLContext;
interface IWSDiscoveryProvider;
interface IWSDiscoveryProviderNotify;
interface IWSDiscoveredService;
interface IWSDiscoveryPublisher;
interface IWSDiscoveryPublisherNotify;
interface IWSDScopeMatchingRule;
[object, local, restricted, uuid (fcafe424-fef5-481a-bd9f-33ce0574256f), pointer_default (unique)]
interface IWSDScopeMatchingRule : IUnknown {
HRESULT GetScopeRule ([out] LPCWSTR *ppszScopeMatchingRule);
HRESULT MatchScopes ([in] LPCWSTR pszScope1,[in] LPCWSTR pszScope2,[out] BOOL *pfMatch);
}
[object, local, restricted, uuid (73ee3ced-b6e6-4329-a546-3e8ad46563d2), pointer_default (unique)]
interface IWSDiscoveryProviderNotify : IUnknown {
HRESULT Add ([in] IWSDiscoveredService *pService);
HRESULT Remove ([in] IWSDiscoveredService *pService);
HRESULT SearchFailed ([in] HRESULT hr,[in, optional] LPCWSTR pszTag);
HRESULT SearchComplete ([in, optional] LPCWSTR pszTag);
}
[object, local, restricted, uuid (8ffc8e55-F0EB-480f-88b7-B435DD281D45), pointer_default (unique)]
interface IWSDiscoveryProvider : IUnknown {
HRESULT SetAddressFamily ([in] DWORD dwAddressFamily);
HRESULT Attach ([in] IWSDiscoveryProviderNotify *pSink);
HRESULT Detach ();
HRESULT SearchById ([in] LPCWSTR pszId,[in, optional] LPCWSTR pszTag);
HRESULT SearchByAddress ([in] LPCWSTR pszAddress,[in, optional] LPCWSTR pszTag);
HRESULT SearchByType ([in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] LPCWSTR pszMatchBy,[in, optional] LPCWSTR pszTag);
HRESULT GetXMLContext ([out] IWSDXMLContext **ppContext);
}
[object, local, restricted, uuid (4bad8a3b-B374-4420-9632-AAC945B374AA), pointer_default (unique)]
interface IWSDiscoveredService : IUnknown {
HRESULT GetEndpointReference ([out] WSD_ENDPOINT_REFERENCE **ppEndpointReference);
HRESULT GetTypes ([out] WSD_NAME_LIST **ppTypesList);
HRESULT GetScopes ([out] WSD_URI_LIST **ppScopesList);
HRESULT GetXAddrs ([out] WSD_URI_LIST **ppXAddrsList);
HRESULT GetMetadataVersion ([out] ULONGLONG *pullMetadataVersion);
HRESULT GetExtendedDiscoXML ([out] WSDXML_ELEMENT **ppHeaderAny,[out] WSDXML_ELEMENT **ppBodyAny);
HRESULT GetProbeResolveTag ([out] LPCWSTR *ppszTag);
HRESULT GetRemoteTransportAddress ([out] LPCWSTR *ppszRemoteTransportAddress);
HRESULT GetLocalTransportAddress ([out] LPCWSTR *ppszLocalTransportAddress);
HRESULT GetLocalInterfaceGUID ([out] GUID *pGuid);
HRESULT GetInstanceId ([out] ULONGLONG *pullInstanceId);
}
[object, local, restricted, uuid (e67651b0-337a-4b3c-9758-733388568251), pointer_default (unique)]
interface IWSDiscoveryPublisherNotify : IUnknown {
HRESULT ProbeHandler ([in] const WSD_SOAP_MESSAGE *pSoap,[in] IWSDMessageParameters *pMessageParameters);
HRESULT ResolveHandler ([in] const WSD_SOAP_MESSAGE *pSoap,[in] IWSDMessageParameters *pMessageParameters);
}
[object, local, restricted, uuid (AE01E1A8-3ff9-4148-8116-057cc616fe13), pointer_default (unique)]
interface IWSDiscoveryPublisher : IUnknown {
HRESULT SetAddressFamily ([in] DWORD dwAddressFamily);
HRESULT RegisterNotificationSink ([in] IWSDiscoveryPublisherNotify *pSink);
HRESULT UnRegisterNotificationSink ([in] IWSDiscoveryPublisherNotify *pSink);
HRESULT Publish ([in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList);
HRESULT UnPublish ([in] LPCWSTR pszId,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSDXML_ELEMENT *pAny);
HRESULT MatchProbe ([in] const WSD_SOAP_MESSAGE *pProbeMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList);
HRESULT MatchResolve ([in] const WSD_SOAP_MESSAGE *pResolveMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList);
HRESULT PublishEx ([in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList,[in, optional] const WSDXML_ELEMENT *pHeaderAny,[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,[in, optional] const WSDXML_ELEMENT *pPolicyAny,[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,[in, optional] const WSDXML_ELEMENT *pAny);
HRESULT MatchProbeEx ([in] const WSD_SOAP_MESSAGE *pProbeMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList,[in, optional] const WSDXML_ELEMENT *pHeaderAny,[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,[in, optional] const WSDXML_ELEMENT *pPolicyAny,[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,[in, optional] const WSDXML_ELEMENT *pAny);
HRESULT MatchResolveEx ([in] const WSD_SOAP_MESSAGE *pResolveMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList,[in, optional] const WSDXML_ELEMENT *pHeaderAny,[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,[in, optional] const WSDXML_ELEMENT *pPolicyAny,[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,[in, optional] const WSDXML_ELEMENT *pAny);
HRESULT RegisterScopeMatchingRule ([in] IWSDScopeMatchingRule *pScopeMatchingRule);
HRESULT UnRegisterScopeMatchingRule ([in] IWSDScopeMatchingRule *pScopeMatchingRule);
HRESULT GetXMLContext ([out] IWSDXMLContext **ppContext);
}
cpp_quote("HRESULT WINAPI WSDCreateDiscoveryProvider(IWSDXMLContext *pContext, IWSDiscoveryProvider **ppProvider);")
cpp_quote("HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext* pContext, IWSDiscoveryPublisher **ppPublisher);")
cpp_quote("#if WINVER >= 0x601")
cpp_quote("HRESULT WINAPI WSDCreateDiscoveryProvider2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryProvider **ppProvider);")
cpp_quote("HRESULT WINAPI WSDCreateDiscoveryPublisher2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryPublisher **ppPublisher);")
cpp_quote("#endif")
cpp_quote("#endif")

View File

@ -1,117 +1,632 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_WSDHOST
#define _INC_WSDHOST
/*** Autogenerated by WIDL 1.6 from wsdhost.idl - Do not edit ***/
#ifndef _INC_WSDAPI
#error Please include wsdapi.h instead of this header. This header cannot be used directly.
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#if (_WIN32_WINNT >= 0x0600)
#include <rpc.h>
#include <rpcndr.h>
#undef INTERFACE
#define INTERFACE IWSDServiceMessaging
DECLARE_INTERFACE_(IWSDServiceMessaging,IUnknown) {
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
/* IWSDServiceMessaging methods */
STDMETHOD_(HRESULT,SendResponse)(THIS_ void *pBody,WSD_OPERATION *pOperation,IWSDMessageParameters *pMessageParameters) PURE;
STDMETHOD_(HRESULT,FaultRequest)(THIS_ WSD_SOAP_HEADER *pRequestHeader,IWSDMessageParameters *pMessageParameters,WSD_SOAP_FAULT *pFault) PURE;
END_INTERFACE
};
#ifdef COBJMACROS
#define IWSDServiceMessaging_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDServiceMessaging_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDServiceMessaging_Release(This) (This)->lpVtbl->Release(This)
#define IWSDServiceMessaging_FaultRequest(This,pRequestHeader,pMessageParameters,pFault) (This)->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault)
#define IWSDServiceMessaging_SendResponse(This,pBody,pOperation,pMessageParameters) (This)->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters)
#endif /*COBJMACROS*/
#ifndef __wsdhost_h__
#define __wsdhost_h__
#undef INTERFACE
#define INTERFACE IWSDDeviceHostNotify
DECLARE_INTERFACE_(IWSDDeviceHostNotify,IUnknown) {
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* Forward declarations */
#ifndef __IWSDDeviceHostNotify_FWD_DEFINED__
#define __IWSDDeviceHostNotify_FWD_DEFINED__
typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify;
#endif
/* IWSDDeviceHostNotify methods */
STDMETHOD_(HRESULT,GetService)(THIS_ LPCWSTR pszServiceId,IUnknown **ppService) PURE;
END_INTERFACE
};
#ifdef COBJMACROS
#define IWSDDeviceHostNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDDeviceHostNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDDeviceHostNotify_Release(This) (This)->lpVtbl->Release(This)
#define IWSDDeviceHostNotify_GetService(This,pszServiceId,ppService) (This)->lpVtbl->GetService(This,pszServiceId,ppService)
#endif /*COBJMACROS*/
#undef INTERFACE
#define INTERFACE IWSDDeviceHost
DECLARE_INTERFACE_(IWSDDeviceHost,IUnknown) {
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
#ifndef __IWSDServiceMessaging_FWD_DEFINED__
#define __IWSDServiceMessaging_FWD_DEFINED__
typedef interface IWSDServiceMessaging IWSDServiceMessaging;
#endif
/* IWSDDeviceHost methods */
STDMETHOD_(HRESULT,Init)(THIS_ LPCWSTR pszLocalId,DWORD dwHostAddressCount) PURE;
STDMETHOD_(HRESULT,Start)(THIS_ ULONGLONG ullInstanceId,const WSD_URI_LIST *pScopeList,IWSDDeviceHostNotify *pNotificationSink) PURE;
STDMETHOD_(HRESULT,Stop)(THIS) PURE;
STDMETHOD_(HRESULT,Terminate)(THIS) PURE;
STDMETHOD_(HRESULT,RegisterPortType)(THIS_ const WSD_PORT_TYPE *pPortType) PURE;
STDMETHOD_(HRESULT,SetMetadata)(THIS_ const WSD_THIS_MODEL_METADATA *pThisModelMetadata,const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,const WSD_METADATA_SECTION_LIST *pCustomMetadata) PURE;
STDMETHOD_(HRESULT,RegisterService)(THIS_ LPCWSTR pszServiceId,IUnknown *pService) PURE;
STDMETHOD_(HRESULT,RetireService)(THIS_ LPCWSTR pszServiceId) PURE;
STDMETHOD_(HRESULT,AddDynamicService)(THIS_ LPCWSTR pszServiceId,IUnknown *pService) PURE;
STDMETHOD_(HRESULT,RemoveDynamicService)(THIS_ LPCWSTR pszServiceId) PURE;
STDMETHOD_(HRESULT,SetServiceDiscoverable)(THIS_ const WCHAR *pszServiceId,WINBOOL fDiscoverable) PURE;
STDMETHOD_(HRESULT,SignalEvent)(THIS_ LPCWSTR pszServiceId,const void *pBody,const WSD_OPERATION *pOperation) PURE;
END_INTERFACE
};
#ifdef COBJMACROS
#define IWSDDeviceHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDDeviceHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDDeviceHost_Release(This) (This)->lpVtbl->Release(This)
#define IWSDDeviceHost_Init(This,pszLocalId,dwHostAddressCount) (This)->lpVtbl->Init(This,pszLocalId,dwHostAddressCount)
#define IWSDDeviceHost_Start(This,ullInstanceId,pScopeList,pNotificationSink) (This)->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink)
#define IWSDDeviceHost_Stop() (This)->lpVtbl->Stop(This)
#define IWSDDeviceHost_Terminate() (This)->lpVtbl->Terminate(This)
#define IWSDDeviceHost_RegisterPortType(This,pPortType) (This)->lpVtbl->RegisterPortType(This,pPortType)
#define IWSDDeviceHost_SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pCustomMetadata) (This)->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pCustomMetadata)
#define IWSDDeviceHost_RegisterService(This,pszServiceId,pService) (This)->lpVtbl->RegisterService(This,pszServiceId,pService)
#define IWSDDeviceHost_RetireService(This,pszServiceId) (This)->lpVtbl->RetireService(This,pszServiceId)
#define IWSDDeviceHost_AddDynamicService(This,pszServiceId,pService) (This)->lpVtbl->AddDynamicService(This,pszServiceId,pService)
#define IWSDDeviceHost_RemoveDynamicService(This,pszServiceId) (This)->lpVtbl->RemoveDynamicService(This,pszServiceId)
#define IWSDDeviceHost_SetServiceDiscoverable(This,pszServiceId,fDiscoverable) (This)->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable)
#define IWSDDeviceHost_SignalEvent(This,pszServiceId,pBody,pOperation) (This)->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation)
#endif /*COBJMACROS*/
#ifndef __IWSDDeviceHost_FWD_DEFINED__
#define __IWSDDeviceHost_FWD_DEFINED__
typedef interface IWSDDeviceHost IWSDDeviceHost;
#endif
/* Headers for imported files */
#include <oaidl.h>
#include <ocidl.h>
#include <wsdxmldom.h>
#include <wsdtypes.h>
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI WSDCreateDeviceHost(const WCHAR *pszLocalId, IWSDXMLContext *pContext, IWSDDeviceHost **ppDeviceHost);
HRESULT WSDCreateDeviceHostAdvanced(const WCHAR *pszLocalId, IWSDXMLContext *pContext, IWSDAddress **ppHostAddresses, DWORD dwHostAddressCount, IWSDDeviceHost **ppDeviceHost);
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifndef __IWSDAddress_FWD_DEFINED__
#define __IWSDAddress_FWD_DEFINED__
typedef interface IWSDAddress IWSDAddress;
#endif
#ifndef __IWSDXMLContext_FWD_DEFINED__
#define __IWSDXMLContext_FWD_DEFINED__
typedef interface IWSDXMLContext IWSDXMLContext;
#endif
#ifndef __IWSDDeviceHost_FWD_DEFINED__
#define __IWSDDeviceHost_FWD_DEFINED__
typedef interface IWSDDeviceHost IWSDDeviceHost;
#endif
#ifndef __IWSDDeviceHostNotify_FWD_DEFINED__
#define __IWSDDeviceHostNotify_FWD_DEFINED__
typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify;
#endif
#ifndef __IWSDServiceMessaging_FWD_DEFINED__
#define __IWSDServiceMessaging_FWD_DEFINED__
typedef interface IWSDServiceMessaging IWSDServiceMessaging;
#endif
/*****************************************************************************
* IWSDDeviceHostNotify interface
*/
#ifndef __IWSDDeviceHostNotify_INTERFACE_DEFINED__
#define __IWSDDeviceHostNotify_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWSDDeviceHostNotify, 0xb5bee9f9, 0xeeda, 0x41fe, 0x96,0xf7, 0xf4,0x5e,0x14,0x99,0x0f,0xb0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b5bee9f9-eeda-41fe-96f7-f45e14990fb0")
IWSDDeviceHostNotify : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetService(
LPCWSTR pszServiceId,
IUnknown **ppService) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWSDDeviceHostNotify, 0xb5bee9f9, 0xeeda, 0x41fe, 0x96,0xf7, 0xf4,0x5e,0x14,0x99,0x0f,0xb0)
#endif
#else
typedef struct IWSDDeviceHostNotifyVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWSDDeviceHostNotify* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWSDDeviceHostNotify* This);
ULONG (STDMETHODCALLTYPE *Release)(
IWSDDeviceHostNotify* This);
/*** IWSDDeviceHostNotify methods ***/
HRESULT (STDMETHODCALLTYPE *GetService)(
IWSDDeviceHostNotify* This,
LPCWSTR pszServiceId,
IUnknown **ppService);
END_INTERFACE
} IWSDDeviceHostNotifyVtbl;
interface IWSDDeviceHostNotify {
CONST_VTBL IWSDDeviceHostNotifyVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWSDDeviceHostNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDDeviceHostNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDDeviceHostNotify_Release(This) (This)->lpVtbl->Release(This)
/*** IWSDDeviceHostNotify methods ***/
#define IWSDDeviceHostNotify_GetService(This,pszServiceId,ppService) (This)->lpVtbl->GetService(This,pszServiceId,ppService)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWSDDeviceHostNotify_QueryInterface(IWSDDeviceHostNotify* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWSDDeviceHostNotify_AddRef(IWSDDeviceHostNotify* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWSDDeviceHostNotify_Release(IWSDDeviceHostNotify* This) {
return This->lpVtbl->Release(This);
}
/*** IWSDDeviceHostNotify methods ***/
static FORCEINLINE HRESULT IWSDDeviceHostNotify_GetService(IWSDDeviceHostNotify* This,LPCWSTR pszServiceId,IUnknown **ppService) {
return This->lpVtbl->GetService(This,pszServiceId,ppService);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IWSDDeviceHostNotify_GetService_Proxy(
IWSDDeviceHostNotify* This,
LPCWSTR pszServiceId,
IUnknown **ppService);
void __RPC_STUB IWSDDeviceHostNotify_GetService_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IWSDDeviceHostNotify_INTERFACE_DEFINED__ */
/*****************************************************************************
* IWSDServiceMessaging interface
*/
#ifndef __IWSDServiceMessaging_INTERFACE_DEFINED__
#define __IWSDServiceMessaging_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWSDServiceMessaging, 0x94974cf4, 0x0cab, 0x460d, 0xa3,0xf6, 0x7a,0x0a,0xd6,0x23,0xc0,0xe6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("94974cf4-0cab-460d-a3f6-7a0ad623c0e6")
IWSDServiceMessaging : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SendResponse(
void *pBody,
WSD_OPERATION *pOperation,
IWSDMessageParameters *pMessageParameters) = 0;
virtual HRESULT STDMETHODCALLTYPE FaultRequest(
WSD_SOAP_HEADER *pRequestHeader,
IWSDMessageParameters *pMessageParameters,
WSD_SOAP_FAULT *pFault) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWSDServiceMessaging, 0x94974cf4, 0x0cab, 0x460d, 0xa3,0xf6, 0x7a,0x0a,0xd6,0x23,0xc0,0xe6)
#endif
#else
typedef struct IWSDServiceMessagingVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWSDServiceMessaging* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWSDServiceMessaging* This);
ULONG (STDMETHODCALLTYPE *Release)(
IWSDServiceMessaging* This);
/*** IWSDServiceMessaging methods ***/
HRESULT (STDMETHODCALLTYPE *SendResponse)(
IWSDServiceMessaging* This,
void *pBody,
WSD_OPERATION *pOperation,
IWSDMessageParameters *pMessageParameters);
HRESULT (STDMETHODCALLTYPE *FaultRequest)(
IWSDServiceMessaging* This,
WSD_SOAP_HEADER *pRequestHeader,
IWSDMessageParameters *pMessageParameters,
WSD_SOAP_FAULT *pFault);
END_INTERFACE
} IWSDServiceMessagingVtbl;
interface IWSDServiceMessaging {
CONST_VTBL IWSDServiceMessagingVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWSDServiceMessaging_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDServiceMessaging_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDServiceMessaging_Release(This) (This)->lpVtbl->Release(This)
/*** IWSDServiceMessaging methods ***/
#define IWSDServiceMessaging_SendResponse(This,pBody,pOperation,pMessageParameters) (This)->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters)
#define IWSDServiceMessaging_FaultRequest(This,pRequestHeader,pMessageParameters,pFault) (This)->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWSDServiceMessaging_QueryInterface(IWSDServiceMessaging* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWSDServiceMessaging_AddRef(IWSDServiceMessaging* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWSDServiceMessaging_Release(IWSDServiceMessaging* This) {
return This->lpVtbl->Release(This);
}
/*** IWSDServiceMessaging methods ***/
static FORCEINLINE HRESULT IWSDServiceMessaging_SendResponse(IWSDServiceMessaging* This,void *pBody,WSD_OPERATION *pOperation,IWSDMessageParameters *pMessageParameters) {
return This->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters);
}
static FORCEINLINE HRESULT IWSDServiceMessaging_FaultRequest(IWSDServiceMessaging* This,WSD_SOAP_HEADER *pRequestHeader,IWSDMessageParameters *pMessageParameters,WSD_SOAP_FAULT *pFault) {
return This->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IWSDServiceMessaging_SendResponse_Proxy(
IWSDServiceMessaging* This,
void *pBody,
WSD_OPERATION *pOperation,
IWSDMessageParameters *pMessageParameters);
void __RPC_STUB IWSDServiceMessaging_SendResponse_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDServiceMessaging_FaultRequest_Proxy(
IWSDServiceMessaging* This,
WSD_SOAP_HEADER *pRequestHeader,
IWSDMessageParameters *pMessageParameters,
WSD_SOAP_FAULT *pFault);
void __RPC_STUB IWSDServiceMessaging_FaultRequest_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IWSDServiceMessaging_INTERFACE_DEFINED__ */
/*****************************************************************************
* IWSDDeviceHost interface
*/
#ifndef __IWSDDeviceHost_INTERFACE_DEFINED__
#define __IWSDDeviceHost_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWSDDeviceHost, 0x917fe891, 0x3d13, 0x4138, 0x98,0x09, 0x93,0x4c,0x8a,0xbe,0xb1,0x2c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("917fe891-3d13-4138-9809-934c8abeb12c")
IWSDDeviceHost : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Init(
LPCWSTR pszLocalId,
IWSDXMLContext *pContext,
IWSDAddress **ppHostAddresses,
DWORD dwHostAddressCount) = 0;
virtual HRESULT STDMETHODCALLTYPE Start(
ULONGLONG ullInstanceId,
const WSD_URI_LIST *pScopeList,
IWSDDeviceHostNotify *pNotificationSink) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Terminate(
) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterPortType(
const WSD_PORT_TYPE *pPortType) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMetadata(
const WSD_THIS_MODEL_METADATA *pThisModelMetadata,
const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,
const WSD_HOST_METADATA *pHostMetadata,
const WSD_METADATA_SECTION_LIST *pCustomMetadata) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterService(
LPCWSTR pszServiceId,
IUnknown *pService) = 0;
virtual HRESULT STDMETHODCALLTYPE RetireService(
LPCWSTR pszServiceId) = 0;
virtual HRESULT STDMETHODCALLTYPE AddDynamicService(
LPCWSTR pszServiceId,
LPCWSTR pszEndpointAddress,
const WSD_PORT_TYPE *pPortType,
const WSDXML_NAME *pPortName,
const WSDXML_ELEMENT *pAny,
IUnknown *pService) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveDynamicService(
LPCWSTR pszServiceId) = 0;
virtual HRESULT STDMETHODCALLTYPE SetServiceDiscoverable(
LPCWSTR pszServiceId,
WINBOOL fDiscoverable) = 0;
virtual HRESULT STDMETHODCALLTYPE SignalEvent(
LPCWSTR pszServiceId,
const void *pBody,
const WSD_OPERATION *pOperation) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWSDDeviceHost, 0x917fe891, 0x3d13, 0x4138, 0x98,0x09, 0x93,0x4c,0x8a,0xbe,0xb1,0x2c)
#endif
#else
typedef struct IWSDDeviceHostVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWSDDeviceHost* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWSDDeviceHost* This);
ULONG (STDMETHODCALLTYPE *Release)(
IWSDDeviceHost* This);
/*** IWSDDeviceHost methods ***/
HRESULT (STDMETHODCALLTYPE *Init)(
IWSDDeviceHost* This,
LPCWSTR pszLocalId,
IWSDXMLContext *pContext,
IWSDAddress **ppHostAddresses,
DWORD dwHostAddressCount);
HRESULT (STDMETHODCALLTYPE *Start)(
IWSDDeviceHost* This,
ULONGLONG ullInstanceId,
const WSD_URI_LIST *pScopeList,
IWSDDeviceHostNotify *pNotificationSink);
HRESULT (STDMETHODCALLTYPE *Stop)(
IWSDDeviceHost* This);
HRESULT (STDMETHODCALLTYPE *Terminate)(
IWSDDeviceHost* This);
HRESULT (STDMETHODCALLTYPE *RegisterPortType)(
IWSDDeviceHost* This,
const WSD_PORT_TYPE *pPortType);
HRESULT (STDMETHODCALLTYPE *SetMetadata)(
IWSDDeviceHost* This,
const WSD_THIS_MODEL_METADATA *pThisModelMetadata,
const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,
const WSD_HOST_METADATA *pHostMetadata,
const WSD_METADATA_SECTION_LIST *pCustomMetadata);
HRESULT (STDMETHODCALLTYPE *RegisterService)(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
IUnknown *pService);
HRESULT (STDMETHODCALLTYPE *RetireService)(
IWSDDeviceHost* This,
LPCWSTR pszServiceId);
HRESULT (STDMETHODCALLTYPE *AddDynamicService)(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
LPCWSTR pszEndpointAddress,
const WSD_PORT_TYPE *pPortType,
const WSDXML_NAME *pPortName,
const WSDXML_ELEMENT *pAny,
IUnknown *pService);
HRESULT (STDMETHODCALLTYPE *RemoveDynamicService)(
IWSDDeviceHost* This,
LPCWSTR pszServiceId);
HRESULT (STDMETHODCALLTYPE *SetServiceDiscoverable)(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
WINBOOL fDiscoverable);
HRESULT (STDMETHODCALLTYPE *SignalEvent)(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
const void *pBody,
const WSD_OPERATION *pOperation);
END_INTERFACE
} IWSDDeviceHostVtbl;
interface IWSDDeviceHost {
CONST_VTBL IWSDDeviceHostVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWSDDeviceHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDDeviceHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDDeviceHost_Release(This) (This)->lpVtbl->Release(This)
/*** IWSDDeviceHost methods ***/
#define IWSDDeviceHost_Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount) (This)->lpVtbl->Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount)
#define IWSDDeviceHost_Start(This,ullInstanceId,pScopeList,pNotificationSink) (This)->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink)
#define IWSDDeviceHost_Stop(This) (This)->lpVtbl->Stop(This)
#define IWSDDeviceHost_Terminate(This) (This)->lpVtbl->Terminate(This)
#define IWSDDeviceHost_RegisterPortType(This,pPortType) (This)->lpVtbl->RegisterPortType(This,pPortType)
#define IWSDDeviceHost_SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata) (This)->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata)
#define IWSDDeviceHost_RegisterService(This,pszServiceId,pService) (This)->lpVtbl->RegisterService(This,pszServiceId,pService)
#define IWSDDeviceHost_RetireService(This,pszServiceId) (This)->lpVtbl->RetireService(This,pszServiceId)
#define IWSDDeviceHost_AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService) (This)->lpVtbl->AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService)
#define IWSDDeviceHost_RemoveDynamicService(This,pszServiceId) (This)->lpVtbl->RemoveDynamicService(This,pszServiceId)
#define IWSDDeviceHost_SetServiceDiscoverable(This,pszServiceId,fDiscoverable) (This)->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable)
#define IWSDDeviceHost_SignalEvent(This,pszServiceId,pBody,pOperation) (This)->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWSDDeviceHost_QueryInterface(IWSDDeviceHost* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWSDDeviceHost_AddRef(IWSDDeviceHost* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWSDDeviceHost_Release(IWSDDeviceHost* This) {
return This->lpVtbl->Release(This);
}
/*** IWSDDeviceHost methods ***/
static FORCEINLINE HRESULT IWSDDeviceHost_Init(IWSDDeviceHost* This,LPCWSTR pszLocalId,IWSDXMLContext *pContext,IWSDAddress **ppHostAddresses,DWORD dwHostAddressCount) {
return This->lpVtbl->Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount);
}
static FORCEINLINE HRESULT IWSDDeviceHost_Start(IWSDDeviceHost* This,ULONGLONG ullInstanceId,const WSD_URI_LIST *pScopeList,IWSDDeviceHostNotify *pNotificationSink) {
return This->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink);
}
static FORCEINLINE HRESULT IWSDDeviceHost_Stop(IWSDDeviceHost* This) {
return This->lpVtbl->Stop(This);
}
static FORCEINLINE HRESULT IWSDDeviceHost_Terminate(IWSDDeviceHost* This) {
return This->lpVtbl->Terminate(This);
}
static FORCEINLINE HRESULT IWSDDeviceHost_RegisterPortType(IWSDDeviceHost* This,const WSD_PORT_TYPE *pPortType) {
return This->lpVtbl->RegisterPortType(This,pPortType);
}
static FORCEINLINE HRESULT IWSDDeviceHost_SetMetadata(IWSDDeviceHost* This,const WSD_THIS_MODEL_METADATA *pThisModelMetadata,const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,const WSD_HOST_METADATA *pHostMetadata,const WSD_METADATA_SECTION_LIST *pCustomMetadata) {
return This->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata);
}
static FORCEINLINE HRESULT IWSDDeviceHost_RegisterService(IWSDDeviceHost* This,LPCWSTR pszServiceId,IUnknown *pService) {
return This->lpVtbl->RegisterService(This,pszServiceId,pService);
}
static FORCEINLINE HRESULT IWSDDeviceHost_RetireService(IWSDDeviceHost* This,LPCWSTR pszServiceId) {
return This->lpVtbl->RetireService(This,pszServiceId);
}
static FORCEINLINE HRESULT IWSDDeviceHost_AddDynamicService(IWSDDeviceHost* This,LPCWSTR pszServiceId,LPCWSTR pszEndpointAddress,const WSD_PORT_TYPE *pPortType,const WSDXML_NAME *pPortName,const WSDXML_ELEMENT *pAny,IUnknown *pService) {
return This->lpVtbl->AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService);
}
static FORCEINLINE HRESULT IWSDDeviceHost_RemoveDynamicService(IWSDDeviceHost* This,LPCWSTR pszServiceId) {
return This->lpVtbl->RemoveDynamicService(This,pszServiceId);
}
static FORCEINLINE HRESULT IWSDDeviceHost_SetServiceDiscoverable(IWSDDeviceHost* This,LPCWSTR pszServiceId,WINBOOL fDiscoverable) {
return This->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable);
}
static FORCEINLINE HRESULT IWSDDeviceHost_SignalEvent(IWSDDeviceHost* This,LPCWSTR pszServiceId,const void *pBody,const WSD_OPERATION *pOperation) {
return This->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Init_Proxy(
IWSDDeviceHost* This,
LPCWSTR pszLocalId,
IWSDXMLContext *pContext,
IWSDAddress **ppHostAddresses,
DWORD dwHostAddressCount);
void __RPC_STUB IWSDDeviceHost_Init_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Start_Proxy(
IWSDDeviceHost* This,
ULONGLONG ullInstanceId,
const WSD_URI_LIST *pScopeList,
IWSDDeviceHostNotify *pNotificationSink);
void __RPC_STUB IWSDDeviceHost_Start_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Stop_Proxy(
IWSDDeviceHost* This);
void __RPC_STUB IWSDDeviceHost_Stop_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_Terminate_Proxy(
IWSDDeviceHost* This);
void __RPC_STUB IWSDDeviceHost_Terminate_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RegisterPortType_Proxy(
IWSDDeviceHost* This,
const WSD_PORT_TYPE *pPortType);
void __RPC_STUB IWSDDeviceHost_RegisterPortType_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SetMetadata_Proxy(
IWSDDeviceHost* This,
const WSD_THIS_MODEL_METADATA *pThisModelMetadata,
const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,
const WSD_HOST_METADATA *pHostMetadata,
const WSD_METADATA_SECTION_LIST *pCustomMetadata);
void __RPC_STUB IWSDDeviceHost_SetMetadata_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RegisterService_Proxy(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
IUnknown *pService);
void __RPC_STUB IWSDDeviceHost_RegisterService_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RetireService_Proxy(
IWSDDeviceHost* This,
LPCWSTR pszServiceId);
void __RPC_STUB IWSDDeviceHost_RetireService_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_AddDynamicService_Proxy(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
LPCWSTR pszEndpointAddress,
const WSD_PORT_TYPE *pPortType,
const WSDXML_NAME *pPortName,
const WSDXML_ELEMENT *pAny,
IUnknown *pService);
void __RPC_STUB IWSDDeviceHost_AddDynamicService_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_RemoveDynamicService_Proxy(
IWSDDeviceHost* This,
LPCWSTR pszServiceId);
void __RPC_STUB IWSDDeviceHost_RemoveDynamicService_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SetServiceDiscoverable_Proxy(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
WINBOOL fDiscoverable);
void __RPC_STUB IWSDDeviceHost_SetServiceDiscoverable_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDDeviceHost_SignalEvent_Proxy(
IWSDDeviceHost* This,
LPCWSTR pszServiceId,
const void *pBody,
const WSD_OPERATION *pOperation);
void __RPC_STUB IWSDDeviceHost_SignalEvent_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IWSDDeviceHost_INTERFACE_DEFINED__ */
HRESULT WINAPI WSDCreateDeviceHost(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceHost **ppDeviceHost);
#if WINVER >= 0x601
HRESULT WINAPI WSDCreateDeviceHost2(LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceHost **ppDeviceHost);
#endif
HRESULT WINAPI WSDCreateDeviceHostAdvanced(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDAddress** ppHostAddresses, DWORD dwHostAddressCount, IWSDDeviceHost **ppDeviceHost);
#endif
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_WSDHOST*/
#endif /* __wsdhost_h__ */

View File

@ -0,0 +1,54 @@
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
import "oaidl.idl";
import "ocidl.idl";
import "wsdxmldom.h";
import "wsdtypes.h";
cpp_quote("")
interface IWSDAddress;
interface IWSDXMLContext;
interface IWSDDeviceHost;
interface IWSDDeviceHostNotify;
interface IWSDServiceMessaging;
[object, restricted, uuid (b5bee9f9-eeda-41fe-96f7-f45e14990fb0), pointer_default (unique)]
interface IWSDDeviceHostNotify : IUnknown {
HRESULT GetService ([in] LPCWSTR pszServiceId,[out] IUnknown **ppService);
};
[object, local, restricted, uuid (94974cf4-0cab-460d-a3f6-7a0ad623c0e6), pointer_default (unique)]
interface IWSDServiceMessaging : IUnknown {
HRESULT SendResponse ([in] 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);
};
[object, local, restricted, uuid (917fe891-3d13-4138-9809-934c8abeb12c), pointer_default (unique)]
interface IWSDDeviceHost : IUnknown {
HRESULT Init ([in] LPCWSTR pszLocalId,[in, optional] IWSDXMLContext *pContext,[in, optional] 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] LPCWSTR pszServiceId,[in] IUnknown *pService);
HRESULT RetireService ([in] LPCWSTR pszServiceId);
HRESULT AddDynamicService ([in] LPCWSTR pszServiceId,[in, optional] 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] LPCWSTR pszServiceId);
HRESULT SetServiceDiscoverable ([in] LPCWSTR pszServiceId,[in] BOOL fDiscoverable);
HRESULT SignalEvent ([in] LPCWSTR pszServiceId,[in] const void *pBody,[in] const WSD_OPERATION *pOperation);
};
cpp_quote("HRESULT WINAPI WSDCreateDeviceHost(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceHost **ppDeviceHost);")
cpp_quote("#if WINVER >= 0x601")
cpp_quote("HRESULT WINAPI WSDCreateDeviceHost2(LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceHost **ppDeviceHost);")
cpp_quote("#endif")
cpp_quote("HRESULT WINAPI WSDCreateDeviceHostAdvanced(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDAddress** ppHostAddresses, DWORD dwHostAddressCount, IWSDDeviceHost **ppDeviceHost);")
cpp_quote("#endif")

View File

@ -1,46 +1,347 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
/*** Autogenerated by WIDL 1.6 from wsdxml.idl - Do not edit ***/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __wsdxml_h__
#define __wsdxml_h__
/* Forward declarations */
#ifndef __IWSDXMLContext_FWD_DEFINED__
#define __IWSDXMLContext_FWD_DEFINED__
typedef interface IWSDXMLContext IWSDXMLContext;
#endif
/* Headers for imported files */
#include <oaidl.h>
#include <ocidl.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifndef __IWSDXMLContext_FWD_DEFINED__
#define __IWSDXMLContext_FWD_DEFINED__
typedef interface IWSDXMLContext IWSDXMLContext;
#endif
enum {
OpNone = 0,
OpEndOfTable = 1,
OpBeginElement_ = 2,
OpBeginAnyElement = 3,
OpEndElement = 4,
OpElement_ = 5,
OpAnyElement = 6,
OpAnyElements = 7,
OpAnyText = 8,
OpAttribute_ = 9,
OpBeginChoice = 10,
OpEndChoice = 11,
OpBeginSequence = 12,
OpEndSequence = 13,
OpBeginAll = 14,
OpEndAll = 15,
OpAnything = 16,
OpAnyNumber = 17,
OpOneOrMore = 18,
OpOptional = 19,
OpFormatBool_ = 20,
OpFormatInt8_ = 21,
OpFormatInt16_ = 22,
OpFormatInt32_ = 23,
OpFormatInt64_ = 24,
OpFormatUInt8_ = 25,
OpFormatUInt16_ = 26,
OpFormatUInt32_ = 27,
OpFormatUInt64_ = 28,
OpFormatUnicodeString_ = 29,
OpFormatDom_ = 30,
OpFormatStruct_ = 31,
OpFormatUri_ = 32,
OpFormatUuidUri_ = 33,
OpFormatName_ = 34,
OpFormatListInsertTail_ = 35,
OpFormatType_ = 36,
OpFormatDynamicType_ = 37,
OpFormatLookupType_ = 38,
OpFormatDuration_ = 39,
OpFormatDateTime_ = 40,
OpFormatFloat_ = 41,
OpFormatDouble_ = 42,
OpProcess_ = 43,
OpQualifiedAttribute_ = 44,
OpFormatXMLDeclaration_ = 45,
OpFormatMax = 46
};
typedef struct _WSDXML_NAMESPACE WSDXML_NAMESPACE;
typedef const WSDXML_NAMESPACE *PCWSDXML_NAMESPACE;
typedef struct _WSDXML_NAME WSDXML_NAME;
typedef struct _WSDXML_TYPE WSDXML_TYPE;
typedef const WSDXML_TYPE *PCWSDXML_TYPE;
typedef struct _WSDXML_PREFIX_MAPPING WSDXML_PREFIX_MAPPING;
typedef struct _WSDXML_ATTRIBUTE WSDXML_ATTRIBUTE;
typedef struct _WSDXML_NODE WSDXML_NODE;
typedef struct _WSDXML_ELEMENT WSDXML_ELEMENT;
typedef struct _WSDXML_TEXT WSDXML_TEXT;
typedef struct _WSDXML_ELEMENT_LIST WSDXML_ELEMENT_LIST;
typedef struct _WSD_DATETIME {
WINBOOL isPositive;
ULONG year;
UCHAR month;
UCHAR day;
UCHAR hour;
UCHAR minute;
UCHAR second;
UINT millisecond;
WINBOOL TZIsLocal;
WINBOOL TZIsPositive;
UCHAR TZHour;
UCHAR TZMinute;
} WSD_DATETIME;
typedef struct _WSD_DURATION {
WINBOOL isPositive;
ULONG year;
ULONG month;
ULONG day;
ULONG hour;
ULONG minute;
ULONG second;
ULONG millisecond;
} WSD_DURATION;
#define WSDXML_TYPE_ENCODING(tidx,lno) ((((DWORD) lno) << 28) | tidx)
#define WSDXML_NAMESPACE_ENCODING(nsidx, lno) ((((WORD) lno) << 12) | nsidx)
#define WSDXML_NAME_ENCODING(nidx, nsenc) ((((DWORD) nsenc) << 16) | nidx)
#define OFFSET(type,field) ((DWORD_PTR) (&((type *)0)->field))
#define BYTE0(n) (BYTE) (((DWORD) n) & 0xff)
#define BYTE1(n) (BYTE) ((((DWORD) n) >> 8) & 0xff)
#define BYTE2(n) (BYTE) ((((DWORD) n) >> 16) & 0xff)
#define BYTE3(n) (BYTE)((((DWORD) n) >> 24) & 0xff)
#define BYTES(n) BYTE0(n), BYTE1(n), BYTE2(n), BYTE3(n)
#define OpAttribute(name) OpAttribute_, BYTES(name)
#define OpBeginElement(name) OpBeginElement_, BYTES(name)
#define OpElement(name) OpElement_, BYTES(name)
#define OpFormatBool(type,field,isptr) OpFormatBool_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatDateTime(type,field) OpFormatDateTime_, BYTES(OFFSET(type,field))
#define OpFormatDom(type,field) OpFormatDom_, BYTES(OFFSET(type,field))
#define OpFormatDouble(type,field,isptr) OpFormatDouble_, BYTES(isptr),BYTES(OFFSET(type,field))
#define OpFormatDuration(type,field) OpFormatDuration_, BYTES(OFFSET(type,field))
#define OpFormatDynamicType(name,type,field) OpFormatDynamicType_, BYTES(name),BYTES(OFFSET(type,field))
#define OpFormatFloat(type,field,isptr) OpFormatFloat_, BYTES(isptr),BYTES(OFFSET(type,field))
#define OpFormatInt8(type,field,isptr) OpFormatInt8_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatInt16(type,field,isptr) OpFormatInt16_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatInt32(type,field,isptr) OpFormatInt32_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatInt64(type,field,isptr) OpFormatInt64_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatListInsertTail(s,type,field) OpFormatListInsertTail_,BYTES(sizeof(s)),BYTES(OFFSET(type,field))
#define OpFormatLookupType(uriField,type,field) OpFormatLookupType_, BYTES(OFFSET(type,uriField)),BYTES(OFFSET(type,field))
#define OpFormatName(type,field) OpFormatName_, BYTES(OFFSET(type,field))
#define OpFormatPointerToStruct(sType) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(0)
#define OpFormatStruct(sType,type,field) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(OFFSET(type,field))
#define OpFormatType(table,type,field) OpFormatType_, BYTES(table),BYTES(OFFSET(type,field))
#define OpFormatUInt8(type,field,isptr) OpFormatUInt8_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatUInt16(type,field,isptr) OpFormatUInt16_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatUInt32(type,field,isptr) OpFormatUInt32_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatUInt64(type,field,isptr) OpFormatUInt64_, BYTES(isptr), BYTES(OFFSET(type,field))
#define OpFormatUnicodeString(type,field) OpFormatUnicodeString_, BYTES(OFFSET(type,field))
#define OpFormatUri(type,field) OpFormatUri_, BYTES(OFFSET(type,field))
#define OpFormatUuidUri(type,field,isptr) OpFormatUuidUri_, BYTES(isptr),BYTES(OFFSET(type,field))
#define OpFormatXMLDeclaration(type,field) OpFormatXMLDeclaration_, BYTES(OFFSET(type,field))
#define OpProcess(type,field) OpProcess_, BYTES(OFFSET(type,field))
#define OpQualifiedAttribute(name) OpQualifiedAttribute_, BYTES(name)
/*****************************************************************************
* IWSDXMLContext interface
*/
#ifndef _INC_WSDXML
#define _INC_WSDXML
#ifndef __IWSDXMLContext_INTERFACE_DEFINED__
#define __IWSDXMLContext_INTERFACE_DEFINED__
#ifndef _INC_WSDAPI
#error Please include wsdapi.h instead of this header. This header cannot be used directly.
DEFINE_GUID(IID_IWSDXMLContext, 0x75d8f3ee, 0x3e5a, 0x43b4, 0xa1,0x5a, 0xbc,0xf6,0x88,0x74,0x60,0xc0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("75d8f3ee-3e5a-43b4-a15a-bcf6887460c0")
IWSDXMLContext : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddNamespace(
LPCWSTR pszUri,
LPCWSTR pszSuggestedPrefix,
WSDXML_NAMESPACE **ppNamespace) = 0;
virtual HRESULT STDMETHODCALLTYPE AddNameToNamespace(
LPCWSTR pszUri,
LPCWSTR pszName,
WSDXML_NAME **ppName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNamespaces(
const PCWSDXML_NAMESPACE *pNamespaces,
WORD wNamespacesCount,
BYTE bLayerNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTypes(
const PCWSDXML_TYPE *pTypes,
DWORD dwTypesCount,
BYTE bLayerNumber) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWSDXMLContext, 0x75d8f3ee, 0x3e5a, 0x43b4, 0xa1,0x5a, 0xbc,0xf6,0x88,0x74,0x60,0xc0)
#endif
#if (_WIN32_WINNT >= 0x0600)
#undef INTERFACE
#define INTERFACE IWSDXMLContext
DECLARE_INTERFACE_(IWSDXMLContext,IUnknown) {
#else
typedef struct IWSDXMLContextVtbl {
BEGIN_INTERFACE
#ifndef __cplusplus
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
#endif
/* IWSDXMLContext methods */
STDMETHOD_(HRESULT,AddNamespace)(THIS_ const LPCWSTR *pszUri,const LPCWSTR *pszSuggestedPrefix,WSDXML_NAMESPACE **ppNamespace) PURE;
STDMETHOD_(HRESULT,AddNameToNamespace) (THIS_ LPCWSTR pszUri, LPCWSTR pszName, WSDXML_NAME **ppName);
STDMETHOD_(HRESULT,SetNamespaces)(THIS_ const PCWSDXML_NAMESPACE *pNamespaces,WORD wNamespacesCount,BYTE bLayerNumber) PURE;
STDMETHOD_(HRESULT,SetTypes)(THIS_ const PCWSDXML_TYPE *pTypes,DWORD dwTypesCount,BYTE bLayerNumber) PURE;
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWSDXMLContext* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWSDXMLContext* This);
ULONG (STDMETHODCALLTYPE *Release)(
IWSDXMLContext* This);
/*** IWSDXMLContext methods ***/
HRESULT (STDMETHODCALLTYPE *AddNamespace)(
IWSDXMLContext* This,
LPCWSTR pszUri,
LPCWSTR pszSuggestedPrefix,
WSDXML_NAMESPACE **ppNamespace);
HRESULT (STDMETHODCALLTYPE *AddNameToNamespace)(
IWSDXMLContext* This,
LPCWSTR pszUri,
LPCWSTR pszName,
WSDXML_NAME **ppName);
HRESULT (STDMETHODCALLTYPE *SetNamespaces)(
IWSDXMLContext* This,
const PCWSDXML_NAMESPACE *pNamespaces,
WORD wNamespacesCount,
BYTE bLayerNumber);
HRESULT (STDMETHODCALLTYPE *SetTypes)(
IWSDXMLContext* This,
const PCWSDXML_TYPE *pTypes,
DWORD dwTypesCount,
BYTE bLayerNumber);
END_INTERFACE
} IWSDXMLContextVtbl;
interface IWSDXMLContext {
CONST_VTBL IWSDXMLContextVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWSDXMLContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWSDXMLContext_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWSDXMLContext_Release(This) (This)->lpVtbl->Release(This)
/*** IWSDXMLContext methods ***/
#define IWSDXMLContext_AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace) (This)->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace)
#define IWSDXMLContext_AddNameToNamespace(This,pszUri,pszName,ppName) (This)->lpVtbl->AddNameToNamespace(This,pszUri,pszName,ppName)
#define IWSDXMLContext_SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber) (This)->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber)
#define IWSDXMLContext_SetTypes(This,pTypes,dwTypesCount,bLayerNumber) (This)->lpVtbl->SetTypes(This,pTypes,dwTypesCount,bLayerNumber)
#define IWSDXMLContext_AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace) (This)->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace)
#endif /*COBJMACROS*/
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWSDXMLContext_QueryInterface(IWSDXMLContext* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWSDXMLContext_AddRef(IWSDXMLContext* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWSDXMLContext_Release(IWSDXMLContext* This) {
return This->lpVtbl->Release(This);
}
/*** IWSDXMLContext methods ***/
static FORCEINLINE HRESULT IWSDXMLContext_AddNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszSuggestedPrefix,WSDXML_NAMESPACE **ppNamespace) {
return This->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace);
}
static FORCEINLINE HRESULT IWSDXMLContext_AddNameToNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszName,WSDXML_NAME **ppName) {
return This->lpVtbl->AddNameToNamespace(This,pszUri,pszName,ppName);
}
static FORCEINLINE HRESULT IWSDXMLContext_SetNamespaces(IWSDXMLContext* This,const PCWSDXML_NAMESPACE *pNamespaces,WORD wNamespacesCount,BYTE bLayerNumber) {
return This->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber);
}
static FORCEINLINE HRESULT IWSDXMLContext_SetTypes(IWSDXMLContext* This,const PCWSDXML_TYPE *pTypes,DWORD dwTypesCount,BYTE bLayerNumber) {
return This->lpVtbl->SetTypes(This,pTypes,dwTypesCount,bLayerNumber);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IWSDXMLContext_AddNamespace_Proxy(
IWSDXMLContext* This,
LPCWSTR pszUri,
LPCWSTR pszSuggestedPrefix,
WSDXML_NAMESPACE **ppNamespace);
void __RPC_STUB IWSDXMLContext_AddNamespace_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDXMLContext_AddNameToNamespace_Proxy(
IWSDXMLContext* This,
LPCWSTR pszUri,
LPCWSTR pszName,
WSDXML_NAME **ppName);
void __RPC_STUB IWSDXMLContext_AddNameToNamespace_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDXMLContext_SetNamespaces_Proxy(
IWSDXMLContext* This,
const PCWSDXML_NAMESPACE *pNamespaces,
WORD wNamespacesCount,
BYTE bLayerNumber);
void __RPC_STUB IWSDXMLContext_SetNamespaces_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWSDXMLContext_SetTypes_Proxy(
IWSDXMLContext* This,
const PCWSDXML_TYPE *pTypes,
DWORD dwTypesCount,
BYTE bLayerNumber);
void __RPC_STUB IWSDXMLContext_SetTypes_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IWSDXMLContext_INTERFACE_DEFINED__ */
HRESULT WINAPI WSDXMLGetNameFromBuiltinNamespace(LPCWSTR pszNamespace, LPCWSTR pszName, WSDXML_NAME **ppName);
HRESULT WINAPI WSDXMLGetNameFromBuiltinNamespace(LPCWSTR pszNamespace, LPCWSTR pszName, WSDXML_NAME **ppName);
HRESULT WINAPI WSDXMLCreateContext(IWSDXMLContext **ppContext);
#endif
/* Begin additional prototypes for all interfaces */
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_WSDXML*/
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __wsdxml_h__ */

View File

@ -0,0 +1,158 @@
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
import "oaidl.idl";
import "ocidl.idl";
cpp_quote("")
interface IWSDXMLContext;
enum {
OpNone,
OpEndOfTable,
OpBeginElement_,
OpBeginAnyElement,
OpEndElement,
OpElement_,
OpAnyElement,
OpAnyElements,
OpAnyText,
OpAttribute_,
OpBeginChoice,
OpEndChoice,
OpBeginSequence,
OpEndSequence,
OpBeginAll,
OpEndAll,
OpAnything,
OpAnyNumber,
OpOneOrMore,
OpOptional,
OpFormatBool_,
OpFormatInt8_,
OpFormatInt16_,
OpFormatInt32_,
OpFormatInt64_,
OpFormatUInt8_,
OpFormatUInt16_,
OpFormatUInt32_,
OpFormatUInt64_,
OpFormatUnicodeString_,
OpFormatDom_,
OpFormatStruct_,
OpFormatUri_,
OpFormatUuidUri_,
OpFormatName_,
OpFormatListInsertTail_,
OpFormatType_,
OpFormatDynamicType_,
OpFormatLookupType_,
OpFormatDuration_,
OpFormatDateTime_,
OpFormatFloat_,
OpFormatDouble_,
OpProcess_,
OpQualifiedAttribute_,
OpFormatXMLDeclaration_,
OpFormatMax
};
typedef struct _WSDXML_NAMESPACE WSDXML_NAMESPACE;
typedef const WSDXML_NAMESPACE *PCWSDXML_NAMESPACE;
typedef struct _WSDXML_NAME WSDXML_NAME;
typedef struct _WSDXML_TYPE WSDXML_TYPE;
typedef const WSDXML_TYPE *PCWSDXML_TYPE;
typedef struct _WSDXML_PREFIX_MAPPING WSDXML_PREFIX_MAPPING;
typedef struct _WSDXML_ATTRIBUTE WSDXML_ATTRIBUTE;
typedef struct _WSDXML_NODE WSDXML_NODE;
typedef struct _WSDXML_ELEMENT WSDXML_ELEMENT;
typedef struct _WSDXML_TEXT WSDXML_TEXT;
typedef struct _WSDXML_ELEMENT_LIST WSDXML_ELEMENT_LIST;
typedef struct _WSD_DATETIME {
BOOL isPositive;
ULONG year;
UCHAR month;
UCHAR day;
UCHAR hour;
UCHAR minute;
UCHAR second;
UINT millisecond;
BOOL TZIsLocal;
BOOL TZIsPositive;
UCHAR TZHour;
UCHAR TZMinute;
} WSD_DATETIME;
typedef struct _WSD_DURATION {
BOOL isPositive;
ULONG year;
ULONG month;
ULONG day;
ULONG hour;
ULONG minute;
ULONG second;
ULONG millisecond;
} WSD_DURATION;
cpp_quote("")
cpp_quote("#define WSDXML_TYPE_ENCODING(tidx,lno) ((((DWORD) lno) << 28) | tidx)")
cpp_quote("#define WSDXML_NAMESPACE_ENCODING(nsidx, lno) ((((WORD) lno) << 12) | nsidx)")
cpp_quote("#define WSDXML_NAME_ENCODING(nidx, nsenc) ((((DWORD) nsenc) << 16) | nidx)")
cpp_quote("")
cpp_quote("#define OFFSET(type,field) ((DWORD_PTR) (&((type *)0)->field))")
cpp_quote("#define BYTE0(n) (BYTE) (((DWORD) n) & 0xff)")
cpp_quote("#define BYTE1(n) (BYTE) ((((DWORD) n) >> 8) & 0xff)")
cpp_quote("#define BYTE2(n) (BYTE) ((((DWORD) n) >> 16) & 0xff)")
cpp_quote("#define BYTE3(n) (BYTE)((((DWORD) n) >> 24) & 0xff)")
cpp_quote("#define BYTES(n) BYTE0(n), BYTE1(n), BYTE2(n), BYTE3(n)")
cpp_quote("")
cpp_quote("#define OpAttribute(name) OpAttribute_, BYTES(name)")
cpp_quote("#define OpBeginElement(name) OpBeginElement_, BYTES(name)")
cpp_quote("#define OpElement(name) OpElement_, BYTES(name)")
cpp_quote("#define OpFormatBool(type,field,isptr) OpFormatBool_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatDateTime(type,field) OpFormatDateTime_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatDom(type,field) OpFormatDom_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatDouble(type,field,isptr) OpFormatDouble_, BYTES(isptr),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatDuration(type,field) OpFormatDuration_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatDynamicType(name,type,field) OpFormatDynamicType_, BYTES(name),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatFloat(type,field,isptr) OpFormatFloat_, BYTES(isptr),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatInt8(type,field,isptr) OpFormatInt8_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatInt16(type,field,isptr) OpFormatInt16_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatInt32(type,field,isptr) OpFormatInt32_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatInt64(type,field,isptr) OpFormatInt64_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatListInsertTail(s,type,field) OpFormatListInsertTail_,BYTES(sizeof(s)),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatLookupType(uriField,type,field) OpFormatLookupType_, BYTES(OFFSET(type,uriField)),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatName(type,field) OpFormatName_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatPointerToStruct(sType) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(0)")
cpp_quote("#define OpFormatStruct(sType,type,field) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatType(table,type,field) OpFormatType_, BYTES(table),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatUInt8(type,field,isptr) OpFormatUInt8_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatUInt16(type,field,isptr) OpFormatUInt16_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatUInt32(type,field,isptr) OpFormatUInt32_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatUInt64(type,field,isptr) OpFormatUInt64_, BYTES(isptr), BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatUnicodeString(type,field) OpFormatUnicodeString_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatUri(type,field) OpFormatUri_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatUuidUri(type,field,isptr) OpFormatUuidUri_, BYTES(isptr),BYTES(OFFSET(type,field))")
cpp_quote("#define OpFormatXMLDeclaration(type,field) OpFormatXMLDeclaration_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpProcess(type,field) OpProcess_, BYTES(OFFSET(type,field))")
cpp_quote("#define OpQualifiedAttribute(name) OpQualifiedAttribute_, BYTES(name)")
[object, local, restricted, uuid (75d8f3ee-3e5a-43b4-a15a-bcf6887460c0), pointer_default (unique)]
interface IWSDXMLContext : IUnknown {
HRESULT AddNamespace ([in] LPCWSTR pszUri,[in] LPCWSTR pszSuggestedPrefix,[out] WSDXML_NAMESPACE **ppNamespace);
HRESULT AddNameToNamespace ([in] LPCWSTR pszUri,[in] LPCWSTR pszName,[out] WSDXML_NAME **ppName);
HRESULT SetNamespaces ([in, size_is (wNamespacesCount)] const PCWSDXML_NAMESPACE *pNamespaces,[in] WORD wNamespacesCount,[in] BYTE bLayerNumber);
HRESULT SetTypes ([in, size_is (dwTypesCount)] const PCWSDXML_TYPE *pTypes,[in] DWORD dwTypesCount,[in] BYTE bLayerNumber);
};
cpp_quote("HRESULT WINAPI WSDXMLGetNameFromBuiltinNamespace(LPCWSTR pszNamespace, LPCWSTR pszName, WSDXML_NAME **ppName);")
cpp_quote("HRESULT WINAPI WSDXMLCreateContext(IWSDXMLContext **ppContext);")
cpp_quote("#endif")