LavanDOS gilg I. если код на С++ (файл .CPP), нужно: 1) указать конвенцию вызова __stdcall, как ты правильно подметил 2) указать, что имя не...
надо тогда уж не extern "C", а extern "C" { .... }, то есть обернуть все это в скобки фигурные
придираетесь к словам, товарищ =\
а как возврат из сискала делается? sysexit или iretd
дада, с учетом. для игнорирования регистра другая функция - StrStrI все это про shlwapi
конечно ошибку. я бы на ее месте тоже возвратил ошибку PIO_STATUS_BLOCK psb = {0}; NTSTATUS status; pNtQueryFile=NULL;...
дергай NtQueryInformationFile и узнавай все, что хочешь)
кхм.. судя по коду ты орудуешь в ринг3? предупреждать надо..
ObReferenceObjectByHandle потом ObQueryNameString
MrHammer в смысле
она в libc лежит. это стандартная CRT (c rumtime)
да не вопрос :D 1 курс МГУ, живу в москве =) остальное не скажу :P
strstr дык ты и спрашивал сравнение))
OMG, какой смысл сравнивать через cmpsb если длину счиатешь через lstrlenA?)))) Юзай тогда уж и lstrcmpA для сравнения
mov esi, offset buf1 mov edi, offset buf2 mov ecx, buf_len repe cmpsb test ecx, ecx jnz test_failed ; test ok jmp done test_failed: ; test...
cmpsb
интересно за сколько $$$ =)
1) тупо: cmpsb - ищешь первый символ, дальше посимвольное сравнение. 2) были какие-то специальные алгоритмы для поиска подстрок, кажется с...
короче нафига тебе делать еще одну функцию memorycopy? не проще написать #pragma comment(lib, "ntdll") extern "C" void __stdcall...
я ж написал #pragma comment(linker, "/export:MemoryCopy=ntdll.RtlMoveMemory") должно пахать
Имена участников (разделяйте запятой).