В этой статье об API MSDN, там написано:
Немного флага. Если установить флаг PRINTER_NOTIFY_OPTIONS_REFRESH в вызове функции FindNextPrinterChangeNotification, функция предоставит текущие данные для всех полей информации о контролируемом принтере. Функция FindFirstPrinterChangeNotification игнорирует элемент Flags.
Однако я нигде не могу найти API, который сообщает значение флага PRINTER_NOTIFY_OPTIONS_REFRESH
. Это моя структура:
[StructLayout(LayoutKind.Sequential)]
public class PRINTER_NOTIFY_OPTIONS
{
public int dwVersion = 2;
public int dwFlags;
public int Count = 2;
public IntPtr lpTypes;
public PRINTER_NOTIFY_OPTIONS()
{
int bytesNeeded = (2 + PRINTER_NOTIFY_OPTIONS_TYPE.JOB_FIELDS_COUNT + PRINTER_NOTIFY_OPTIONS_TYPE.PRINTER_FIELDS_COUNT) * 2;
PRINTER_NOTIFY_OPTIONS_TYPE pJobTypes = new PRINTER_NOTIFY_OPTIONS_TYPE();
lpTypes = Marshal.AllocHGlobal(bytesNeeded);
Marshal.StructureToPtr(pJobTypes, lpTypes, true);
}
}
Как я могу установить значение dwFlags в соответствии с документацией API? Также в документе есть много других флагов, которые также не имеют значения. Где они хранятся?