www.pudn.com > liuqudong.zip > GenDriver.h


//====================================================================== 
// Header file 
// 
// Written for the book Programming Windows CE 
// Copyright (C) 2003 Douglas Boling 
//====================================================================== 
 
// 
// Declare the external entry points here. Use declspec so we don't  
// need a .def file. Bracketed with extern C to avoid mangling in C++. 
// 
#ifdef __cplusplus 
extern "C" { 
#endif //__cplusplus 
__declspec(dllexport) DWORD GEN_Init (DWORD dwContext); 
__declspec(dllexport) BOOL  GEN_Deinit (DWORD dwContext); 
__declspec(dllexport) DWORD GEN_Open (DWORD dwContext, DWORD dwAccess,  
                                      DWORD dwShare); 
__declspec(dllexport) BOOL  GEN_Close (DWORD dwOpen); 
__declspec(dllexport) DWORD GEN_Read (DWORD dwOpen, LPVOID pBuffer,  
                                      DWORD dwCount); 
__declspec(dllexport) DWORD GEN_Write (DWORD dwOpen, LPVOID pBuffer,  
                                       DWORD dwCount); 
__declspec(dllexport) DWORD GEN_Seek (DWORD dwOpen, long lDelta,  
                                      WORD wType); 
__declspec(dllexport) DWORD GEN_IOControl (DWORD dwOpen, DWORD dwCode,  
                                           PBYTE pIn, DWORD dwIn, 
                                           PBYTE pOut, DWORD dwOut,  
                                           DWORD *pdwBytesWritten); 
__declspec(dllexport) void GEN_PowerDown (DWORD dwContext); 
__declspec(dllexport) void GEN_PowerUp (DWORD dwContext); 
#ifdef __cplusplus 
} // extern "C" 
#endif //__cplusplus 
 
// Suppress warnings by declaring the undeclared. 
#ifndef GetCurrentPermissions 
DWORD GetCurrentPermissions(void); 
DWORD SetProcPermissions (DWORD); 
DWORD GetCallerProcess(void); 
PVOID MapPtrToProcess (PVOID, DWORD); 
#endif //GetCurrentPermissions 
 
DWORD GetConfigData (DWORD); 
// 
// Driver instance structure   
// 
typedef struct { 
    DWORD dwSize; 
    INT nNumOpens; 
} DRVCONTEXT, *PDRVCONTEXT;