PDA

Просмотр полной версии : глюк и не могу понять в чем дело


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, що за нах

sn0w
04.03.2010, 21:26
решено, наламарезил с RtlInitUnicodeString:

буфер надо было не стековый вторым параметром