Re-Bonjours,
juste un mot pour dire que j'ai trouver comment faire.
Après une lecture plus approfondie des nombreuses fonction de "Printing and Print Spooler" de MSDN chez Microsoft j'ai trouver mon bonheur. Au cas ou ca interrestre une autre personne.
J'utilise GetPrinter 2 fois, une pour récupéré la taille du PRINTER_INFO_2 nécessaire et l'autre pour récupéré le-dit PRINTER_INFO_2. ex:
GetPrinter(lhPrinter, 2, (LPBYTE) 0, 0, &BufferSize);
PrinterInfo = (PRINTER_INFO_2 *)GlobalAlloc(GPTR, BufferSize);
GetPrinter(lhPrinter, 2, (LPBYTE) PrinterInfo, BufferSize, &BufferSize_2);
Après on peut modifier les élément de la structure PRINTER_INFO_2 par exemple:
PrinterInfo->pDatatype = "RAW";
Puis j'utilise SetPrinter avec la structure modifier:
SetPrinter(lhPrinter, 2, (LPBYTE)PrinterInfo, 0);

PARCONTRE là j'ai un autre souci GetLastError() ne renvois "Access is denied." Y'a-t-il quelqu'un qui peu me dire pourquoi??? la je seche!!!