Click here to Skip to main content
15,896,269 members
Articles / High Performance Computing / Parallel Processing

Use of free SocketPro package for creating super client and server applications

Rate me:
Please Sign up or sign in to vote.
4.48/5 (19 votes)
23 Feb 200211 min read 181.2K   6.3K   59  
A set of socket libraries for writing distributed computing applications over the internet
/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Sun Jan 06 10:46:36 2002
 */
/* Compiler settings for SockFile.idl:
    Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@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 __SockFile_h__
#define __SockFile_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __ISocketFile_FWD_DEFINED__
#define __ISocketFile_FWD_DEFINED__
typedef interface ISocketFile ISocketFile;
#endif 	/* __ISocketFile_FWD_DEFINED__ */


#ifndef ___ISocketFileEvents_FWD_DEFINED__
#define ___ISocketFileEvents_FWD_DEFINED__
typedef interface _ISocketFileEvents _ISocketFileEvents;
#endif 	/* ___ISocketFileEvents_FWD_DEFINED__ */


#ifndef __SocketFile_FWD_DEFINED__
#define __SocketFile_FWD_DEFINED__

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

#endif 	/* __SocketFile_FWD_DEFINED__ */


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

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

#ifndef __ISocketFile_INTERFACE_DEFINED__
#define __ISocketFile_INTERFACE_DEFINED__

/* interface ISocketFile */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ISocketFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("41039CFD-ADBC-11D5-8A73-002078B038BB")
    ISocketFile : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseFile( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindClose( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFileAttributes( 
            /* [retval][out] */ long __RPC_FAR *plFileAttributes) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetFileAttributes( 
            /* [in] */ BSTR bstrFileName,
            /* [in] */ long lFileAttributes) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFileSize( 
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plFileSizeHigh,
            /* [retval][out] */ long __RPC_FAR *plFileSizeLow) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteFile( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateDirectory( 
            /* [in] */ BSTR bstrDirectory) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveDirectory( 
            /* [in] */ BSTR bstrDirectory) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCurrentDirectory( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindFile( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindFirstFile( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FindNextFile( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateFile( 
            /* [in] */ BSTR bstrFileName,
            /* [in] */ long lDesiredAccess,
            /* [in] */ long lShareMode,
            /* [in] */ long lCreationDisposition,
            /* [in] */ long lFlagsAndAttributes) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE WriteChunk( 
            /* [in] */ VARIANT vtData) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReadChunk( 
            /* [in] */ long lLen) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MoveFile( 
            /* [in] */ BSTR bstrExistingFileName,
            /* [in] */ BSTR bstrNewFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyFile( 
            /* [in] */ BSTR bstrExistingFileName,
            /* [in] */ BSTR bstrNewFileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists = -1) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFile( 
            /* [in] */ BSTR bstrSrcFileName,
            /* [in] */ BSTR bstrDesFileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists = -1) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SendFile( 
            /* [in] */ BSTR bstrSrcFileName,
            /* [in] */ BSTR bstrDesFileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists = -1) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreationTime( 
            /* [out] */ short __RPC_FAR *pnYear,
            /* [out] */ short __RPC_FAR *pnMonth,
            /* [out] */ short __RPC_FAR *pnDayOfWeek,
            /* [out] */ short __RPC_FAR *pnDay,
            /* [out] */ short __RPC_FAR *pnHour,
            /* [out] */ short __RPC_FAR *pnMinute,
            /* [out] */ short __RPC_FAR *pnSecond,
            /* [out] */ short __RPC_FAR *pnMilliseconds) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLastAccessTime( 
            /* [out] */ short __RPC_FAR *pnYear,
            /* [out] */ short __RPC_FAR *pnMonth,
            /* [out] */ short __RPC_FAR *pnDayOfWeek,
            /* [out] */ short __RPC_FAR *pnDay,
            /* [out] */ short __RPC_FAR *pnHour,
            /* [out] */ short __RPC_FAR *pnMinute,
            /* [out] */ short __RPC_FAR *pnSecond,
            /* [out] */ short __RPC_FAR *pnMilliseconds) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLastWriteTime( 
            /* [out] */ short __RPC_FAR *pnYear,
            /* [out] */ short __RPC_FAR *pnMonth,
            /* [out] */ short __RPC_FAR *pnDayOfWeek,
            /* [out] */ short __RPC_FAR *pnDay,
            /* [out] */ short __RPC_FAR *pnHour,
            /* [out] */ short __RPC_FAR *pnMinute,
            /* [out] */ short __RPC_FAR *pnSecond,
            /* [out] */ short __RPC_FAR *pnMilliseconds) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetFilePointer( 
            /* [in] */ long lDistanceToMove,
            /* [in] */ long lMoveMethod) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bA2W,
            /* [retval][out] */ VARIANT __RPC_FAR *pvtData) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetRtn( 
            /* [retval][out] */ long __RPC_FAR *plResult) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFileNameOrDirectory( 
            /* [retval][out] */ BSTR __RPC_FAR *pbstrFileNameOrDirectory) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCurrentDirectory( 
            /* [in] */ BSTR bstrCurrentDirectory) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FlushFileBuffers( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSpaceData( 
            /* [out] */ long __RPC_FAR *plFreeBytesAvailableToCallerLowPart,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfBytesLowPart = 0,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfFreeBytesLowPart = 0,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plFreeBytesAvailableToCallerHighPart = 0,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfBytesHighPart = 0,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfFreeBytesHighPart = 0) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AttachSocket( 
            /* [in] */ IUnknown __RPC_FAR *pIUnknownToSocket) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDiskFreeSpaceEx( 
            /* [in] */ BSTR bstrDirectoryName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE WriteText( 
            /* [in] */ BSTR bstrText,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bW2A = -1) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FileKey( 
            /* [in] */ BSTR newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISocketFileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISocketFile __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISocketFile __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ISocketFile __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseFile )( 
            ISocketFile __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindClose )( 
            ISocketFile __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileAttributes )( 
            ISocketFile __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *plFileAttributes);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFileAttributes )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrFileName,
            /* [in] */ long lFileAttributes);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileSize )( 
            ISocketFile __RPC_FAR * This,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plFileSizeHigh,
            /* [retval][out] */ long __RPC_FAR *plFileSizeLow);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateDirectory )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrDirectory);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveDirectory )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrDirectory);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentDirectory )( 
            ISocketFile __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFirstFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindNextFile )( 
            ISocketFile __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrFileName,
            /* [in] */ long lDesiredAccess,
            /* [in] */ long lShareMode,
            /* [in] */ long lCreationDisposition,
            /* [in] */ long lFlagsAndAttributes);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteChunk )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ VARIANT vtData);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadChunk )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ long lLen);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrExistingFileName,
            /* [in] */ BSTR bstrNewFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrExistingFileName,
            /* [in] */ BSTR bstrNewFileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrSrcFileName,
            /* [in] */ BSTR bstrDesFileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendFile )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrSrcFileName,
            /* [in] */ BSTR bstrDesFileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCreationTime )( 
            ISocketFile __RPC_FAR * This,
            /* [out] */ short __RPC_FAR *pnYear,
            /* [out] */ short __RPC_FAR *pnMonth,
            /* [out] */ short __RPC_FAR *pnDayOfWeek,
            /* [out] */ short __RPC_FAR *pnDay,
            /* [out] */ short __RPC_FAR *pnHour,
            /* [out] */ short __RPC_FAR *pnMinute,
            /* [out] */ short __RPC_FAR *pnSecond,
            /* [out] */ short __RPC_FAR *pnMilliseconds);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastAccessTime )( 
            ISocketFile __RPC_FAR * This,
            /* [out] */ short __RPC_FAR *pnYear,
            /* [out] */ short __RPC_FAR *pnMonth,
            /* [out] */ short __RPC_FAR *pnDayOfWeek,
            /* [out] */ short __RPC_FAR *pnDay,
            /* [out] */ short __RPC_FAR *pnHour,
            /* [out] */ short __RPC_FAR *pnMinute,
            /* [out] */ short __RPC_FAR *pnSecond,
            /* [out] */ short __RPC_FAR *pnMilliseconds);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastWriteTime )( 
            ISocketFile __RPC_FAR * This,
            /* [out] */ short __RPC_FAR *pnYear,
            /* [out] */ short __RPC_FAR *pnMonth,
            /* [out] */ short __RPC_FAR *pnDayOfWeek,
            /* [out] */ short __RPC_FAR *pnDay,
            /* [out] */ short __RPC_FAR *pnHour,
            /* [out] */ short __RPC_FAR *pnMinute,
            /* [out] */ short __RPC_FAR *pnSecond,
            /* [out] */ short __RPC_FAR *pnMilliseconds);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFilePointer )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ long lDistanceToMove,
            /* [in] */ long lMoveMethod);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
            ISocketFile __RPC_FAR * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bA2W,
            /* [retval][out] */ VARIANT __RPC_FAR *pvtData);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRtn )( 
            ISocketFile __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *plResult);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileNameOrDirectory )( 
            ISocketFile __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pbstrFileNameOrDirectory);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCurrentDirectory )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrCurrentDirectory);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FlushFileBuffers )( 
            ISocketFile __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSpaceData )( 
            ISocketFile __RPC_FAR * This,
            /* [out] */ long __RPC_FAR *plFreeBytesAvailableToCallerLowPart,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfBytesLowPart,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfFreeBytesLowPart,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plFreeBytesAvailableToCallerHighPart,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfBytesHighPart,
            /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfFreeBytesHighPart);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AttachSocket )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ IUnknown __RPC_FAR *pIUnknownToSocket);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDiskFreeSpaceEx )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrDirectoryName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteText )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR bstrText,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL bW2A);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FileKey )( 
            ISocketFile __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        END_INTERFACE
    } ISocketFileVtbl;

    interface ISocketFile
    {
        CONST_VTBL struct ISocketFileVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISocketFile_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISocketFile_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISocketFile_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISocketFile_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ISocketFile_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ISocketFile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ISocketFile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ISocketFile_CloseFile(This)	\
    (This)->lpVtbl -> CloseFile(This)

#define ISocketFile_FindClose(This)	\
    (This)->lpVtbl -> FindClose(This)

#define ISocketFile_GetFileAttributes(This,plFileAttributes)	\
    (This)->lpVtbl -> GetFileAttributes(This,plFileAttributes)

#define ISocketFile_SetFileAttributes(This,bstrFileName,lFileAttributes)	\
    (This)->lpVtbl -> SetFileAttributes(This,bstrFileName,lFileAttributes)

#define ISocketFile_GetFileSize(This,plFileSizeHigh,plFileSizeLow)	\
    (This)->lpVtbl -> GetFileSize(This,plFileSizeHigh,plFileSizeLow)

#define ISocketFile_DeleteFile(This,bstrFileName)	\
    (This)->lpVtbl -> DeleteFile(This,bstrFileName)

#define ISocketFile_CreateDirectory(This,bstrDirectory)	\
    (This)->lpVtbl -> CreateDirectory(This,bstrDirectory)

#define ISocketFile_RemoveDirectory(This,bstrDirectory)	\
    (This)->lpVtbl -> RemoveDirectory(This,bstrDirectory)

#define ISocketFile_GetCurrentDirectory(This)	\
    (This)->lpVtbl -> GetCurrentDirectory(This)

#define ISocketFile_FindFile(This,bstrFileName)	\
    (This)->lpVtbl -> FindFile(This,bstrFileName)

#define ISocketFile_FindFirstFile(This,bstrFileName)	\
    (This)->lpVtbl -> FindFirstFile(This,bstrFileName)

#define ISocketFile_FindNextFile(This)	\
    (This)->lpVtbl -> FindNextFile(This)

#define ISocketFile_CreateFile(This,bstrFileName,lDesiredAccess,lShareMode,lCreationDisposition,lFlagsAndAttributes)	\
    (This)->lpVtbl -> CreateFile(This,bstrFileName,lDesiredAccess,lShareMode,lCreationDisposition,lFlagsAndAttributes)

#define ISocketFile_WriteChunk(This,vtData)	\
    (This)->lpVtbl -> WriteChunk(This,vtData)

#define ISocketFile_ReadChunk(This,lLen)	\
    (This)->lpVtbl -> ReadChunk(This,lLen)

#define ISocketFile_MoveFile(This,bstrExistingFileName,bstrNewFileName)	\
    (This)->lpVtbl -> MoveFile(This,bstrExistingFileName,bstrNewFileName)

#define ISocketFile_CopyFile(This,bstrExistingFileName,bstrNewFileName,bFailIfExists)	\
    (This)->lpVtbl -> CopyFile(This,bstrExistingFileName,bstrNewFileName,bFailIfExists)

#define ISocketFile_GetFile(This,bstrSrcFileName,bstrDesFileName,bFailIfExists)	\
    (This)->lpVtbl -> GetFile(This,bstrSrcFileName,bstrDesFileName,bFailIfExists)

#define ISocketFile_SendFile(This,bstrSrcFileName,bstrDesFileName,bFailIfExists)	\
    (This)->lpVtbl -> SendFile(This,bstrSrcFileName,bstrDesFileName,bFailIfExists)

#define ISocketFile_GetCreationTime(This,pnYear,pnMonth,pnDayOfWeek,pnDay,pnHour,pnMinute,pnSecond,pnMilliseconds)	\
    (This)->lpVtbl -> GetCreationTime(This,pnYear,pnMonth,pnDayOfWeek,pnDay,pnHour,pnMinute,pnSecond,pnMilliseconds)

#define ISocketFile_GetLastAccessTime(This,pnYear,pnMonth,pnDayOfWeek,pnDay,pnHour,pnMinute,pnSecond,pnMilliseconds)	\
    (This)->lpVtbl -> GetLastAccessTime(This,pnYear,pnMonth,pnDayOfWeek,pnDay,pnHour,pnMinute,pnSecond,pnMilliseconds)

#define ISocketFile_GetLastWriteTime(This,pnYear,pnMonth,pnDayOfWeek,pnDay,pnHour,pnMinute,pnSecond,pnMilliseconds)	\
    (This)->lpVtbl -> GetLastWriteTime(This,pnYear,pnMonth,pnDayOfWeek,pnDay,pnHour,pnMinute,pnSecond,pnMilliseconds)

#define ISocketFile_SetFilePointer(This,lDistanceToMove,lMoveMethod)	\
    (This)->lpVtbl -> SetFilePointer(This,lDistanceToMove,lMoveMethod)

#define ISocketFile_GetData(This,bA2W,pvtData)	\
    (This)->lpVtbl -> GetData(This,bA2W,pvtData)

#define ISocketFile_GetRtn(This,plResult)	\
    (This)->lpVtbl -> GetRtn(This,plResult)

#define ISocketFile_GetFileNameOrDirectory(This,pbstrFileNameOrDirectory)	\
    (This)->lpVtbl -> GetFileNameOrDirectory(This,pbstrFileNameOrDirectory)

#define ISocketFile_SetCurrentDirectory(This,bstrCurrentDirectory)	\
    (This)->lpVtbl -> SetCurrentDirectory(This,bstrCurrentDirectory)

#define ISocketFile_FlushFileBuffers(This)	\
    (This)->lpVtbl -> FlushFileBuffers(This)

#define ISocketFile_GetSpaceData(This,plFreeBytesAvailableToCallerLowPart,plTotalNumberOfBytesLowPart,plTotalNumberOfFreeBytesLowPart,plFreeBytesAvailableToCallerHighPart,plTotalNumberOfBytesHighPart,plTotalNumberOfFreeBytesHighPart)	\
    (This)->lpVtbl -> GetSpaceData(This,plFreeBytesAvailableToCallerLowPart,plTotalNumberOfBytesLowPart,plTotalNumberOfFreeBytesLowPart,plFreeBytesAvailableToCallerHighPart,plTotalNumberOfBytesHighPart,plTotalNumberOfFreeBytesHighPart)

#define ISocketFile_AttachSocket(This,pIUnknownToSocket)	\
    (This)->lpVtbl -> AttachSocket(This,pIUnknownToSocket)

#define ISocketFile_GetDiskFreeSpaceEx(This,bstrDirectoryName)	\
    (This)->lpVtbl -> GetDiskFreeSpaceEx(This,bstrDirectoryName)

#define ISocketFile_WriteText(This,bstrText,bW2A)	\
    (This)->lpVtbl -> WriteText(This,bstrText,bW2A)

#define ISocketFile_put_FileKey(This,newVal)	\
    (This)->lpVtbl -> put_FileKey(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_CloseFile_Proxy( 
    ISocketFile __RPC_FAR * This);


void __RPC_STUB ISocketFile_CloseFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_FindClose_Proxy( 
    ISocketFile __RPC_FAR * This);


void __RPC_STUB ISocketFile_FindClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetFileAttributes_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *plFileAttributes);


void __RPC_STUB ISocketFile_GetFileAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_SetFileAttributes_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrFileName,
    /* [in] */ long lFileAttributes);


void __RPC_STUB ISocketFile_SetFileAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetFileSize_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [defaultvalue][optional][out] */ long __RPC_FAR *plFileSizeHigh,
    /* [retval][out] */ long __RPC_FAR *plFileSizeLow);


void __RPC_STUB ISocketFile_GetFileSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_DeleteFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrFileName);


void __RPC_STUB ISocketFile_DeleteFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_CreateDirectory_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrDirectory);


void __RPC_STUB ISocketFile_CreateDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_RemoveDirectory_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrDirectory);


void __RPC_STUB ISocketFile_RemoveDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetCurrentDirectory_Proxy( 
    ISocketFile __RPC_FAR * This);


void __RPC_STUB ISocketFile_GetCurrentDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_FindFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrFileName);


void __RPC_STUB ISocketFile_FindFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_FindFirstFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrFileName);


void __RPC_STUB ISocketFile_FindFirstFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_FindNextFile_Proxy( 
    ISocketFile __RPC_FAR * This);


void __RPC_STUB ISocketFile_FindNextFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_CreateFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrFileName,
    /* [in] */ long lDesiredAccess,
    /* [in] */ long lShareMode,
    /* [in] */ long lCreationDisposition,
    /* [in] */ long lFlagsAndAttributes);


void __RPC_STUB ISocketFile_CreateFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_WriteChunk_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ VARIANT vtData);


void __RPC_STUB ISocketFile_WriteChunk_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_ReadChunk_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ long lLen);


void __RPC_STUB ISocketFile_ReadChunk_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_MoveFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrExistingFileName,
    /* [in] */ BSTR bstrNewFileName);


void __RPC_STUB ISocketFile_MoveFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_CopyFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrExistingFileName,
    /* [in] */ BSTR bstrNewFileName,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists);


void __RPC_STUB ISocketFile_CopyFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrSrcFileName,
    /* [in] */ BSTR bstrDesFileName,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists);


void __RPC_STUB ISocketFile_GetFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_SendFile_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrSrcFileName,
    /* [in] */ BSTR bstrDesFileName,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL bFailIfExists);


void __RPC_STUB ISocketFile_SendFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetCreationTime_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [out] */ short __RPC_FAR *pnYear,
    /* [out] */ short __RPC_FAR *pnMonth,
    /* [out] */ short __RPC_FAR *pnDayOfWeek,
    /* [out] */ short __RPC_FAR *pnDay,
    /* [out] */ short __RPC_FAR *pnHour,
    /* [out] */ short __RPC_FAR *pnMinute,
    /* [out] */ short __RPC_FAR *pnSecond,
    /* [out] */ short __RPC_FAR *pnMilliseconds);


void __RPC_STUB ISocketFile_GetCreationTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetLastAccessTime_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [out] */ short __RPC_FAR *pnYear,
    /* [out] */ short __RPC_FAR *pnMonth,
    /* [out] */ short __RPC_FAR *pnDayOfWeek,
    /* [out] */ short __RPC_FAR *pnDay,
    /* [out] */ short __RPC_FAR *pnHour,
    /* [out] */ short __RPC_FAR *pnMinute,
    /* [out] */ short __RPC_FAR *pnSecond,
    /* [out] */ short __RPC_FAR *pnMilliseconds);


void __RPC_STUB ISocketFile_GetLastAccessTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetLastWriteTime_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [out] */ short __RPC_FAR *pnYear,
    /* [out] */ short __RPC_FAR *pnMonth,
    /* [out] */ short __RPC_FAR *pnDayOfWeek,
    /* [out] */ short __RPC_FAR *pnDay,
    /* [out] */ short __RPC_FAR *pnHour,
    /* [out] */ short __RPC_FAR *pnMinute,
    /* [out] */ short __RPC_FAR *pnSecond,
    /* [out] */ short __RPC_FAR *pnMilliseconds);


void __RPC_STUB ISocketFile_GetLastWriteTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_SetFilePointer_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ long lDistanceToMove,
    /* [in] */ long lMoveMethod);


void __RPC_STUB ISocketFile_SetFilePointer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetData_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL bA2W,
    /* [retval][out] */ VARIANT __RPC_FAR *pvtData);


void __RPC_STUB ISocketFile_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetRtn_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *plResult);


void __RPC_STUB ISocketFile_GetRtn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetFileNameOrDirectory_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pbstrFileNameOrDirectory);


void __RPC_STUB ISocketFile_GetFileNameOrDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_SetCurrentDirectory_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrCurrentDirectory);


void __RPC_STUB ISocketFile_SetCurrentDirectory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_FlushFileBuffers_Proxy( 
    ISocketFile __RPC_FAR * This);


void __RPC_STUB ISocketFile_FlushFileBuffers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetSpaceData_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [out] */ long __RPC_FAR *plFreeBytesAvailableToCallerLowPart,
    /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfBytesLowPart,
    /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfFreeBytesLowPart,
    /* [defaultvalue][optional][out] */ long __RPC_FAR *plFreeBytesAvailableToCallerHighPart,
    /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfBytesHighPart,
    /* [defaultvalue][optional][out] */ long __RPC_FAR *plTotalNumberOfFreeBytesHighPart);


void __RPC_STUB ISocketFile_GetSpaceData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_AttachSocket_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ IUnknown __RPC_FAR *pIUnknownToSocket);


void __RPC_STUB ISocketFile_AttachSocket_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_GetDiskFreeSpaceEx_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrDirectoryName);


void __RPC_STUB ISocketFile_GetDiskFreeSpaceEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISocketFile_WriteText_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR bstrText,
    /* [defaultvalue][optional][in] */ VARIANT_BOOL bW2A);


void __RPC_STUB ISocketFile_WriteText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISocketFile_put_FileKey_Proxy( 
    ISocketFile __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB ISocketFile_put_FileKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISocketFile_INTERFACE_DEFINED__ */



#ifndef __SOCKFILELib_LIBRARY_DEFINED__
#define __SOCKFILELib_LIBRARY_DEFINED__

/* library SOCKFILELib */
/* [helpstring][version][uuid] */ 

typedef 
enum tagSockFileDefines
    {	g_nCREATE_FILE_SOCK_CLIENT	= 0xa00000fe,
	g_nFILE_SECURITY_CHECK_FALIED	= 0x89000000
    }	SockFileDefines;

typedef 
enum tagThreadEvent
    {	ThreadStarted	= 0x782,
	ThreadProcessing	= 0x783,
	ThreadEnded	= 0x784
    }	ThreadEvent;

typedef 
enum tagFileMethodID
    {	idCreateFile	= 1,
	idReadFile	= 2,
	idWriteFile	= 3,
	idDeleteFile	= 4,
	idCopyFile	= 5,
	idMoveFile	= 6,
	idFindFile	= 7,
	idFindFirstFile	= 8,
	idFindNextFile	= 9,
	idCreateDirectory	= 10,
	idGetCurrentDirectory	= 11,
	idSetFileAttributes	= 12,
	idRemoveDirectory	= 13,
	idFindClose	= 14,
	idFlushFileBuffers	= 15,
	idGetFile	= 16,
	idSendFile	= 17,
	idSetCurrentDirectory	= 18,
	idCloseFile	= 19,
	idSetFilePointer	= 20,
	idGetDiskFreeSpaceEx	= 21
    }	FileMethodID;


EXTERN_C const IID LIBID_SOCKFILELib;

#ifndef ___ISocketFileEvents_DISPINTERFACE_DEFINED__
#define ___ISocketFileEvents_DISPINTERFACE_DEFINED__

/* dispinterface _ISocketFileEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__ISocketFileEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("728360BE-AE26-11D5-8C74-002078B038AB")
    _ISocketFileEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _ISocketFileEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            _ISocketFileEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            _ISocketFileEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            _ISocketFileEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            _ISocketFileEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            _ISocketFileEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            _ISocketFileEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            _ISocketFileEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } _ISocketFileEventsVtbl;

    interface _ISocketFileEvents
    {
        CONST_VTBL struct _ISocketFileEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _ISocketFileEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _ISocketFileEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _ISocketFileEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _ISocketFileEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _ISocketFileEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _ISocketFileEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _ISocketFileEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___ISocketFileEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SocketFile;

#ifdef __cplusplus

class DECLSPEC_UUID("41039CFE-ADBC-11D5-8A73-002078B038BB")
SocketFile;
#endif
#endif /* __SOCKFILELib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Software Developer (Senior)
United States United States
Yuancai (Charlie) Ye, an experienced C/C++ software engineer, lives in Atlanta, Georgia. He is an expert at continuous inline request/result batching, real-time stream processing, asynchronous data transferring and parallel computation for the best communication throughput and latency. He has been working at SocketPro (https://github.com/udaparts/socketpro) for more than fifteen years.

Comments and Discussions