Extraindo componentes de nome de caminho de UNICODE_STRING em um driver WDK usando win32 e C
Estou tentando separar os componentes de um nome de caminho UNICODE_STRING para criar a árvore de diretórios da raiz do dispositivo para a folha do arquivo. Isso precisa ser feito em um driver WDK.
Eu preciso construir a estrutura de diretórios um pedaço de cada vez usandoZwCreateFile()
pois ele pode criar apenas o diretório ou folha final, e não o caminho inteiro em uma única chamada.
Peço desculpas por uma pergunta tão simples para você, engenheiro C, mas estou tendo problemas para resolver isso e utilizá-lo em um driver.
Minha abordagem atual é converter umUNICODE_STRING
parachar
e use ostrtok_s()
para quebrar o nome do caminho em seus diretórios e arquivos de componentes.
Eu estou olhando para usar
char string1[] =
"\\Device\\HarddiskVolume";
char seps[] = "\\";
char *token1 = NULL;
char *next_token1 = NULL;
token1 = strtok_s(string1, seps, &next_token1);
Mas preciso converter umUNICODE_STRING
parachar
corda.