Pergunta

Estou escrevendo um script python no Linux e preciso chamar algumas funções do Windows disponíveis no vinho. Especificamente, AllocateAndInitializeSid e LookupAccountSidW, para determinar quem está conectado a um computador Windows remoto. Essas funções fazem parte de advapi32.dll no vinho (editar: Usando as respostas, pude chamar a função, mas o LookUpAccountSIDW só funciona no computador local).

Como posso acessar essas funções ou uma DLL de vinho em geral? eu tentei

>>> cdll.LoadLibrary("~/.wine/drive_c/windows/system32/advapi32.dll")

Mas isso resulta em um erro:

OSError: ~/.wine/drive_c/windows/system32/advapi32.dll: invalid ELF header

Existe outro ctypes função que funcionaria, ou alguma interface de vinho que eu poderia usar?

Foi útil?

Solução

O vinho não fornece *.so versões das DLLs? Eu pareço ter /usr/lib32/wine/advapi32.dll.so, por exemplo.

Se você estiver em uma máquina de 64 bits, lembre-se de que precisará de uma versão de 32 bits do Python para carregar bibliotecas de 32 bits.

Outras dicas

Entenda que .Dll é o formato usado pelo Windows.

No Linux, essas bibliotecas terminam com .ASSIM

Você não pode usar uma biblioteca compilada para uma plataforma na outra. Não é compatível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top