signed long SByte2Variant(unsigned char *p,unsigned long inLen,VARIANT *vout)
char 型のバイナリ配列(終端が \0 とは限らない)を、バリアント型の BYTE 型(unsigned int) の SAFEARRAY 配列型としてコピーする。 char 型の入力配列のサイズは、inLen に指定する。 成功時には、コピーしたデータのサイズが返る。 失敗時には、負数が返る。
signed long SFileRead(TCHAR* FileName,unsigned char **pp) signed long SFileReadA(LPSTR FileName,unsigned char **pp) signed long SFileReadW(LPWSTR FileName,unsigned char **pp)
指定したファイル名(FileName{終端が \0 の文字列})から、データを読み取り char ポインタの指すところに適切な領域(ファイルサイズ分であり文字列終端コードは考慮していない)を確保しコピーする。 成功は 0 以上(数値は取得したデータ長) 失敗は負数が戻ります。 _read() 関数の制限より、unsigned int の最大値分がこの関数でのデータ取得の最大値となります。
signed long SFileWrite(unsigned char *p,unsigned long inLen,TCHAR *FileName) signed long SFileWriteA(unsigned char *p,unsigned long inLen,LPSTR FileName) signed long SFileWriteW(unsigned char *p,unsigned long inLen,LPWSTR FileName)
指定したポインタのデータを、FileName で指定したファイル名に inLen バイト分書き出す。 成功は 0 失敗は負数が戻ります。 _write() 関数の制限より、unsigned int の最大値分がこの関数でのデータ書込の最大値となります。
signed long SGetTimeStr(TCHAR **outStr,unsigned int mode,time_t *inputTime) signed long SGetTimeStrA(LPSTR *outStr,unsigned int mode,time_t *inputTime) signed long SGetTimeStrW(LPWSTR *outStr,unsigned int mode,time_t *inputTime)
指定した time_t 構造体から時間の文字列を outStr のメモリを確保しつつ作成します。
mode = 0 の場合、「YYYY/MM/DD hh:mm:ss」
mode = 1 の場合、「YYYY/MM/DD」
mode = 2 の場合、「hh:mm:ss」
です。戻り値は、エラーの場合、負の数が戻ります。
正常終了した場合、outStr に確保したメモリサイズ(を-1した値(「\0」が最後に付与しているので))が戻ります。
inputTime に「NULL」を指定した場合、その時のシステム時間を取得します。
signed long Get64String(DWORD high, DWORD low, TCHAR *ans) signed long Get64String(DWORD high, DWORD low, LPSTR ans) signed long Get64StringW(DWORD high, DWORD low,LPWSTR ans)
32bit 整数二つで表現されている 64bit整数値を 16進数表記の文字列として返す ans には、16Byte 以上メモリが確保済であること
UNICODE 版の場合、ans には、2*17Byte 以上メモリが確保済であること
ANSI 版の場合、ans には、17Byte 以上メモリが確保済であること
signed long GetErrorString1A(LPSTR*unsigned char**)
signed long GetErrorString1W(LPWSTR*)
MS-Windows では、Win32API がエラーとなった場合、GetLastError() 関数→FormatMessage() 関数を呼び出す事で、詳細なエラーメッセージ(エラーを示す文字列)を取得する事ができます。
これは、そのラッパー関数です。
第一引数には、NULL に初期化した文字列ポインタ(メモリ未割り当て)を指定すると、関数内部で、適切なサイズのメモリを確保し、エラーメッセージを返します。
エラーの場合は、負数が返る
signed long GetErrorString2A(LPSTR*unsigned char**,DWORD)
signed long GetErrorString2W(LPWSTR*,DWORD)
第二引数で指定したエラー番号から FormatMessage() 関数を使って詳細なエラーメッセージを取得します。
第一引数には、NULL に初期化した文字列ポインタ(メモリ未割り当て)を指定すると、関数内部で、適切なサイズのメモリを確保し、エラーメッセージを返します。
エラーの場合は、負数が返る
signed long GetHakoHako2A(LPSTRunsigned char*,LPSTRunsigned char*,LPSTR**unsigned char***) signed long GetHakoHako2W(LPWSTR,WCHAR*,LPWSTR**)
第一引数で指定した文字列を第二引数で指定した文字で分割します。(第二引数で指定した文字を「\0{文字列終端コード}」にする)。
さらに、分割した文字列を第三引数で、配列にします。
例 : GetHakoHako2A("c:\test\abc.txt","\",戻り値)
とすると、ディレクトリパスの各ディレクトリ名の配列になるよ
第三引数には、ポインタ配列の変数のアドレス(char** c のアドレスなので、&c)を指定すると、適切なサイズのメモリを確保し、返す。
返されたポインタ配列の終端は「\0」としている。
エラーの場合は、負数が返る
成功の場合は、返したポインタの配列のサイズを返す
signed long GetHakoHako1A(LPSTRunsigned char*,LPSTRunsigned char*,LPSTR**unsigned char***,LPSTR*unsigned char **) signed long GetHakoHako1W(LPWSTR,WCHAR*,LPWSTR**,LPWSTR*)
第一引数を第四引数へコピー後に、GetHakoHako2 を呼び出す。
元の文字列を改変されたくない場合は、こちらを使用。
第三引数には、ポインタ配列の変数のアドレス(char** c のアドレスなので、&c)を指定すると、適切なサイズのメモリを確保し、返す。
返されたポインタ配列の終端は「\0」としている。
第四引数も、関数内部で適切なサイズのメモリを確保するので、未割り当てのポインタのアドレス(ただし NULL に初期化しておく必要がある)を渡せばよい
エラーの場合は、負数が返る
成功の場合は、返したポインタの配列のサイズを返す
signed long toupperA(LPSTRunsigned char*) signed long toupperW(LPWSTR)
第一引数の半角英字を半角英大文字にする。
signed long tolowerA(LPSTRunsigned char*) signed long tolowerW(LPWSTR)
第一引数の半角英字を半角英小文字にする。
signed long getFileVersionStringW(LPWSTR,LPWSTR*) signed long getFileVersionStringA(LPSTR,LPSTR*)
第一引数のファイルパスのファイル(EXE/DLL)から、ファイル・バージョンのリソース情報を取得し、ファイルバージョンを第二引数に文字列として返す
複数の言語系で、リソース情報を保持している場合、FOR文での最初の情報を返す