sn0w
04.03.2010, 20:45
это отработка. dprintf это просто для дебаг вывода написал. тоже самое и с мессагбоксW происходит.
http://img517.imageshack.us/img517/220/16102231.jpg
код функции вот:
PUNICODE_STRING DrvGetLoadName()
{
const char s_template[] = "\\registry\\machine\\SYSTEM\\CurrentControlSet\\Se rvices\\"DRIVER_NAME;
WCHAR ws_loadname[1024];
PUNICODE_STRING pusDrvName;
// HeapAlloc
pusDrvName = (PUNICODE_STRING)utilsHAlloc(sizeof(UNICODE_STRING ));
MultiByteToWideChar(CP_ACP, 0, (LPCSTR)s_template, -1, ws_loadname, 1024);
RtlInitUnicodeString(pusDrvName, ws_loadname);
return pusDrvName;
}
ума не приложу. в MessagBoxW потирался контент UNICODE_STRING->Buffer, не указатель, а сам контент, причем гдето внутри MessageBoxTimeoutW, що за нах
http://img517.imageshack.us/img517/220/16102231.jpg
код функции вот:
PUNICODE_STRING DrvGetLoadName()
{
const char s_template[] = "\\registry\\machine\\SYSTEM\\CurrentControlSet\\Se rvices\\"DRIVER_NAME;
WCHAR ws_loadname[1024];
PUNICODE_STRING pusDrvName;
// HeapAlloc
pusDrvName = (PUNICODE_STRING)utilsHAlloc(sizeof(UNICODE_STRING ));
MultiByteToWideChar(CP_ACP, 0, (LPCSTR)s_template, -1, ws_loadname, 1024);
RtlInitUnicodeString(pusDrvName, ws_loadname);
return pusDrvName;
}
ума не приложу. в MessagBoxW потирался контент UNICODE_STRING->Buffer, не указатель, а сам контент, причем гдето внутри MessageBoxTimeoutW, що за нах