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

📄 rapi.cs

📁 windows mobile 开发实例wi ndows mobile 开发实例
💻 CS
📖 第 1 页 / 共 2 页
字号:
         CEVT_FILETIME = 64,
         CEVT_LPWSTR = 31,
         CEVT_BLOB = 65,
         CEVT_BOOL = 11,
         CEVT_R8 = 5,
      }

      [StructLayout(LayoutKind.Explicit,CharSet=CharSet.Unicode)]
         public struct CEVALUNION
      {
         [FieldOffset(0)] short iVal;
         [FieldOffset(0)] ushort uiVal;
         [FieldOffset(0)] int lVal;
         [FieldOffset(0)] uint ulVal;
         [FieldOffset(0)] FILETIME filetime;
         [FieldOffset(0)] string lpwstr;
         [FieldOffset(0)] CEBLOB blob;
         [FieldOffset(0)] int boolVal;
         [FieldOffset(0)] Double dblVal;
      };

      public enum CEDB_PROPVAL_FLAGS
      {
         CEDB_PROPNOTFOUND = 0x0100,
         CEDB_PROPDELETE = 0x0200,
      }

      [StructLayout(LayoutKind.Sequential,Pack=4,CharSet=CharSet.Unicode)]
         public struct CEPROPVAL
      {
         int propid;
         short wLenData;
         short wFlags;
         CEVALUNION val;
      };

      public const int CEDB_MAXDATABLOCKSIZE = 4092;
      public const int CEDB_MAXPROPDATASIZE = CEDB_MAXDATABLOCKSIZE*16;
      public const int CEDB_MAXRECORDSIZE = 128*1024;
      
      public enum CEDB_READRECORDPROPFLAGS
      {
         CEDB_ALLOWREALLOC = 0x00000001,
      }

       public enum SYSMEM
      {
         SYSMEM_CHANGED = 0,
         SYSMEM_MUSTREBOOT = 1,
         SYSMEM_REBOOTPENDING = 2,
         SYSMEM_FAILED = 3,
      }

       [StructLayout(LayoutKind.Sequential,Pack=4,CharSet=CharSet.Unicode)]
         public struct CEOSVERSIONINFO
      {
         int dwOSVersionInfoSize;
         int dwMajorVersion;
         int dwMinorVersion;
         int dwBuildNumber;
         int dwPlatformId;
         [ MarshalAs( UnmanagedType.ByValTStr, SizeConst=128)]
         string szCSDVersion;
      };

      public enum AC
      {
         AC_LINE_OFFLINE = 0x00,
         AC_LINE_ONLINE = 0x01,
         AC_LINE_BACKUP_POWER = 0x02,
         AC_LINE_UNKNOWN = 0xFF,
      }

      public enum BATTERY_FLAG
      {
         BATTERY_FLAG_HIGH = 0x01,
         BATTERY_FLAG_LOW = 0x02,
         BATTERY_FLAG_CRITICAL = 0x04,
         BATTERY_FLAG_CHARGING = 0x08,
         BATTERY_FLAG_NO_BATTERY = 0x80,
         BATTERY_FLAG_UNKNOWN = 0xFF,
      }

      public const int BATTERY_PERCENTAGE_UNKNOWN = 0xFF;
      public const int BATTERY_LIFE_UNKNOWN = unchecked((int)0xFFFFFFFF);

      public enum REGDISP
      {
         REG_CREATED_NEW_KEY = 0x00000001,
         REG_OPENED_EXISTING_KEY = 0x00000002,
      }

      [StructLayout(LayoutKind.Sequential,Pack=4)]
         public struct SYSTEM_POWER_STATUS_EX
      {
         Byte ACLineStatus;
         Byte BatteryFlag;
         Byte BatteryLifePercent;
         Byte Reserved1;
         int BatteryLifeTime;
         int BatteryFullLifeTime;
         Byte Reserved2;
         Byte BackupBatteryFlag;
         Byte BackupBatteryLifePercent;
         Byte Reserved3;
         int BackupBatteryLifeTime;
         int BackupBatteryFullLifeTime;
      };

      public const int CERAPI_E_ALREADYINITIALIZED = unchecked((int)0x80041001);

      [StructLayout(LayoutKind.Sequential,Pack=4)]
      public struct RAPIINIT
      {
         public int cbSize;
         public IntPtr heRapiInit;
         public int hrRapiInit;
      };

      [StructLayout(LayoutKind.Sequential,Pack=4)]
      public struct SYSTEM_INFO
      {
         [StructLayout(LayoutKind.Explicit)]
         public struct _SYSTEM_INFO_ARCH
         {
            [FieldOffset(0)] int dwOemId;
            [FieldOffset(0)] short wProcessorArchitecture;
            [FieldOffset(2)] short wReserved;
         };
         int dwPageSize;
         Byte [] lpMinimumApplicationAddress;
         Byte [] lpMaximumApplicationAddress;
         int dwActiveProcessorMask;
         int dwNumberOfProcessors;
         int dwProcessorType;
         int dwAllocationGranularity;
         short wProcessorLevel;
         short wProcessorRevision;
      };

      [StructLayout(LayoutKind.Sequential,Pack=4)]
         public struct PROCESS_INFORMATION
      {
         public IntPtr hProcess;
         public IntPtr hThread;
         public int dwProcessId;
         public int dwThreadId;
      };

      [StructLayout(LayoutKind.Sequential,Pack=4)]
         public struct MEMORYSTATUS
      {
         int dwLength;
         int dwMemoryLoad;
         int dwTotalPhys;
         int dwAvailPhys;
         int dwTotalPageFile;
         int dwAvailPageFile;
         int dwTotalVirtual;
         int dwAvailVirtual;
      };

      // From WINBASE.H -- for CeCreateFile
      public enum ACCESS : uint
      {
         READ = 0x80000000,
         WRITE = 0x40000000,
      }
      // From WINBASE.H -- for CeCreateFile
      public enum SHARE
      {
         READ = 0x00000001,
         WRITE = 0x00000002,
      }
      // From WINBASE.H -- for CeCreateFile
      public enum ACTION
      {
         CREATE_NEW = 1,
         CREATE_ALWAYS = 2,
         OPEN_EXISTING = 3,
         OPEN_ALWAYS = 4,
         TRUNCATE_EXISTING = 5
      }
      // From WINBASE.H -- for CeCreateFile
      public enum FILEFLAGATT : uint
      {
         ATTRIBUTE_READONLY = 0x00000001,
         ATTRIBUTE_HIDDEN = 0x00000002,
         ATTRIBUTE_SYSTEM = 0x00000004,
         ATTRIBUTE_DIRECTORY = 0x00000010,
         ATTRIBUTE_ARCHIVE = 0x00000020,
         ATTRIBUTE_INROM = 0x00000040,
         ATTRIBUTE_ENCRYPTED = 0x00000040,
         ATTRIBUTE_NORMAL = 0x00000080,
         ATTRIBUTE_TEMPORARY = 0x00000100,
         ATTRIBUTE_SPARSE_FILE = 0x00000200,
         ATTRIBUTE_REPARSE_POINT = 0x00000400,
         ATTRIBUTE_COMPRESSED = 0x00000800,
         ATTRIBUTE_OFFLINE = 0x00001000,
         ATTRIBUTE_ROMSTATICREF = 0x00001000,
         ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000,
         ATTRIBUTE_ROMMODULE = 0x00002000,
         FLAG_WRITE_THROUGH = 0x80000000,
         FLAG_OVERLAPPED = 0x40000000,
         FLAG_NO_BUFFERING = 0x20000000,
         FLAG_RANDOM_ACCESS = 0x10000000,
         FLAG_SEQUENTIAL_SCAN = 0x08000000,
         FLAG_DELETE_ON_CLOSE = 0x04000000,
         FLAG_BACKUP_SEMANTICS = 0x02000000,
         FLAG_POSIX_SEMANTICS = 0x01000000,
      }

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCheckPassword (string lpszPassword);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCloseHandle (IntPtr hObject);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCopyFile (string lpExistingFileName, string lpNewFileName, int bFailIfExists);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCreateDatabase (string lpszName, int dwDbaseType, short wNumSortOrder, ref SORTORDERSPEC rgSortSpecs);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCreateDatabaseEx (ref System.Guid pceguid, ref CEDBASEINFO lpCEDBInfo);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCreateDirectory (string lpPathName, int Reserved);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern IntPtr CeCreateFile (string lpFileName, ACCESS dwDesiredAccess, SHARE dwShareMode, int Res1, ACTION dwCreationDisposition, FILEFLAGATT dwFlagsAndAttributes, int Res2);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCreateProcess (string lpApplicationName, string lpCommandLine, int Res1, int Res2, int Res3, int dwCreationFlags, int Res4, int Res5, int Res6, ref PROCESS_INFORMATION lpProcessInformation);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeCreateProcess (string lpApplicationName, int Zero, int Res1, int Res2, int Res3, int dwCreationFlags, int Res4, int Res5, int Res6, ref PROCESS_INFORMATION lpProcessInformation);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeDeleteDatabase (int oidDbase);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeDeleteDatabaseEx (ref System.Guid  pguid, int oid);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeDeleteFile (string lpFileName);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeDeleteRecord (IntPtr hDatabase, int oidRecord);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeEnumDBVolumes (ref System.Guid  pceguid, string lpBuf, int dwNumChars);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeFindAllDatabases (int dwDbaseType, FAD wFlags, ref short cFindData, ref IntPtr ppFindData);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeFindAllFiles (string szPath, FAF dwFlags, ref int lpdwFoundCount, ref IntPtr ppFindDataArray);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeFindClose (IntPtr hFindFile);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern IntPtr CeFindFirstDatabase (int dwDbaseType);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern IntPtr CeFindFirstDatabaseEx (ref System.Guid  pceguid, int dwDbaseType);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern IntPtr CeFindFirstFile (string lpFileName, ref CE_FIND_DATA lpFindFileData);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeFindNextDatabase (IntPtr hEnum);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeFindNextDatabaseEx (IntPtr hEnum, ref System.Guid  pceguid);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeFindNextFile (IntPtr hFindFile, ref CE_FIND_DATA lpFindFileData);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetClassName (IntPtr hWnd, string lpClassName, int nMaxCount);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetDesktopDeviceCaps (int nIndex);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetFileAttributes (string lpFileName);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetFileSize (IntPtr hFile, ref int lpFileSizeHigh);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetFileTime (IntPtr hFile, ref FILETIME lpCreationTime, ref FILETIME lpLastAccessTime, ref FILETIME lpLastWriteTime);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetLastError ();

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetSpecialFolderPath (int nFolder, int nBufferLength, string lpBuffer);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetStoreInformation (ref STORE_INFORMATION lpsi);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern void CeGetSystemInfo (ref SYSTEM_INFO lpSystemInfo);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetSystemPowerStatusEx (ref SYSTEM_POWER_STATUS_EX pstatus, int fUpdate);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetTempPath (int nBufferLength, string lpBuffer);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetVersionEx (ref CEOSVERSIONINFO lpVersionInformation);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern IntPtr CeGetWindow (IntPtr hWnd, int uCmd);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetWindowLong (IntPtr hWnd, int nIndex);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeGetWindowText (IntPtr hWnd, string lpString, int nMaxCount);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern void CeGlobalMemoryStatus (ref MEMORYSTATUS lpmst);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeMountDBVol (ref System.Guid  pceguid, string lpszDBVol, int dwFlags);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeMoveFile (string lpExistingFileName, string lpNewFileName);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeOidGetInfo (int oid, ref CEOIDINFO poidInfo);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeOidGetInfoEx (ref System.Guid  pceguid, int oid, ref CEOIDINFO poidInfo);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern IntPtr CeOpenDatabase (ref int poid, string lpszName, int propid, int dwFlags, IntPtr hwndNotify);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern IntPtr CeOpenDatabaseEx (ref System.Guid  pceguid, ref int poid, string lpszName, int propid, int dwFlags, ref CENOTIFYREQUEST pRequest);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeRapiFreeBuffer (IntPtr pBuffer);

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeRapiGetError ();

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeRapiInit ();

      [DllImport(DllName, CharSet=CharSet.Unicode)]
      public static extern int CeRapiInitEx (ref RAPIINIT pRapiInit);

      // Block mode 

⌨️ 快捷键说明

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