Destiny
|
Posted: Sun Oct 31, 2021 17:58 Post subject: |
|
|
little-brother wrote: | Да, в самом начале и должно вывести два сообщения |
Ну тогда я ничего не понимаю. для 64битного плага этого окна нет. Т.е. Тотал сам не вызывает плагин? Но почему вызывает другой схожий плагин?
Может какая другая функция Тоталом для плагина вызывается, чтобы определить - может ли он обработать этот файл или нет. ДО ListLoad...
Кстати, а почему ListLoad, когда для юникодных систем должны быть вызов ListLoadW???
И руководство от Гислера говорит:
Code: | What's the easiest way to support Unicode in an existing plugin?
There are actually two ways, an "all in one" combined Unicode/ANSI plugin, and two separate plugins.
A. Combined Unicode/ANSI plugin
1. Get my sample plugin fsplugin (file system plugins section) even if you write a different type of plugin!
2. Add the files cunicode.h and cunicode.cpp to your project. They contain various functions to make Unicode support easier.
3. Convert your existing functions to Unicode and rename them to FunctionNameW. For all file functions like CreateFile, do not call their Unicode counterpart CreateFileW directly. Instead, call the functions from cunicode.cpp like CreateFileT. These functions automatically call the right Unicode or ANSI function, and even support file name lengths >259 characters!
4. For each converted function like FunctionNameW, recreate a function FunctionName which you call this way:
int __stdcall FunctionName(char* SomeString1,char* SomeString2)
{
WCHAR SomeString1W[wdirtypemax],SomeString2W[wdirtypemax];
return FunctionNameW(awfilenamecopy(SomeString1W,SomeString1),awfilenamecopy(SomeString2W,SomeString2));
}
The Macro awfilenamecopy will convert the ANSI string SomeString1 to Unicode and store it inSomeString1W. This variable must not be a pointer, because awfilenamecopy uses "countof" to get the target length.
|
|
|