Como obter um identificador para um JobObject sem saber seu nome?

Meu aplicativo está sendo executado em um trabalho. Eu quero pegar um Handle para este Jobobject usandoOpenJobObject então eu posso mais tarde usar esse identificador. O problema é que eu não sei o nome do trabalho, e com a passagem de NULL para o nome do trabalho dá erro 87 (o parâmetro está incorreto) de volta.

É assim que eu tentei:

HANDLE handle = OpenJobObject( JOB_OBJECT_QUERY, FALSE, NULL );
if ( !handle  ) printf( "\nError %d", GetLastError() );
else printf( "\nOK" );

Eu também encontrei isso no MSDN: Um aplicativo não pode obter um identificador para o objeto de trabalho no qual ele está sendo executado, a menos que tenha o nome do objeto de trabalho. No entanto, um aplicativo pode chamar a função QueryInformationJobObject com NULL para obter informações sobre o objeto de trabalho.

Então, minha pergunta é, é possível obter alguma forma de um identificador para o JobObject no qual meu aplicativo está sendo executado? Ou obter o nome do trabalho em que meu aplicativo está sendo executado?

Obrigado!

Atualizar:
Meu código até agora:http://pastebin.com/aJ7XMmci Agora, estou recebendo o erro 87 (o parâmetro está incorreto) deSetInformation :(