⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsdl.idl

📁 Windows CE 6.0 Server 源码
💻 IDL
📖 第 1 页 / 共 2 页
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft shared
// source or premium shared source license agreement under which you licensed
// this source code. If you did not accept the terms of the license agreement,
// you are not authorized to use this source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the SOURCE.RTF on your install media or the root of your tools installation.
// THE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
// wsdl.idl : IDL source for wsdlread.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (wsdlread.tlb) and marshalling code.

#include "wsdlguid.h"

#ifdef SOAP_INTERFACES

	typedef 
	enum {
		smInput = -1,
		smOutput = 0, 
		smInOut = 1
	} smIsInputEnum; 


	typedef 
	enum {
	    // at the start we have the "non = xsd" types as shortcuts to use
	enXSDUndefined=-1,
	enXSDDOM=0,		// this is our indicator to use a DOM mapper
	enXSDstring,
	enXSDboolean,
	enXSDfloat,
	enXSDDouble,
	enXSDdecimal,
	enXSDtimeDuration,
	enXSDrecurringDuration,
	enXSDbinary,
	enXSDuriReference,
	enXSDid,
	enXSDidRef,
	enXSDentity,
	enXSDQName,
	enXSDcdata,
	enXSDtoken,
	enXSDlanguage,
	enXSDidRefs,																								
	enXSDentities,
	enXSDnmtoken,
	enXSDnmtokens,
	enXSDname,
	enXSDncname,
	enXSDnotation,
	enXSDinteger,
	enXSDnonpositiveInteger,
	enXSDlong,
	enXSDint,
	enXSDshort,
	enXSDbyte,
	enXSDnonNegativeInteger,
	enXSDnegativeInteger,
	enXSDunsignedLong,
	enXSDunsignedInt,
	enXSDunsignedShort,
	enXSDunsignedByte,
	enXSDpositiveInteger,
	enXSDtimeInstant,
	enXSDtime,
	enXSDtimePeriod,
	enXSDdate,
	enXSDmonth,
	enXSDyear,
	enXSDcentury,
	enXSDrecurringDate,
	enXSDrecurringDay,
	enXSDarray,
	enXSDanyType,
	enTKempty,
	enXSDEndOfBuildin
	} enXSDType ; 

	typedef 
	enum {
		enDocumentLiteral = 0,
		enDocumentEncoded = 0x1, 
		enRPCLiteral = 0x2,
		enRPCEncoded = 0x4,
	} enEncodingStyle ; 

	
	interface ISoapTypeMapperFactory;


	DUAL_INTERFACE(UUID_IHEADERHANDLER, SOAP_SDK_VERSION, "IHeaderHandler")
	interface IHeaderHandler: IDispatch
	{
		[id(DISPID_HEADERWILLWRITE), helpstring("indicates if a header will be written")] HRESULT willWriteHeaders(
				[out, retval] VARIANT_BOOL *pbWillWriteHeaders);
	
		[id(DISPID_HEADERSWRITE), helpstring("writes a header")] HRESULT writeHeaders([in] ISoapSerializer *pSerializer, [in] IDispatch *pObject);
				
		[id(DISPID_HEADERSREAD), helpstring("reads one header")] HRESULT readHeader([in] IXMLDOMNode *pHeaderNode, 
														[in] IDispatch *pObject,
														[out, retval] VARIANT_BOOL *pUnderstood);
	};
	


	DUAL_INTERFACE(UUID_ISOAPTYPEMAPPER, SOAP_SDK_VERSION, "ISoapTypeMapper")
	interface ISoapTypeMapper: IDispatch
	{
		[id(DISPID_TYPEMAPPER_INIT), helpstring("Initializes the soap type mapper")] HRESULT init(
				[in] ISoapTypeMapperFactory* pFactory, 
				[in] IXMLDOMNode * pSchema, 
				[in] enXSDType	xsdType
				);
	
		[id(DISPID_TYPEMAPPER_READ), helpstring("Reads a variant to be encoded")] HRESULT read(
				[in] IXMLDOMNode * pNode, 
				[in] BSTR bstrEncoding,
				[in] enEncodingStyle encodingMode,				
				[in] long lFlags, 
				[out, retval] VARIANT * pvar);
				
		[id(DISPID_TYPEMAPPER_WRITE), helpstring("Writes the type value to the serializer")] HRESULT write(				
				[in] ISoapSerializer* pSoapSerializer, 
				[in] BSTR bstrEncoding,
				[in] enEncodingStyle encodingMode,				
				[in] long lFlags, 
				[in] VARIANT * pvar);

		[id(DISPID_TYPEMAPPER_VARTYPE), helpstring("returns the variant type that is expected")] HRESULT varType(				
				[out, retval] long *pvtType); 

	};

	DUAL_INTERFACE(UUID_ISOAPTYPEMAPPER2, SOAP_SDK_VERSION, "ISoapTypeMapper")
	interface ISoapTypeMapper2: ISoapTypeMapper
	{
		[id(DISPID_TYPEMAPPER_IID), helpstring("returns the interface IID for custom objects")] HRESULT iid([out, retval] BSTR * bstrIIDAsString); 
	}

	
	DUAL_INTERFACE(UUID_ISOAPTYPEFACTORY, SOAP_SDK_VERSION, "ITypeFactoryInterface")
	interface ISoapTypeMapperFactory: IDispatch
	{
		[id(DISPID_TYPEFACT_ADDSCHEMA), helpstring("method addSchema")] HRESULT addSchema(
 					[in] IXMLDOMNode *pSchemaNode
 					);

		[id(DISPID_TYPEFACT_GETELEMENTMAPPER), helpstring("Finds a type mapper for the specified element")] HRESULT getElementMapperbyName(
					[in] BSTR bstrElementName,
					[in] BSTR bstrElementNamespace,
					[out, retval] ISoapTypeMapper **ppSoapTypeMapper
					);

		[id(DISPID_TYPEFACT_GETTYPEMAPPER), helpstring("Finds a typemapper for the supplied type")] HRESULT getTypeMapperbyName(
					[in] BSTR bstrTypeName,
					[in] BSTR bstrTypeNamespace,
					[out, retval] ISoapTypeMapper **ppSoapTypeMapper
				);


		[id(DISPID_TYPEFACT_GETELEMENTFROMNODE), helpstring("method getElementMapper")] HRESULT getElementMapper(
 					[in] IXMLDOMNode *pElementNode, 
					[out, retval] ISoapTypeMapper **ppSoapTypeMapper
					);

		[id(DISPID_TYPEFACT_GETTYPEFROMNODE), helpstring("method getTypeMapper")] HRESULT getTypeMapper(
 					[in] IXMLDOMNode *pTypeNode, 
					[out, retval] ISoapTypeMapper **ppSoapTypeMapper
				);

		[id(DISPID_TYPEFACT_ADDTYPE), helpstring("Adds a new typemapper to the typemaper factory")] HRESULT addType(
				[in] BSTR bstrTypeName, 
				[in] BSTR bstrTypeNamespace, 
				[in] BSTR bstrProgID
				);

		[id(DISPID_TYPEFACT_ADDELEMENT), helpstring("Adds a new element mapper to the typemaper factory")] HRESULT addElement(
				[in] BSTR bstrElementName, 
				[in] BSTR bstrElementNamespace, 
				[in] BSTR bstrProgID
				);

		[id(DISPID_TYPEFACT_GETMAPPER), helpstring("Retrieves the typemapper specified by the mapperID")] HRESULT getMapper(
				[in] enXSDType xsdType,
				[in] IXMLDOMNode * pSchemaNode,
				[out, retval] ISoapTypeMapper **ppSoapTypeMapper
				);

		[id(DISPID_TYPEFACT_ADDTYPEWITHIID), helpstring("Adds a new typemapper for custom objects to the typemaper factory")] HRESULT addTypeObjectMapper(
				[in] BSTR bstrTypeName, 
				[in] BSTR bstrTypeNamespace, 
				[in] BSTR bstrProgID,
				[in] BSTR bstrIID

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -