特殊なルールの関数 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 |
となってるので、何がやりたいのかわからない(同じやんか!)
最近の投稿日がバックデートされてる気がする。