特殊なルールの関数 GetStringType

通常、関数名に Ex がついていたら、拡張された関数で、 末尾が A だったら Ansi版、W だったら WCHAR版なのだが、この関数は違うようだ

関数名 Parm 1 Param 2 Param 3 Param 4 Param 5
GetStringTypeW DWORD
dwInfoType
_In_NLS_string_(cchSrc)LPCWCH
lpSrcStr
int
cchSrc
LPWORD
lpCharType
-
GetStringTypeA LCID
Locale
DWORD
dwInfoType
LPCSTR
lpSrcStr
int
cchSrc
LPWORD
lpCharType
GetStringTypeExW/
GetStringTypeExA
LCID
Locale
DWORD
dwInfoType
_In_NLS_string_(cchSrc)LPCWCH
lpSrcStr
int
cchSrc
LPWORD
lpCharType

ややこしいけどこんな感じ

GetStringTypeExA は内部で GetStringTypeAを呼び出し
GetStringTypeAとGetStringTypeExW  は内部的に GetStringTypeW を呼び出してる。

ただ、 GetStringTypeExA はソース見ると

GetStringTypeExA:
   push ebp
   mov ebp,esp
   push [ebp+18h]
   push [ebp+14h]
   push [ebp+10h]
   push [ebp+0Ch]
   push [ebp+08h]
   call GetStringTypeA
   pop ebp
   retn 0014h

となってるので、何がやりたいのかわからない(同じやんか!)

おすすめ

1件の返信

  1. ぱう より:

    最近の投稿日がバックデートされてる気がする。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です