Что вы, вероятно, ищете, это «устройство-ури». Это uri для удаленного устройства i.e lpd/socket/server address. Если вы ищете локальный uri, это будет «поддерживается принтер-uri», что приведет к ipp: // localhost: 631/printers/printername. Вот как получить удаленный uri ...
#import <cups/cups.h>
const char * printer = "name_of_printer";
int num_dests;
cups_dest_t *dest,
*dests;
const char *value;
num_dests = cupsGetDests(&dests);
dest = cupsGetDest(printer, NULL, num_dests, dests);
if(dest == NULL){
return 0;
};
value = NULL;
if (dest->instance == NULL)
{
value = cupsGetOption("device-uri", dest->num_options, dest->options);
}
cupsFreeDests(num_dests, dests);
printf("uri - %s",value);