bthapi.h

来自「三星2440原版bsp」· C头文件 代码 · 共 1,929 行 · 第 1/5 页

H
1,929
字号

#pragma warning( disable: 4049 )  /* more than 64k source lines */

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 5.03.0286 */
/* at Fri Dec 09 17:23:30 2005
 */
/* Compiler settings for .\bthapi.idl:
    Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __bthapi_h__
#define __bthapi_h__

/* Forward Declarations */ 

#ifndef __ISdpWalk_FWD_DEFINED__
#define __ISdpWalk_FWD_DEFINED__
typedef interface ISdpWalk ISdpWalk;
#endif 	/* __ISdpWalk_FWD_DEFINED__ */


#ifndef __ISdpNodeContainer_FWD_DEFINED__
#define __ISdpNodeContainer_FWD_DEFINED__
typedef interface ISdpNodeContainer ISdpNodeContainer;
#endif 	/* __ISdpNodeContainer_FWD_DEFINED__ */


#ifndef __ISdpSearch_FWD_DEFINED__
#define __ISdpSearch_FWD_DEFINED__
typedef interface ISdpSearch ISdpSearch;
#endif 	/* __ISdpSearch_FWD_DEFINED__ */


#ifndef __ISdpStream_FWD_DEFINED__
#define __ISdpStream_FWD_DEFINED__
typedef interface ISdpStream ISdpStream;
#endif 	/* __ISdpStream_FWD_DEFINED__ */


#ifndef __ISdpRecord_FWD_DEFINED__
#define __ISdpRecord_FWD_DEFINED__
typedef interface ISdpRecord ISdpRecord;
#endif 	/* __ISdpRecord_FWD_DEFINED__ */


#ifndef __IBluetoothDevice_FWD_DEFINED__
#define __IBluetoothDevice_FWD_DEFINED__
typedef interface IBluetoothDevice IBluetoothDevice;
#endif 	/* __IBluetoothDevice_FWD_DEFINED__ */


#ifndef __IBluetoothAuthenticate_FWD_DEFINED__
#define __IBluetoothAuthenticate_FWD_DEFINED__
typedef interface IBluetoothAuthenticate IBluetoothAuthenticate;
#endif 	/* __IBluetoothAuthenticate_FWD_DEFINED__ */


#ifndef __SdpNodeContainer_FWD_DEFINED__
#define __SdpNodeContainer_FWD_DEFINED__

#ifdef __cplusplus
typedef class SdpNodeContainer SdpNodeContainer;
#else
typedef struct SdpNodeContainer SdpNodeContainer;
#endif /* __cplusplus */

#endif 	/* __SdpNodeContainer_FWD_DEFINED__ */


#ifndef __SdpSearch_FWD_DEFINED__
#define __SdpSearch_FWD_DEFINED__

#ifdef __cplusplus
typedef class SdpSearch SdpSearch;
#else
typedef struct SdpSearch SdpSearch;
#endif /* __cplusplus */

#endif 	/* __SdpSearch_FWD_DEFINED__ */


#ifndef __SdpWalk_FWD_DEFINED__
#define __SdpWalk_FWD_DEFINED__

#ifdef __cplusplus
typedef class SdpWalk SdpWalk;
#else
typedef struct SdpWalk SdpWalk;
#endif /* __cplusplus */

#endif 	/* __SdpWalk_FWD_DEFINED__ */


#ifndef __SdpStream_FWD_DEFINED__
#define __SdpStream_FWD_DEFINED__

#ifdef __cplusplus
typedef class SdpStream SdpStream;
#else
typedef struct SdpStream SdpStream;
#endif /* __cplusplus */

#endif 	/* __SdpStream_FWD_DEFINED__ */


#ifndef __SdpRecord_FWD_DEFINED__
#define __SdpRecord_FWD_DEFINED__

#ifdef __cplusplus
typedef class SdpRecord SdpRecord;
#else
typedef struct SdpRecord SdpRecord;
#endif /* __cplusplus */

#endif 	/* __SdpRecord_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 

/* interface __MIDL_itf_bthapi_0000 */
/* [local] */ 

//
// Copyright (C) Microsoft Corporation, All rights reserved.
//
#ifndef __BTHSDPDEF_H__
struct SDP_LARGE_INTEGER_16
    {
    ULONGLONG LowPart;
    LONGLONG HighPart;
    };
struct SDP_ULARGE_INTEGER_16
    {
    ULONGLONG LowPart;
    ULONGLONG HighPart;
    };
typedef struct SDP_ULARGE_INTEGER_16 SDP_ULARGE_INTEGER_16;

typedef struct SDP_ULARGE_INTEGER_16 __RPC_FAR *PSDP_ULARGE_INTEGER_16;

typedef struct SDP_ULARGE_INTEGER_16 __RPC_FAR *LPSDP_ULARGE_INTEGER_16;

typedef struct SDP_LARGE_INTEGER_16 SDP_LARGE_INTEGER_16;

typedef struct SDP_LARGE_INTEGER_16 __RPC_FAR *PSDP_LARGE_INTEGER_16;

typedef struct SDP_LARGE_INTEGER_16 __RPC_FAR *LPSDP_LARGE_INTEGER_16;


enum NodeContainerType
    {	NodeContainerTypeSequence	= 0,
	NodeContainerTypeAlternative	= NodeContainerTypeSequence + 1
    };
typedef enum NodeContainerType NodeContainerType;

typedef USHORT SDP_ERROR;

typedef USHORT __RPC_FAR *PSDP_ERROR;


enum SDP_TYPE
    {	SDP_TYPE_NIL	= 0,
	SDP_TYPE_UINT	= 0x1,
	SDP_TYPE_INT	= 0x2,
	SDP_TYPE_UUID	= 0x3,
	SDP_TYPE_STRING	= 0x4,
	SDP_TYPE_BOOLEAN	= 0x5,
	SDP_TYPE_SEQUENCE	= 0x6,
	SDP_TYPE_ALTERNATIVE	= 0x7,
	SDP_TYPE_URL	= 0x8,
	SDP_TYPE_CONTAINER	= 0x20
    };
typedef enum SDP_TYPE SDP_TYPE;


enum SDP_SPECIFICTYPE
    {	SDP_ST_NONE	= 0,
	SDP_ST_UINT8	= 0x10,
	SDP_ST_UINT16	= 0x110,
	SDP_ST_UINT32	= 0x210,
	SDP_ST_UINT64	= 0x310,
	SDP_ST_UINT128	= 0x410,
	SDP_ST_INT8	= 0x20,
	SDP_ST_INT16	= 0x120,
	SDP_ST_INT32	= 0x220,
	SDP_ST_INT64	= 0x320,
	SDP_ST_INT128	= 0x420,
	SDP_ST_UUID16	= 0x130,
	SDP_ST_UUID32	= 0x230,
	SDP_ST_UUID128	= 0x430
    };
typedef enum SDP_SPECIFICTYPE SDP_SPECIFICTYPE;

typedef struct _SdpAttributeRange
    {
    USHORT minAttribute;
    USHORT maxAttribute;
    }	SdpAttributeRange;

typedef /* [switch_type] */ union SdpQueryUuidUnion
    {
    /* [case()] */ GUID uuid128;
    /* [case()] */ ULONG uuid32;
    /* [case()] */ USHORT uuid16;
    }	SdpQueryUuidUnion;

typedef struct _SdpQueryUuid
    {
    /* [switch_is] */ SdpQueryUuidUnion u;
    USHORT uuidType;
    }	SdpQueryUuid;

#define BTH_SDP_VERSION 1
typedef struct _BTHNS_SETBLOB
    {
    ULONG __RPC_FAR *pSdpVersion;
    ULONG __RPC_FAR *pRecordHandle;
    ULONG Reserved[ 4 ];
    ULONG fSecurity;
    ULONG fOptions;
    ULONG ulRecordLength;
    UCHAR pRecord[ 1 ];
    }	BTHNS_SETBLOB;

typedef struct _BTHNS_SETBLOB __RPC_FAR *PBTHNS_SETBLOB;

#define MAX_UUIDS_IN_QUERY 12
#define SDP_SERVICE_SEARCH_REQUEST           1
#define SDP_SERVICE_ATTRIBUTE_REQUEST        2
#define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST 3
 
//
// The following may be passed as parameters to BthNsLookupServiceNext as extended 
// dwFlags options for device inquiry.
//
 
// Causes traversal through list to be reset to first element.
#define BTHNS_LUP_RESET_ITERATOR 0x00010000
// Does not increment list, causes next query to be performed on current item as well.
#define BTHNS_LUP_NO_ADVANCE     0x00020000
// Causes LookupServiceEnd to abort current inquiry.
#define BTHNS_ABORT_CURRENT_INQUIRY 0xfffffffd
 
typedef struct _BTHNS_INQUIRYBLOB
    {
    ULONG LAP;
    unsigned char length;
    unsigned char num_responses;
    }	BTHNS_INQUIRYBLOB;

typedef struct _BTHNS_INQUIRYBLOB __RPC_FAR *PBTHNS_INQUIRYBLOB;

typedef struct _BTHNS_RESTRICTIONBLOB
    {
    ULONG type;
    ULONG serviceHandle;
    SdpQueryUuid uuids[ 12 ];
    ULONG numRange;
    SdpAttributeRange pRange[ 1 ];
    }	BTHNS_RESTRICTIONBLOB;

typedef struct _BTHNS_RESTRICTIONBLOB __RPC_FAR *PBTHNS_RESTRICTIONBLOB;

#define __BTHSDPDEF_H__
#endif


struct SdpString
    {
    /* [size_is] */ CHAR __RPC_FAR *val;
    ULONG length;
    };
typedef struct SdpString SdpString;

typedef /* [switch_type] */ union NodeDataUnion
    {
    /* [case()] */ SDP_LARGE_INTEGER_16 int128;
    /* [case()] */ SDP_ULARGE_INTEGER_16 uint128;
    /* [case()] */ GUID uuid128;
    /* [case()] */ ULONG uuid32;
    /* [case()] */ USHORT uuid16;
    /* [case()] */ LONGLONG int64;
    /* [case()] */ ULONGLONG uint64;
    /* [case()] */ LONG int32;
    /* [case()] */ ULONG uint32;
    /* [case()] */ SHORT int16;
    /* [case()] */ USHORT uint16;
    /* [case()] */ CHAR int8;
    /* [case()] */ UCHAR uint8;
    /* [case()] */ UCHAR booleanVal;
    /* [case()] */ SdpString str;
    /* [case()] */ SdpString url;
    /* [case()] */ ISdpNodeContainer __RPC_FAR *container;
    /* [case()] */  /* Empty union arm */ 
    }	NodeDataUnion;

typedef struct NodeData
    {
    USHORT type;
    USHORT specificType;
    /* [switch_is] */ NodeDataUnion u;
    }	NodeData;


enum BthDeviceStringType
    {	BthDeviceStringTypeFriendlyName	= 0,
	BthDeviceStringTypeDeviceName	= BthDeviceStringTypeFriendlyName + 1,
	BthDeviceStringTypeDisplay	= BthDeviceStringTypeDeviceName + 1,
	BthDeviceStringTypeClass	= BthDeviceStringTypeDisplay + 1,
	BthDeviceStringTypeAddress	= BthDeviceStringTypeClass + 1
    };
#ifndef __BTHDEVICEINFO_DEFINED__
#define __BTHDEVICEINFO_DEFINED__
#pragma warning(disable:4103)

#pragma pack(push)

#pragma pack(1)
typedef struct _BthDeviceInfo
    {
    ULONGLONG btAddress;
    ULONG cod;
    ULONGLONG lmpSupportedFeatures;
    CHAR name[ 248 ];
    }	BthDeviceInfo;

#pragma warning(disable:4103)

#pragma pack(pop)
#endif // __BTHDEVICEINFO_DEFINED__


extern RPC_IF_HANDLE __MIDL_itf_bthapi_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_bthapi_0000_v0_0_s_ifspec;

#ifndef __ISdpWalk_INTERFACE_DEFINED__
#define __ISdpWalk_INTERFACE_DEFINED__

/* interface ISdpWalk */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_ISdpWalk;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("57134AE6-5D3C-462D-BF2F-810361FBD7E7")
    ISdpWalk : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WalkNode( 

⌨️ 快捷键说明

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