クラス SQLiteCSLib.Inner.StringFromC

文字列変換 アンマネージからマネージ [詳細]

すべてのメンバ一覧

Static Public メソッド

static unsafe string String (void *str)
 アンマネージUTF文字列変換
static unsafe string String (IntPtr ValPtr)
 アンマネージUTF文字列変換
static unsafe string StringAnsi (IntPtr ValPtr)
 アンマネージANSI文字列変換
static unsafe string String (void *str, int isize)
 アンマネージUTF文字列変換
static unsafe string String (IntPtr ValPtr, int isize)
 アンマネージUTF文字列変換

説明

文字列変換 アンマネージからマネージ

StringFromC.cs10 行で定義されています。


メソッド

static unsafe string SQLiteCSLib.Inner.StringFromC.String ( IntPtr  ValPtr,
int  isize 
) [static]

アンマネージUTF文字列変換

引数:
str アンマネージ文字列ポインタ
isize 文字数(バイト数では無いので注意)
戻り値:
文字列

StringFromC.cs97 行で定義されています。

00098                 {
00099 #if MOBILEPC
00100                         return Marshal.PtrToStringUni( ValPtr, isize );
00101 #else
00102                         return Marshal.PtrToStringAuto( ValPtr, isize );
00103 #endif
00104                 }

static unsafe string SQLiteCSLib.Inner.StringFromC.String ( void *  str,
int  isize 
) [static]

アンマネージUTF文字列変換

引数:
str アンマネージ文字列ポインタ
isize 文字数(バイト数では無いので注意)
戻り値:
文字列

StringFromC.cs81 行で定義されています。

00082                 {
00083                         IntPtr ValPtr = new IntPtr( str );
00084 #if MOBILEPC
00085                         return Marshal.PtrToStringUni( ValPtr, isize );
00086 #else
00087                         return Marshal.PtrToStringAuto( ValPtr, isize );
00088 #endif
00089                 }

static unsafe string SQLiteCSLib.Inner.StringFromC.String ( IntPtr  ValPtr  )  [static]

アンマネージUTF文字列変換

引数:
ValPtr アンマネージ文字列ポインタ
戻り値:
文字列

StringFromC.cs32 行で定義されています。

00033                 {
00034 #if MOBILEPC
00035                         return Marshal.PtrToStringUni( ValPtr );
00036 #else
00037                         return Marshal.PtrToStringAuto( ValPtr );
00038 #endif
00039                 }

static unsafe string SQLiteCSLib.Inner.StringFromC.String ( void *  str  )  [static]

アンマネージUTF文字列変換

引数:
str アンマネージ文字列ポインタ
戻り値:
文字列

StringFromC.cs17 行で定義されています。

00018                 {
00019                         IntPtr ValPtr = new IntPtr( str );
00020 #if MOBILEPC
00021                         return Marshal.PtrToStringUni( ValPtr );
00022 #else
00023                         return Marshal.PtrToStringAuto( ValPtr );
00024 #endif
00025                 }

static unsafe string SQLiteCSLib.Inner.StringFromC.StringAnsi ( IntPtr  ValPtr  )  [static]

アンマネージANSI文字列変換

引数:
ValPtr アンマネージ文字列ポインタ
戻り値:
文字列

StringFromC.cs46 行で定義されています。

00047                 {
00048 #if MOBILEPC
00049                         ArrayList ansistr = new ArrayList();
00050                         int iTop = ValPtr.ToInt32();
00051 
00052                         while( true )
00053                         {
00054                                 IntPtr pPos = new IntPtr(iTop++);
00055                                 byte bBin = Marshal.ReadByte( pPos );
00056                                 if( bBin == 0x00 )
00057                                 {
00058                                         break;
00059                                 }
00060 
00061                                 ansistr.Add( bBin );
00062                         }
00063 
00064                         byte[] ansibin = ansistr.ToArray( typeof(byte) ) as byte[];
00065                         System.Text.Decoder dec = System.Text.Encoding.ASCII.GetDecoder();
00066                         int iLen = ansibin.Length;
00067                         char[] cChars= new char[iLen];
00068                         dec.GetChars(ansibin,0,iLen, cChars, 0 );
00069                         return new string(cChars);
00070 #else
00071                         return Marshal.PtrToStringAnsi( ValPtr );
00072 #endif
00073                 }


このクラスの説明は次のファイルから生成されました:

SQLite3 Wrap ADO For .Net1.1 or Compact Frameworkに対してSun Nov 15 13:03:10 2009に生成されました。  doxygen 1.6.1