ในบทความ MSDN API, มันบอกว่า:
ฟันธงหน่อย.. หากคุณตั้งค่าสถานะ PRINTER_NOTIFY_OPTIONS_REFRESH ในการเรียกฟังก์ชัน FindNextPrinterChangeNotification ฟังก์ชันนี้จะให้ข้อมูลปัจจุบันสำหรับฟิลด์ข้อมูลเครื่องพิมพ์ที่ได้รับการตรวจสอบทั้งหมด ฟังก์ชัน FindFirstPrinterChangeNotification ละเว้นสมาชิกค่าสถานะ
อย่างไรก็ตาม ฉันไม่พบ 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 ได้อย่างไร นอกจากนี้ยังมีแฟล็กอื่นๆ อีกมากมายในเอกสารที่ไม่มีค่าเช่นกัน พวกเขาเก็บไว้ที่ไหน?