Chamei com êxito LsaEnumerateAccountRights () do advapi32 em C #. Agora, como desmarcar a matriz de LSA_UNICODE_STRING que ele retorna?

É um ponteiro para uma variedade deLSA_UNICODE_STRING estruturas. Encontrei algum código que faz o inverso, ou seja, cria umLSA_UNICODE_STRING de uma string C #. Você pode ver isso na seção de código auxiliar abaixo.

O que eu tenho até e incluindo a chamada paraLsaEnumerateAccountRights() Parece funcionar bem. Valores sensíveis são retornados para o ponteiro da matriz e para a contagem.

Estou sem saber como chegaràs aquelas cordas malditas. Ajuda por favor? Bonita por favor?

ATUALIZAR: função auxiliar de nobugz em sua resposta abaixo é quase certo, você só precisa dividir o comprimento porUnicodeEncoding.CharSize. Graças a ele, agora posso ver a PRIMEIRA string no array. Veja as atualizações no final das duas seções de código abaixo.

Agora, como o submundo eu faço a aritmética dos ponteiros?

ATUALIZAÇÃO 2.5: Veja a resposta para o código de funcionamento. Perdi o antigo código "errado".

questionAnswers(2)

yourAnswerToTheQuestion