| Server IP : 121.121.20.254 / Your IP : 216.73.217.51 Web Server : Microsoft-IIS/10.0 System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64 User : IUSR ( 0) PHP Version : 8.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/shared/ |
Upload File : |
/*++
Copyright (c) 1998 - 2000 Microsoft Corporation
Module Name:
ioctl.h
Abstract:
Environment:
Kernel & user mode
Revision History:
--*/
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// USBPRINT {28D78FAD-5A12-11d1-AE5B-0000F803A8C2}
DEFINE_GUID(GUID_DEVINTERFACE_USBPRINT, 0x28d78fad, 0x5a12, 0x11d1, 0xae, 0x5b, 0x0, 0x0, 0xf8, 0x3, 0xa8, 0xc2);
// IPP over USB {f2f40381-f46d-4e51-bce7-62de6cf2d098}
DEFINE_GUID(GUID_DEVINTERFACE_IPPUSB_PRINT, 0xf2f40381, 0xf46d, 0x4e51, 0xbc, 0xe7, 0x62, 0xde, 0x6c, 0xf2, 0xd0, 0x98);
// USB Printer Interface types
#define USB_PRINTER_INTERFACE_CLASSIC 1 // Has only 7-1-2 alternate config
#define USB_PRINTER_INTERFACE_IPP 2 // Has only 7-1-4 alternate config
#define USB_PRINTER_INTERFACE_DUAL 3 // Has both 7-1-2 and 7-1-4 alternate configs
// Flags for IOCTL_USBPRINT_ADD_MSIPP_COMPAT_ID
#define USB_PRINT_IPP_COMPAT_ID 1 // add 1284_CID_MS_IPP compatid to child devnode
#define USB_PRINT_IPP_FAXOUT 2 // add PKEY_Printer_IsFaxDevice==TRUE to child devnode
#define USBPRINT_IOCTL_INDEX 0x0000
#define IOCTL_USBPRINT_GET_LPT_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+12,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_GET_1284_ID CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+13,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_VENDOR_SET_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+14,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_VENDOR_GET_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+15,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_SOFT_RESET CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+16,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Retrieve the current printer protocol code (i.e. USB_PRINTER_PROTOCOL_IPPOVERUSB)
//
#define IOCTL_USBPRINT_GET_PROTOCOL CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+17,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Set the current printer protocol code (i.e. USB_PRINTER_PROTOCOL_IPPOVERUSB).
//
#define IOCTL_USBPRINT_SET_PROTOCOL CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+18,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Get the printer protocol capabilities (i.e. USB_PRINTER_INTERFACE_DUAL)
//
#define IOCTL_USBPRINT_GET_INTERFACE_TYPE CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+19,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Set the port number for this interface.
//
#define IOCTL_USBPRINT_SET_PORT_NUMBER CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+20,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Mark whether the MSIPP compat id should be added, and indicate Fax.
//
#define IOCTL_USBPRINT_ADD_MSIPP_COMPAT_ID CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+21,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Set the device id string based on the specified 1284 id string.
//
#define IOCTL_USBPRINT_SET_DEVICE_ID CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+22,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
//
// Add the child devnode which informs PNP printer driver matching.
//
#define IOCTL_USBPRINT_ADD_CHILD_DEVICE CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+23,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_CYCLE_PORT CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+24,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_GET_MFG_MDL_ID CTL_CODE(FILE_DEVICE_UNKNOWN, \
USBPRINT_IOCTL_INDEX+25,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion