Abordagem geral para ler arquivos lnk

Várias estruturas e linguagens parecem ter analisadores de arquivos lnk (C #, Java, Python, certamente inúmeros outros), para atingir seus destinos, propriedades etc. Eu gostaria de saber qual é a abordagem geral para ler arquivos lnk, se eu deseja analisar o lnk em outro idioma que não tenha esse recurso. Existe uma API do Windows para isso?