Initial community commit

This commit is contained in:
Jef 2024-09-24 14:54:57 +02:00
parent 537bcbc862
commit fc06254474
16440 changed files with 4239995 additions and 2 deletions

View file

@ -0,0 +1,286 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 6.00.0361 */
/* at Fri Sep 17 22:09:50 2004
*/
/* Compiler settings for ..\IRAPIStream.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
protocol : dce , ms_ext, c_ext, robust
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( )
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#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 __IRAPIStream_h__
#define __IRAPIStream_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IRAPIStream_FWD_DEFINED__
#define __IRAPIStream_FWD_DEFINED__
typedef interface IRAPIStream IRAPIStream;
#endif /* __IRAPIStream_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
#include "rapitypes.h"
#ifdef __cplusplus
extern "C"{
#endif
void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * );
#ifndef __IRAPIStream_INTERFACE_DEFINED__
#define __IRAPIStream_INTERFACE_DEFINED__
/* interface IRAPIStream */
/* [object][uuid] */
EXTERN_C const IID IID_IRAPIStream;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("449FE623-24B0-454b-A889-129BB05DDBED")
IRAPIStream : public IStream
{
public:
virtual HRESULT STDMETHODCALLTYPE SetRapiStat(
/* [in] */ RAPISTREAMFLAG Flag,
/* [in] */ DWORD dwValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRapiStat(
/* [in] */ RAPISTREAMFLAG Flag,
/* [out] */ DWORD *pdwValue) = 0;
};
#else /* C style interface */
typedef struct IRAPIStreamVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IRAPIStream * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IRAPIStream * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IRAPIStream * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
IRAPIStream * This,
/* [length_is][size_is][out] */ void *pv,
/* [in] */ ULONG cb,
/* [out] */ ULONG *pcbRead);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
IRAPIStream * This,
/* [size_is][in] */ const void *pv,
/* [in] */ ULONG cb,
/* [out] */ ULONG *pcbWritten);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
IRAPIStream * This,
/* [in] */ LARGE_INTEGER dlibMove,
/* [in] */ DWORD dwOrigin,
/* [out] */ ULARGE_INTEGER *plibNewPosition);
HRESULT ( STDMETHODCALLTYPE *SetSize )(
IRAPIStream * This,
/* [in] */ ULARGE_INTEGER libNewSize);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
IRAPIStream * This,
/* [unique][in] */ IStream *pstm,
/* [in] */ ULARGE_INTEGER cb,
/* [out] */ ULARGE_INTEGER *pcbRead,
/* [out] */ ULARGE_INTEGER *pcbWritten);
HRESULT ( STDMETHODCALLTYPE *Commit )(
IRAPIStream * This,
/* [in] */ DWORD grfCommitFlags);
HRESULT ( STDMETHODCALLTYPE *Revert )(
IRAPIStream * This);
HRESULT ( STDMETHODCALLTYPE *LockRegion )(
IRAPIStream * This,
/* [in] */ ULARGE_INTEGER libOffset,
/* [in] */ ULARGE_INTEGER cb,
/* [in] */ DWORD dwLockType);
HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
IRAPIStream * This,
/* [in] */ ULARGE_INTEGER libOffset,
/* [in] */ ULARGE_INTEGER cb,
/* [in] */ DWORD dwLockType);
HRESULT ( STDMETHODCALLTYPE *Stat )(
IRAPIStream * This,
/* [out] */ STATSTG *pstatstg,
/* [in] */ DWORD grfStatFlag);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IRAPIStream * This,
/* [out] */ IStream **ppstm);
HRESULT ( STDMETHODCALLTYPE *SetRapiStat )(
IRAPIStream * This,
/* [in] */ RAPISTREAMFLAG Flag,
/* [in] */ DWORD dwValue);
HRESULT ( STDMETHODCALLTYPE *GetRapiStat )(
IRAPIStream * This,
/* [in] */ RAPISTREAMFLAG Flag,
/* [out] */ DWORD *pdwValue);
END_INTERFACE
} IRAPIStreamVtbl;
interface IRAPIStream
{
CONST_VTBL struct IRAPIStreamVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IRAPIStream_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IRAPIStream_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IRAPIStream_Release(This) \
(This)->lpVtbl -> Release(This)
#define IRAPIStream_Read(This,pv,cb,pcbRead) \
(This)->lpVtbl -> Read(This,pv,cb,pcbRead)
#define IRAPIStream_Write(This,pv,cb,pcbWritten) \
(This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
#define IRAPIStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) \
(This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
#define IRAPIStream_SetSize(This,libNewSize) \
(This)->lpVtbl -> SetSize(This,libNewSize)
#define IRAPIStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
(This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
#define IRAPIStream_Commit(This,grfCommitFlags) \
(This)->lpVtbl -> Commit(This,grfCommitFlags)
#define IRAPIStream_Revert(This) \
(This)->lpVtbl -> Revert(This)
#define IRAPIStream_LockRegion(This,libOffset,cb,dwLockType) \
(This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
#define IRAPIStream_UnlockRegion(This,libOffset,cb,dwLockType) \
(This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
#define IRAPIStream_Stat(This,pstatstg,grfStatFlag) \
(This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
#define IRAPIStream_Clone(This,ppstm) \
(This)->lpVtbl -> Clone(This,ppstm)
#define IRAPIStream_SetRapiStat(This,Flag,dwValue) \
(This)->lpVtbl -> SetRapiStat(This,Flag,dwValue)
#define IRAPIStream_GetRapiStat(This,Flag,pdwValue) \
(This)->lpVtbl -> GetRapiStat(This,Flag,pdwValue)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IRAPIStream_SetRapiStat_Proxy(
IRAPIStream * This,
/* [in] */ RAPISTREAMFLAG Flag,
/* [in] */ DWORD dwValue);
void __RPC_STUB IRAPIStream_SetRapiStat_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IRAPIStream_GetRapiStat_Proxy(
IRAPIStream * This,
/* [in] */ RAPISTREAMFLAG Flag,
/* [out] */ DWORD *pdwValue);
void __RPC_STUB IRAPIStream_GetRapiStat_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IRAPIStream_INTERFACE_DEFINED__ */
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,118 @@
// --------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Module:
//
// rapi.h
//
// Purpose:
//
// Master include file for Windows CE Remote API
//
// --------------------------------------------------------------------------
#ifndef RAPI_H
#define RAPI_H
#include <windows.h>
#include "rapitypes.h"
#include "irapistream.h"
#ifndef UNDER_CE
STDAPI CeRapiInitEx(RAPIINIT*);
STDAPI CeRapiInit();
STDAPI CeRapiUninit();
STDAPI CeRapiGetError(void);
STDAPI CeRapiFreeBuffer(LPVOID);
STDAPI_( HRESULT ) CeRapiInvoke(LPCWSTR, LPCWSTR,DWORD,BYTE *, DWORD *,BYTE **, IRAPIStream **,DWORD);
STDAPI_(CEOID) CeCreateDatabase (LPWSTR, DWORD, WORD, SORTORDERSPEC*);
STDAPI_(BOOL ) CeDeleteDatabase (CEOID);
STDAPI_(BOOL ) CeDeleteRecord (HANDLE, CEOID);
STDAPI_(HANDLE) CeFindFirstDatabase (DWORD);
STDAPI_(CEOID) CeFindNextDatabase (HANDLE);
STDAPI_(BOOL ) CeOidGetInfo (CEOID, CEOIDINFO*);
STDAPI_(HANDLE) CeOpenDatabase (PCEOID, LPWSTR, CEPROPID, DWORD, HWND);
STDAPI_(CEOID) CeReadRecordProps (HANDLE, DWORD, LPWORD, CEPROPID*, LPBYTE*, LPDWORD);
STDAPI_(CEOID) CeSeekDatabase (HANDLE, DWORD, DWORD, LPDWORD);
STDAPI_(BOOL ) CeSetDatabaseInfo (CEOID, CEDBASEINFO*);
STDAPI_(HANDLE) CeFindFirstFile (LPCWSTR, LPCE_FIND_DATA);
STDAPI_(BOOL ) CeFindNextFile (HANDLE, LPCE_FIND_DATA);
STDAPI_(BOOL ) CeFindClose (HANDLE);
STDAPI_(DWORD ) CeGetFileAttributes (LPCWSTR);
STDAPI_(BOOL ) CeSetFileAttributes (LPCWSTR, DWORD);
STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
STDAPI_(BOOL ) CeReadFile (HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
STDAPI_(BOOL ) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
STDAPI_(BOOL ) CeCloseHandle (HANDLE);
STDAPI_(BOOL ) CeFindAllFiles (LPCWSTR, DWORD, LPDWORD, LPLPCE_FIND_DATA);
STDAPI_(BOOL ) CeFindAllDatabases (DWORD, WORD, LPWORD, LPLPCEDB_FIND_DATA);
STDAPI_(DWORD ) CeGetLastError (void);
STDAPI_(DWORD ) CeSetFilePointer (HANDLE, LONG, PLONG, DWORD);
STDAPI_(BOOL ) CeSetEndOfFile (HANDLE);
STDAPI_(BOOL ) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES);
STDAPI_(BOOL ) CeRemoveDirectory (LPCWSTR);
STDAPI_(BOOL ) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
STDAPI_(BOOL ) CeMoveFile (LPCWSTR, LPCWSTR);
STDAPI_(BOOL ) CeCopyFile (LPCWSTR, LPCWSTR, BOOL);
STDAPI_(BOOL ) CeDeleteFile (LPCWSTR);
STDAPI_(DWORD ) CeGetFileSize (HANDLE, LPDWORD);
STDAPI_(LONG ) CeRegOpenKeyEx (HKEY, LPCWSTR, DWORD, REGSAM, PHKEY);
STDAPI_(LONG ) CeRegEnumKeyEx (HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPWSTR, LPDWORD, PFILETIME);
STDAPI_(LONG ) CeRegCreateKeyEx (HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
STDAPI_(LONG ) CeRegCloseKey (HKEY);
STDAPI_(LONG ) CeRegDeleteKey (HKEY, LPCWSTR);
STDAPI_(LONG ) CeRegEnumValue (HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
STDAPI_(LONG ) CeRegDeleteValue (HKEY, LPCWSTR);
STDAPI_(LONG ) CeRegQueryInfoKey (HKEY, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME);
STDAPI_(LONG ) CeRegQueryValueEx (HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
STDAPI_(LONG ) CeRegSetValueEx (HKEY, LPCWSTR, DWORD, DWORD, LPBYTE, DWORD);
STDAPI_(BOOL ) CeGetStoreInformation(LPSTORE_INFORMATION);
STDAPI_(INT ) CeGetSystemMetrics (INT);
STDAPI_(INT ) CeGetDesktopDeviceCaps(INT);
STDAPI_(VOID ) CeGetSystemInfo (LPSYSTEM_INFO);
STDAPI_(DWORD ) CeSHCreateShortcut (LPWSTR, LPWSTR);
STDAPI_(BOOL ) CeSHGetShortcutTarget(LPWSTR, LPWSTR, INT);
STDAPI_(BOOL ) CeCheckPassword (LPWSTR);
STDAPI_(BOOL ) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
STDAPI_(BOOL ) CeSetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
STDAPI_(BOOL ) CeGetVersionEx (LPCEOSVERSIONINFO);
STDAPI_(HWND ) CeGetWindow (HWND, UINT);
STDAPI_(LONG ) CeGetWindowLong (HWND, int);
STDAPI_(int ) CeGetWindowText (HWND, LPWSTR, int);
STDAPI_(int ) CeGetClassName (HWND, LPWSTR, int);
STDAPI_(VOID ) CeGlobalMemoryStatus (LPMEMORYSTATUS);
STDAPI_(BOOL ) CeGetSystemPowerStatusEx(PSYSTEM_POWER_STATUS_EX, BOOL);
STDAPI_(DWORD ) CeGetTempPath (DWORD, LPWSTR);
STDAPI_(DWORD ) CeGetSpecialFolderPath(int, DWORD, LPWSTR);
STDAPI_(HANDLE) CeFindFirstDatabaseEx (PCEGUID, DWORD);
STDAPI_(CEOID ) CeFindNextDatabaseEx (HANDLE, PCEGUID);
STDAPI_(CEOID ) CeCreateDatabaseEx (PCEGUID, CEDBASEINFO*);
STDAPI_(BOOL ) CeSetDatabaseInfoEx (PCEGUID, CEOID, CEDBASEINFO*);
STDAPI_(HANDLE) CeOpenDatabaseEx (PCEGUID, PCEOID, LPWSTR, CEPROPID, DWORD, CENOTIFYREQUEST *);
STDAPI_(BOOL ) CeDeleteDatabaseEx (PCEGUID, CEOID);
STDAPI_(CEOID ) CeReadRecordPropsEx (HANDLE, DWORD, LPWORD, CEPROPID*, LPBYTE*, LPDWORD, HANDLE);
STDAPI_(CEOID ) CeWriteRecordProps (HANDLE, CEOID, WORD, CEPROPVAL*);
STDAPI_(BOOL ) CeMountDBVol (PCEGUID, LPWSTR, DWORD);
STDAPI_(BOOL ) CeUnmountDBVol (PCEGUID);
STDAPI_(BOOL ) CeFlushDBVol (PCEGUID);
STDAPI_(BOOL ) CeEnumDBVolumes (PCEGUID, LPWSTR, DWORD);
STDAPI_(BOOL ) CeOidGetInfoEx (PCEGUID, CEOID, CEOIDINFO*);
STDAPI CeSyncStart (LPCWSTR);
STDAPI CeSyncStop ();
STDAPI_(BOOL ) CeQueryInstructionSet (DWORD, LPDWORD);
STDAPI_(BOOL ) CeGetDiskFreeSpaceEx (LPCWSTR, ULARGE_INTEGER *, ULARGE_INTEGER *, ULARGE_INTEGER *);
#endif // #ifndef UNDER_CE
#ifndef NO_APIMAP
#include <ceapimap.h>
#endif
#ifdef CONN_INTERNAL
#include <prapi.h> // internal defines
#endif
#endif // #ifndef RAPI_H

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,445 @@
// *************************************************************************
// rapitypes.h
//
// Copyright 2002 Microsoft Corporation, All Rights Reserved
//
// Typedefs common to public and private RAPI idl.
//
// ***************************************************************************
#pragma once
#ifdef MIDL_ONLY
typedef BYTE far * LPBYTE;
#define STDAPICALLTYPE __stdcall
#endif // MIDL_ONLY
//
// The Windows CE WIN32_FIND_DATA structure differs from the
// Windows WIN32_FIND_DATA stucture so we copy the Windows CE
// definition to here so that both sides match.
//
#define MAX_PATH 260
typedef struct CE_FIND_DATA
{
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwOID;
WCHAR cFileName[MAX_PATH];
} CE_FIND_DATA;
typedef CE_FIND_DATA* LPCE_FIND_DATA;
typedef CE_FIND_DATA** LPLPCE_FIND_DATA;
//
// These are flags for CeFindAllFiles
//
#define FAF_ATTRIBUTES ((DWORD) 0x01)
#define FAF_CREATION_TIME ((DWORD) 0x02)
#define FAF_LASTACCESS_TIME ((DWORD) 0x04)
#define FAF_LASTWRITE_TIME ((DWORD) 0x08)
#define FAF_SIZE_HIGH ((DWORD) 0x10)
#define FAF_SIZE_LOW ((DWORD) 0x20)
#define FAF_OID ((DWORD) 0x40)
#define FAF_NAME ((DWORD) 0x80)
#define FAF_FLAG_COUNT ((UINT) 8)
#define FAF_ATTRIB_CHILDREN ((DWORD) 0x01000)
#define FAF_ATTRIB_NO_HIDDEN ((DWORD) 0x02000)
#define FAF_FOLDERS_ONLY ((DWORD) 0x04000)
#define FAF_NO_HIDDEN_SYS_ROMMODULES ((DWORD) 0x08000)
#define FAF_GETTARGET ((DWORD) 0x10000)
#define FAD_OID ((WORD) 0x01)
#define FAD_FLAGS ((WORD) 0x02)
#define FAD_NAME ((WORD) 0x04)
#define FAD_TYPE ((WORD) 0x08)
#define FAD_NUM_RECORDS ((WORD) 0x10)
#define FAD_NUM_SORT_ORDER ((WORD) 0x20)
#define FAD_SIZE ((WORD) 0x40)
#define FAD_LAST_MODIFIED ((WORD) 0x80)
#define FAD_SORT_SPECS ((WORD) 0x100)
#define FAD_FLAG_COUNT ((UINT) 9)
#ifndef FILE_ATTRIBUTE_INROM
#define FILE_ATTRIBUTE_INROM 0x00000040
#endif
#ifndef FILE_ATTRIBUTE_ROMSTATICREF
#define FILE_ATTRIBUTE_ROMSTATICREF 0x00001000
#endif
#ifndef FILE_ATTRIBUTE_ROMMODULE
#define FILE_ATTRIBUTE_ROMMODULE 0x00002000
#endif
//
// The following is not a standard Windows CE File Attribute.
//
#ifndef FILE_ATTRIBUTE_HAS_CHILDREN
#define FILE_ATTRIBUTE_HAS_CHILDREN 0x00010000
#endif
#ifndef FILE_ATTRIBUTE_SHORTCUT
#define FILE_ATTRIBUTE_SHORTCUT 0x00020000
#endif
typedef enum RAPISTREAMFLAG
{
STREAM_TIMEOUT_READ
} RAPISTREAMFLAG;
// forward define
#ifdef MIDL_ONLY
interface IRAPIStream;
#else
typedef struct IRAPIStream IRAPIStream;
#endif
// RAPI extension on Windows CE (e.g., MyFunctionFOO) called via CeRapiInvoke should be declared as:
// EXTERN_C RAPIEXT MyFunctionFOO;
typedef HRESULT (STDAPICALLTYPE RAPIEXT)(
DWORD cbInput, // [IN]
BYTE * pInput, // [IN]
DWORD * pcbOutput, // [OUT]
BYTE ** ppOutput, // [OUT]
IRAPIStream * pIRAPIStream // [IN]
);
//
// The following definitions are for the client side only,
// because they are already defined on Windows CE.
//
#ifndef UNDER_CE
#include <stddef.h>
typedef struct STORE_INFORMATION
{
DWORD dwStoreSize;
DWORD dwFreeSize;
} STORE_INFORMATION;
typedef STORE_INFORMATION * LPSTORE_INFORMATION;
typedef DWORD CEPROPID;
typedef CEPROPID * PCEPROPID;
#define TypeFromPropID(propid) LOWORD(propid)
typedef DWORD CEOID;
typedef CEOID *PCEOID;
typedef struct CEGUID
{
DWORD Data1;
DWORD Data2;
DWORD Data3;
DWORD Data4;
} CEGUID;
typedef CEGUID * PCEGUID;
typedef struct CENOTIFICATION {
DWORD dwSize;
DWORD dwParam;
UINT uType;
CEGUID guid;
CEOID oid;
CEOID oidParent;
} CENOTIFICATION;
#define CEDB_EXNOTIFICATION 0x00000001
typedef struct CENOTIFYREQUEST {
DWORD dwSize;
HWND hwnd;
DWORD dwFlags;
HANDLE hHeap;
DWORD dwParam;
} CENOTIFYREQUEST;
typedef CENOTIFYREQUEST * PCENOTIFYREQUEST;
typedef struct CEFILEINFO
{
DWORD dwAttributes;
CEOID oidParent;
WCHAR szFileName[MAX_PATH];
FILETIME ftLastChanged;
DWORD dwLength;
} CEFILEINFO;
typedef struct CEDIRINFO {
DWORD dwAttributes;
CEOID oidParent;
WCHAR szDirName[MAX_PATH];
} CEDIRINFO;
typedef struct CERECORDINFO {
CEOID oidParent;
} CERECORDINFO;
#define CEDB_SORT_DESCENDING 0x00000001
#define CEDB_SORT_CASEINSENSITIVE 0x00000002
#define CEDB_SORT_UNKNOWNFIRST 0x00000004
#define CEDB_SORT_GENERICORDER 0x00000008
typedef struct SORTORDERSPEC {
CEPROPID propid;
DWORD dwFlags;
} SORTORDERSPEC;
#define CEDB_MAXDBASENAMELEN 32
#define CEDB_MAXDBASENAMELEN 32
#define CEDB_MAXSORTORDER 4
#define CEDB_MAXSORTORDER 4
#define CEDB_VALIDNAME 0x0001
#define CEDB_VALIDTYPE 0x0002
#define CEDB_VALIDSORTSPEC 0x0004
#define CEDB_VALIDMODTIME 0x0008
#define CEDB_VALIDDBFLAGS 0x0010
#define CEDB_VALIDCREATE (CEDB_VALIDNAME|CEDB_VALIDTYPE|CEDB_VALIDSORTSPEC|CEDB_VALIDDBFLAGS)
#define CEDB_NOCOMPRESS 0x00010000
typedef struct CEDBASEINFO
{
DWORD dwFlags;
WCHAR szDbaseName[CEDB_MAXDBASENAMELEN];
DWORD dwDbaseType;
WORD wNumRecords;
WORD wNumSortOrder;
DWORD dwSize;
FILETIME ftLastModified;
SORTORDERSPEC rgSortSpecs[CEDB_MAXSORTORDER];
} CEDBASEINFO;
typedef struct CEDB_FIND_DATA {
CEOID OidDb;
CEDBASEINFO DbInfo;
} CEDB_FIND_DATA;
typedef CEDB_FIND_DATA * LPCEDB_FIND_DATA;
typedef CEDB_FIND_DATA ** LPLPCEDB_FIND_DATA;
#define OBJTYPE_INVALID 0
#define OBJTYPE_FILE 1
#define OBJTYPE_DIRECTORY 2
#define OBJTYPE_DATABASE 3
#define OBJTYPE_RECORD 4
typedef struct CEOIDINFO
{
WORD wObjType;
WORD wPad;
union
{
CEFILEINFO infFile;
CEDIRINFO infDirectory;
CEDBASEINFO infDatabase;
CERECORDINFO infRecord;
};
} CEOIDINFO;
#define CEDB_AUTOINCREMENT 0x00000001
#define CEDB_SEEK_CEOID 0x00000001
#define CEDB_SEEK_BEGINNING 0x00000002
#define CEDB_SEEK_END 0x00000004
#define CEDB_SEEK_CURRENT 0x00000008
#define CEDB_SEEK_VALUESMALLER 0x00000010
#define CEDB_SEEK_VALUEFIRSTEQUAL 0x00000020
#define CEDB_SEEK_VALUEGREATER 0x00000040
#define CEDB_SEEK_VALUENEXTEQUAL 0x00000080
typedef struct CEBLOB{
DWORD dwCount;
LPBYTE lpb;
} CEBLOB;
#define CEVT_I2 2
#define CEVT_UI2 18
#define CEVT_I4 3
#define CEVT_UI4 19
#define CEVT_FILETIME 64
#define CEVT_LPWSTR 31
#define CEVT_BLOB 65
#define CEVT_BOOL 11
#define CEVT_R8 5
typedef union CEVALUNION {
short iVal;
USHORT uiVal;
long lVal;
ULONG ulVal;
FILETIME filetime;
LPWSTR lpwstr;
CEBLOB blob;
BOOL boolVal;
double dblVal;
} CEVALUNION;
#define CEDB_PROPNOTFOUND 0x0100
#define CEDB_PROPDELETE 0x0200
typedef struct CEPROPVAL {
CEPROPID propid;
WORD wLenData;
WORD wFlags;
CEVALUNION val;
} CEPROPVAL;
typedef CEPROPVAL * PCEPROPVAL;
#define CEDB_MAXDATABLOCKSIZE 4092
#define CEDB_MAXPROPDATASIZE (CEDB_MAXDATABLOCKSIZE*16)
#define CEDB_MAXRECORDSIZE (128*1024)
#define CEDB_ALLOWREALLOC 0x00000001
#define CREATE_SYSTEMGUID(pguid) (memset((pguid), 0, sizeof(CEGUID)))
#define CREATE_INVALIDGUID(pguid) (memset((pguid), -1, sizeof(CEGUID)))
#define CHECK_SYSTEMGUID(pguid) !((pguid)->Data1|(pguid)->Data2|(pguid)->Data3|(pguid)->Data4)
#define CHECK_INVALIDGUID(pguid) !~((pguid)->Data1&(pguid)->Data2&(pguid)->Data3&(pguid)->Data4)
#define SYSMEM_CHANGED 0
#define SYSMEM_MUSTREBOOT 1
#define SYSMEM_REBOOTPENDING 2
#define SYSMEM_FAILED 3
typedef struct CEOSVERSIONINFO {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[ 128 ];
} CEOSVERSIONINFO;
typedef CEOSVERSIONINFO * LPCEOSVERSIONINFO;
#define AC_LINE_OFFLINE 0x00
#define AC_LINE_ONLINE 0x01
#define AC_LINE_BACKUP_POWER 0x02
#define AC_LINE_UNKNOWN 0xFF
#define BATTERY_FLAG_HIGH 0x01
#define BATTERY_FLAG_LOW 0x02
#define BATTERY_FLAG_CRITICAL 0x04
#define BATTERY_FLAG_CHARGING 0x08
#define BATTERY_FLAG_NO_BATTERY 0x80
#define BATTERY_FLAG_UNKNOWN 0xFF
#define BATTERY_PERCENTAGE_UNKNOWN 0xFF
#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
typedef struct SYSTEM_POWER_STATUS_EX{
BYTE ACLineStatus;
BYTE BatteryFlag;
BYTE BatteryLifePercent;
BYTE Reserved1;
DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime;
BYTE Reserved2;
BYTE BackupBatteryFlag;
BYTE BackupBatteryLifePercent;
BYTE Reserved3;
DWORD BackupBatteryLifeTime;
DWORD BackupBatteryFullLifeTime;
} SYSTEM_POWER_STATUS_EX;
typedef SYSTEM_POWER_STATUS_EX * PSYSTEM_POWER_STATUS_EX;
typedef SYSTEM_POWER_STATUS_EX * LPSYSTEM_POWER_STATUS_EX;
//
// MessageId: CERAPI_E_ALREADYINITIALIZED
//
// CeRapiInit(Ex) has already been successfully called
//
#define CERAPI_E_ALREADYINITIALIZED 0x80041001
typedef struct RAPIINIT
{
DWORD cbSize;
HANDLE heRapiInit;
HRESULT hrRapiInit;
} RAPIINIT;
//
// Instruction set definitions for CeQueryInstructionSet()
//
// PROCESSOR_ARCHITECTURE_x are already defined in desktop winnt.h
// Here we include the CE specific definitions from CE winnt.h
//
#define PROCESSOR_INSTRUCTION_CODE(arch, core, feature) \
((arch) << 24 | (core) << 16 | (feature))
#define PROCESSOR_X86_32BIT_CORE 1
#define PROCESSOR_MIPS16_CORE 1
#define PROCESSOR_MIPSII_CORE 2
#define PROCESSOR_MIPSIV_CORE 3
#define PROCESSOR_HITACHI_SH3_CORE 1
#define PROCESSOR_HITACHI_SH4_CORE 2
#define PROCESSOR_ARM_V4_CORE 1
#define PROCESSOR_ARM_V4I_CORE 2
#define PROCESSOR_ARM_V4T_CORE 3
#define PROCESSOR_FEATURE_NOFP 0
#define PROCESSOR_FEATURE_FP 1
#define PROCESSOR_FEATURE_DSP PROCESSOR_FEATURE_FP
#define PROCESSOR_QUERY_INSTRUCTION PROCESSOR_INSTRUCTION_CODE(0,0,0)
#define PROCESSOR_X86_32BIT_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_INTEL, PROCESSOR_X86_32BIT_CORE, PROCESSOR_FEATURE_FP)
#define PROCESSOR_MIPS_MIPS16_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_MIPS, PROCESSOR_MIPS16_CORE, PROCESSOR_FEATURE_NOFP)
#define PROCESSOR_MIPS_MIPSII_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_MIPS, PROCESSOR_MIPSII_CORE, PROCESSOR_FEATURE_NOFP)
#define PROCESSOR_MIPS_MIPSIIFP_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_MIPS, PROCESSOR_MIPSII_CORE, PROCESSOR_FEATURE_FP)
#define PROCESSOR_MIPS_MIPSIV_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_MIPS, PROCESSOR_MIPSIV_CORE, PROCESSOR_FEATURE_NOFP)
#define PROCESSOR_MIPS_MIPSIVFP_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_MIPS, PROCESSOR_MIPSIV_CORE, PROCESSOR_FEATURE_FP)
#define PROCESSOR_HITACHI_SH3_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_SHX, PROCESSOR_HITACHI_SH3_CORE, PROCESSOR_FEATURE_NOFP)
#define PROCESSOR_HITACHI_SH3DSP_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_SHX, PROCESSOR_HITACHI_SH3_CORE, PROCESSOR_FEATURE_DSP)
#define PROCESSOR_HITACHI_SH4_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_SHX, PROCESSOR_HITACHI_SH4_CORE, PROCESSOR_FEATURE_FP)
#define PROCESSOR_ARM_V4_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_ARM, PROCESSOR_ARM_V4_CORE, PROCESSOR_FEATURE_NOFP)
#define PROCESSOR_ARM_V4FP_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_ARM, PROCESSOR_ARM_V4_CORE, PROCESSOR_FEATURE_FP)
#define PROCESSOR_ARM_V4I_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_ARM, PROCESSOR_ARM_V4I_CORE, PROCESSOR_FEATURE_NOFP)
#define PROCESSOR_ARM_V4IFP_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_ARM, PROCESSOR_ARM_V4I_CORE, PROCESSOR_FEATURE_FP)
#define PROCESSOR_ARM_V4T_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_ARM, PROCESSOR_ARM_V4T_CORE, PROCESSOR_FEATURE_NOFP)
#define PROCESSOR_ARM_V4TFP_INSTRUCTION \
PROCESSOR_INSTRUCTION_CODE(PROCESSOR_ARCHITECTURE_ARM, PROCESSOR_ARM_V4T_CORE, PROCESSOR_FEATURE_FP)
#endif // !UNDER_CE

View file

@ -0,0 +1,248 @@
// ***************************************************************************
// rapitypes2.h
//
// Copyright 2003 Microsoft Corporation, All Rights Reserved
//
// Types needed for RAPI2.
//
// ***************************************************************************
#pragma once
#ifdef MIDL_ONLY
#include <basetsd.h>
typedef struct OVERLAPPED {
ULONG_PTR Internal;
ULONG_PTR InternalHigh;
union UNION_OFFSET_POINTER{
struct OFFSET{
DWORD Offset;
DWORD OffsetHigh;
} OFFSET;
PVOID Pointer;
} UNION_OFFSET_POINTER;
HANDLE hEvent;
} OVERLAPPED;
typedef OVERLAPPED * LPOVERLAPPED;
#define CONST const
typedef CONST void far *LPCVOID;
typedef LONG *PLONG;
typedef struct STARTUPINFOA {
DWORD cb;
LPSTR lpReserved;
LPSTR lpDesktop;
LPSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFOA;
typedef STARTUPINFOA * LPSTARTUPINFOA;
typedef struct STARTUPINFOW {
DWORD cb;
LPWSTR lpReserved;
LPWSTR lpDesktop;
LPWSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFOW;
typedef STARTUPINFOW * LPSTARTUPINFOW;
#ifdef UNICODE
typedef STARTUPINFOW STARTUPINFO;
typedef LPSTARTUPINFOW LPSTARTUPINFO;
#else
typedef STARTUPINFOA STARTUPINFO;
typedef LPSTARTUPINFOA LPSTARTUPINFO;
#endif // UNICODE
typedef struct PROCESS_INFORMATION {
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId;
DWORD dwThreadId;
} PROCESS_INFORMATION;
typedef PROCESS_INFORMATION * PPROCESS_INFORMATION;
typedef PROCESS_INFORMATION * LPPROCESS_INFORMATION;
typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK REGSAM;
typedef HKEY *PHKEY;
typedef struct SYSTEM_INFO {
union UNION_OEMID_PROCESSOR_INFO{
DWORD dwOemId; // Obsolete field...do not use
struct PROCESSOR_INFO{
WORD wProcessorArchitecture;
WORD wReserved;
} PROCESSOR_INFO;
} UNION_OEMID_PROCESSOR_INFO;
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO;
typedef SYSTEM_INFO * LPSYSTEM_INFO;
typedef struct MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
SIZE_T dwTotalPhys;
SIZE_T dwAvailPhys;
SIZE_T dwTotalPageFile;
SIZE_T dwAvailPageFile;
SIZE_T dwTotalVirtual;
SIZE_T dwAvailVirtual;
} MEMORYSTATUS;
typedef MEMORYSTATUS * LPMEMORYSTATUS;
#define _SS_MAXSIZE 128 // Maximum size.
#define _SS_ALIGNSIZE (sizeof(__int64)) // Desired alignment.
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (short))
#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (short) + _SS_PAD1SIZE \
+ _SS_ALIGNSIZE))
/*
typedef struct sockaddr_storage {
short ss_family; // Address family.
char __ss_pad1[_SS_PAD1SIZE]; // 6 byte pad, this is to make
// implementation specific pad up to
// alignment field that follows explicit
// in the data structure.
__int64 __ss_align; // Field to force desired structure.
char __ss_pad2[_SS_PAD2SIZE]; // 112 byte pad to achieve desired size;
// _SS_MAXSIZE value minus size of
// ss_family, __ss_pad1, and
// __ss_align fields is 112.
} sockaddr_storage ;
typedef struct sockaddr_storage SOCKADDR_STORAGE;
*/
#endif // MIDL_ONLY
// end gross struct copy hack (everything after this is previously hacked from CE stuff that doesn't exist on desktop, so leave it as is).
//
// DEVICEID structure
//
typedef GUID RAPIDEVICEID;
#define RAPIDEVICEID_BACKCOMPAT GUID_NULL // device id for older devices
#ifndef UNDER_CE
// this is defined in CE's pwinuser.h, so we only want it for desktop
typedef struct {
DWORD dwMajor;
DWORD dwMinor;
} PLATFORMVERSION;
#endif
//
// struct to hold additional platforms and their versions.
//
#define MAX_SUB_PLATFORMS 6
typedef struct RAPI_DEVICE_PLATFORM
{
BSTR bstrName;
DWORD dwMajor;
DWORD dwMinor;
} RAPI_DEVICE_PLATFORM;
//
// RAPI_DEVICEINFO
//
typedef struct RAPI_DEVICEINFO
{
RAPIDEVICEID DeviceId;
DWORD dwOsVersionMajor;
DWORD dwOsVersionMinor;
BSTR bstrName;
BSTR bstrPlatform;
} RAPI_DEVICEINFO;
#define FreeDeviceInfoData(pDevInfo) \
do \
{ \
SysFreeString((pDevInfo)->bstrName); \
SysFreeString((pDevInfo)->bstrPlatform); \
} while (0,0)
#ifndef MIDL_ONLY
#include "winsock2.h"
#endif
//
// RAPI_DEVICESTATUS
//
typedef enum RAPI_DEVICESTATUS
{
RAPI_DEVICE_DISCONNECTED = 0,
RAPI_DEVICE_CONNECTED = 1,
} RAPI_DEVICESTATUS;
//
// op codes for IRAPIDesktop funcs
//
typedef enum RAPI_GETDEVICEOPCODE
{
RAPI_GETDEVICE_NONBLOCKING,
RAPI_GETDEVICE_BLOCKING
} RAPI_GETDEVICEOPCODE;
//
// Connected type codes
//
typedef enum RAPI_CONNECTIONTYPE
{
RAPI_CONNECTION_USB = 0,
RAPI_CONNECTION_IR = 1,
RAPI_CONNECTION_SERIAL = 2,
RAPI_CONNECTION_NETWORK = 3,
} RAPI_CONNECTIONTYPE;
typedef struct RAPI_CONNECTIONINFO {
SOCKADDR_STORAGE ipaddr;
SOCKADDR_STORAGE hostIpaddr;
RAPI_CONNECTIONTYPE connectionType;
} RAPI_CONNECTIONINFO;