FreeRDP
rdpdr.h File Reference
#include <winpr/crt.h>
#include <winpr/file.h>
#include <winpr/synch.h>
#include <winpr/thread.h>
#include <winpr/stream.h>
#include <winpr/interlocked.h>
#include <freerdp/utils/list.h>
#include <freerdp/utils/svc_plugin.h>
#include <winpr/io.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  DEVICE
struct  IRP
struct  DEVMAN
struct  DEVICE_SERVICE_ENTRY_POINTS

Defines

#define FILE_ATTRIBUTE_ARCHIVE   0x00000020
#define FILE_ATTRIBUTE_COMPRESSED   0x00000800
#define FILE_ATTRIBUTE_DIRECTORY   0x00000010
#define FILE_ATTRIBUTE_ENCRYPTED   0x00004000
#define FILE_ATTRIBUTE_HIDDEN   0x00000002
#define FILE_ATTRIBUTE_NORMAL   0x00000080
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED   0x00002000
#define FILE_ATTRIBUTE_OFFLINE   0x00001000
#define FILE_ATTRIBUTE_READONLY   0x00000001
#define FILE_ATTRIBUTE_REPARSE_POINT   0x00000400
#define FILE_ATTRIBUTE_SPARSE_FILE   0x00000200
#define FILE_ATTRIBUTE_SYSTEM   0x00000004
#define FILE_ATTRIBUTE_TEMPORARY   0x00000100
#define FILE_SUPPORTS_USN_JOURNAL   0x02000000
#define FILE_SUPPORTS_OPEN_BY_FILE_ID   0x01000000
#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES   0x00800000
#define FILE_SUPPORTS_HARD_LINKS   0x00400000
#define FILE_SUPPORTS_TRANSACTIONS   0x00200000
#define FILE_SEQUENTIAL_WRITE_ONCE   0x00100000
#define FILE_READ_ONLY_VOLUME   0x00080000
#define FILE_NAMED_STREAMS   0x00040000
#define FILE_SUPPORTS_ENCRYPTION   0x00020000
#define FILE_SUPPORTS_OBJECT_IDS   0x00010000
#define FILE_VOLUME_IS_COMPRESSED   0x00008000
#define FILE_SUPPORTS_REMOTE_STORAGE   0x00000100
#define FILE_SUPPORTS_REPARSE_POINTS   0x00000080
#define FILE_SUPPORTS_SPARSE_FILES   0x00000040
#define FILE_VOLUME_QUOTAS   0x00000020
#define FILE_FILE_COMPRESSION   0x00000010
#define FILE_PERSISTENT_ACLS   0x00000008
#define FILE_UNICODE_ON_DISK   0x00000004
#define FILE_CASE_PRESERVED_NAMES   0x00000002
#define FILE_CASE_SENSITIVE_SEARCH   0x00000001

Typedefs

typedef void(* pcIRPRequest )(DEVICE *device, IRP *irp)
typedef void(* pcFreeDevice )(DEVICE *device)
typedef void(* pcIRPResponse )(IRP *irp)
typedef void(* pcRegisterDevice )(DEVMAN *devman, DEVICE *device)
typedef
DEVICE_SERVICE_ENTRY_POINTS * 
PDEVICE_SERVICE_ENTRY_POINTS
typedef int(* PDEVICE_SERVICE_ENTRY )(PDEVICE_SERVICE_ENTRY_POINTS)

Enumerations

enum  RDPDR_CTYP { RDPDR_CTYP_CORE = 0x4472, RDPDR_CTYP_PRN = 0x5052 }
enum  RDPDR_PAKID {
  PAKID_CORE_SERVER_ANNOUNCE = 0x496E, PAKID_CORE_CLIENTID_CONFIRM = 0x4343, PAKID_CORE_CLIENT_NAME = 0x434E, PAKID_CORE_DEVICELIST_ANNOUNCE = 0x4441,
  PAKID_CORE_DEVICE_REPLY = 0x6472, PAKID_CORE_DEVICE_IOREQUEST = 0x4952, PAKID_CORE_DEVICE_IOCOMPLETION = 0x4943, PAKID_CORE_SERVER_CAPABILITY = 0x5350,
  PAKID_CORE_CLIENT_CAPABILITY = 0x4350, PAKID_CORE_DEVICELIST_REMOVE = 0x444D, PAKID_CORE_USER_LOGGEDON = 0x554C, PAKID_PRN_CACHE_DATA = 0x5043,
  PAKID_PRN_USING_XPS = 0x5543
}
enum  RDPDR_CAP_TYPE {
  CAP_GENERAL_TYPE = 0x0001, CAP_PRINTER_TYPE = 0x0002, CAP_PORT_TYPE = 0x0003, CAP_DRIVE_TYPE = 0x0004,
  CAP_SMARTCARD_TYPE = 0x0005
}
enum  RDPDR_CAP_VERSION {
  GENERAL_CAPABILITY_VERSION_01 = 0x00000001, GENERAL_CAPABILITY_VERSION_02 = 0x00000002, PRINT_CAPABILITY_VERSION_01 = 0x00000001, PORT_CAPABILITY_VERSION_01 = 0x00000001,
  DRIVE_CAPABILITY_VERSION_01 = 0x00000001, DRIVE_CAPABILITY_VERSION_02 = 0x00000002, SMARTCARD_CAPABILITY_VERSION_01 = 0x00000001
}
enum  IRP_MJ {
  IRP_MJ_CREATE = 0x00000000, IRP_MJ_CLOSE = 0x00000002, IRP_MJ_READ = 0x00000003, IRP_MJ_WRITE = 0x00000004,
  IRP_MJ_DEVICE_CONTROL = 0x0000000E, IRP_MJ_QUERY_VOLUME_INFORMATION = 0x0000000A, IRP_MJ_SET_VOLUME_INFORMATION = 0x0000000B, IRP_MJ_QUERY_INFORMATION = 0x00000005,
  IRP_MJ_SET_INFORMATION = 0x00000006, IRP_MJ_DIRECTORY_CONTROL = 0x0000000C, IRP_MJ_LOCK_CONTROL = 0x00000011
}
enum  IRP_MN { IRP_MN_QUERY_DIRECTORY = 0x00000001, IRP_MN_NOTIFY_CHANGE_DIRECTORY = 0x00000002 }
enum  FILE_CREATE_DISPOSITION {
  FILE_SUPERSEDE = 0x00000000, FILE_OPEN = 0x00000001, FILE_CREATE = 0x00000002, FILE_OPEN_IF = 0x00000003,
  FILE_OVERWRITE = 0x00000004, FILE_OVERWRITE_IF = 0x00000005
}
enum  FILE_CREATE_OPTION {
  FILE_DIRECTORY_FILE = 0x00000001, FILE_NON_DIRECTORY_FILE = 0x00000040, FILE_COMPLETE_IF_OPLOCKED = 0x00000100, FILE_DELETE_ON_CLOSE = 0x00001000,
  FILE_OPEN_REPARSE_POINT = 0x00200000, FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000
}
enum  FILE_RESPONSE { FILE_SUPERSEDED = 0x00000000, FILE_OPENED = 0x00000001, FILE_OVERWRITTEN = 0x00000003 }
enum  RDPDR_MINOR_RDP_VERSION { RDPDR_MINOR_RDP_VERSION_5_0 = 0x0002, RDPDR_MINOR_RDP_VERSION_5_1 = 0x0005, RDPDR_MINOR_RDP_VERSION_5_2 = 0x000A, RDPDR_MINOR_RDP_VERSION_6_X = 0x000C }
enum  RDPDR_CLIENT_NAME_FLAG { RDPDR_CLIENT_NAME_UNICODE = 0x00000001, RDPDR_CLIENT_NAME_ASCII = 0x00000000 }
enum  RDPDR_CAPS_IRP_MJ {
  RDPDR_IRP_MJ_CREATE = 0x00000001, RDPDR_IRP_MJ_CLEANUP = 0x00000002, RDPDR_IRP_MJ_CLOSE = 0x00000004, RDPDR_IRP_MJ_READ = 0x00000008,
  RDPDR_IRP_MJ_WRITE = 0x00000010, RDPDR_IRP_MJ_FLUSH_BUFFERS = 0x00000020, RDPDR_IRP_MJ_SHUTDOWN = 0x00000040, RDPDR_IRP_MJ_DEVICE_CONTROL = 0x00000080,
  RDPDR_IRP_MJ_QUERY_VOLUME_INFORMATION = 0x00000100, RDPDR_IRP_MJ_SET_VOLUME_INFORMATION = 0x00000200, RDPDR_IRP_MJ_QUERY_INFORMATION = 0x00000400, RDPDR_IRP_MJ_SET_INFORMATION = 0x00000800,
  RDPDR_IRP_MJ_DIRECTORY_CONTROL = 0x00001000, RDPDR_IRP_MJ_LOCK_CONTROL = 0x00002000, RDPDR_IRP_MJ_QUERY_SECURITY = 0x00004000, RDPDR_IRP_MJ_SET_SECURITY = 0x00008000
}
enum  RDPDR_CAPS_PDU { RDPDR_DEVICE_REMOVE_PDUS = 0x00000001, RDPDR_CLIENT_DISPLAY_NAME_PDU = 0x00000002, RDPDR_USER_LOGGEDON_PDU = 0x00000004 }
enum  RDPDR_CAPS_FLAG { ENABLE_ASYNCIO = 0x00000001 }
enum  RDP_LOWIO_OP { RDP_LOWIO_OP_SHAREDLOCK = 0x00000002, RDP_LOWIO_OP_EXCLUSIVELOCK = 0x00000003, RDP_LOWIO_OP_UNLOCK = 0x00000004, RDP_LOWIO_OP_UNLOCK_MULTIPLE = 0x00000005 }
enum  NTSTATUS {
  STATUS_SUCCESS = 0x00000000, STATUS_TIMEOUT = 0x00000102, STATUS_PENDING = 0x00000103, STATUS_REPARSE = 0x00000104,
  STATUS_MORE_ENTRIES = 0x00000105, STATUS_NOT_ALL_ASSIGNED = 0x00000106, STATUS_OPLOCK_BREAK_IN_PROGRESS = 0x00000108, STATUS_VOLUME_MOUNTED = 0x00000109,
  STATUS_NOTIFY_CLEANUP = 0x0000010B, STATUS_NOTIFY_ENUM_DIR = 0x0000010C, STATUS_NO_QUOTAS_FOR_ACCOUNT = 0x0000010D, STATUS_FILE_LOCKED_WITH_ONLY_READERS = 0x0000012A,
  STATUS_FILE_LOCKED_WITH_WRITERS = 0x0000012B, STATUS_WAIT_FOR_OPLOCK = 0x00000367, STATUS_OBJECT_NAME_EXISTS = 0x40000000, STATUS_BAD_CURRENT_DIRECTORY = 0x40000007,
  STATUS_NO_MORE_FILES = 0x80000006, STATUS_DEVICE_PAPER_EMPTY = 0x8000000E, STATUS_DEVICE_POWERED_OFF = 0x8000000F, STATUS_DEVICE_OFF_LINE = 0x80000010,
  STATUS_DEVICE_BUSY = 0x80000011, STATUS_NO_MORE_ENTRIES = 0x8000001A, STATUS_UNSUCCESSFUL = 0xC0000001, STATUS_NOT_IMPLEMENTED = 0xC0000002,
  STATUS_INVALID_INFO_CLASS = 0xC0000003, STATUS_INVALID_HANDLE = 0xC0000008, STATUS_INVALID_PARAMETER = 0xC000000D, STATUS_NO_SUCH_DEVICE = 0xC000000E,
  STATUS_NO_SUCH_FILE = 0xC000000F, STATUS_INVALID_DEVICE_REQUEST = 0xC0000010, STATUS_END_OF_FILE = 0xC0000011, STATUS_NO_MEDIA_IN_DEVICE = 0xC0000013,
  STATUS_UNRECOGNIZED_MEDIA = 0xC0000014, STATUS_ACCESS_DENIED = 0xc0000022, STATUS_OBJECT_NAME_INVALID = 0xC0000033, STATUS_OBJECT_NAME_NOT_FOUND = 0xC0000034,
  STATUS_OBJECT_NAME_COLLISION = 0xc0000035, STATUS_PORT_DISCONNECTED = 0xC0000037, STATUS_OBJECT_PATH_INVALID = 0xC0000039, STATUS_OBJECT_PATH_NOT_FOUND = 0xC000003A,
  STATUS_INVALID_PORT_HANDLE = 0xC0000042, STATUS_DELETE_PENDING = 0xC0000056, STATUS_DISK_FULL = 0xC000007F, STATUS_DEVICE_NOT_READY = 0xC00000A3,
  STATUS_IO_TIMEOUT = 0xC00000B5, STATUS_FILE_IS_A_DIRECTORY = 0xC00000BA, STATUS_NOT_SUPPORTED = 0xC00000BB, STATUS_PRINT_QUEUE_FULL = 0xC00000C6,
  STATUS_PRINT_CANCELLED = 0xC00000C8, STATUS_DIRECTORY_NOT_EMPTY = 0xC0000101, STATUS_FILE_CORRUPT_ERROR = 0xC0000102, STATUS_NOT_A_DIRECTORY = 0xC0000103,
  STATUS_NAME_TOO_LONG = 0xC0000106, STATUS_CANCELLED = 0xC0000120, STATUS_CANNOT_DELETE = 0xC0000121, STATUS_FILE_DELETED = 0xC0000123,
  STATUS_FILE_CLOSED = 0xC0000128
}
enum  RDPDR_PRINTER_ANNOUNCE_FLAG {
  RDPDR_PRINTER_ANNOUNCE_FLAG_ASCII = 0x00000001, RDPDR_PRINTER_ANNOUNCE_FLAG_DEFAULTPRINTER = 0x00000002, RDPDR_PRINTER_ANNOUNCE_FLAG_NETWORKPRINTER = 0x00000004, RDPDR_PRINTER_ANNOUNCE_FLAG_TSPRINTER = 0x00000008,
  RDPDR_PRINTER_ANNOUNCE_FLAG_XPSFORMAT = 0x00000010
}
enum  FSCTL_STRUCTURE {
  FSCTL_CREATE_OR_GET_OBJECT_ID = 0x900c0, FSCTL_GET_REPARSE_POINT = 0x900a8, FSCTL_GET_RETRIEVAL_POINTERS = 0x90073, FSCTL_IS_PATHNAME_VALID = 0x9002c,
  FSCTL_LMR_SET_LINK_TRACKING_INFORMATION = 0x1400ec, FSCTL_PIPE_PEEK = 0x11400c, FSCTL_PIPE_TRANSCEIVE = 0x11c017, FSCTL_PIPE_WAIT = 0x110018,
  FSCTL_QUERY_FAT_BPB = 0x90058, FSCTL_QUERY_ALLOCATED_RANGES = 0x940cf, FSCTL_QUERY_ON_DISK_VOLUME_INFO = 0x9013c, FSCTL_QUERY_SPARING_INFO = 0x90138,
  FSCTL_READ_FILE_USN_DATA = 0x900eb, FSCTL_RECALL_FILE = 0x90117, FSCTL_SET_COMPRESSION = 0x9c040, FSCTL_SET_DEFECT_MANAGEMENT = 0x98134,
  FSCTL_SET_ENCRYPTION = 0x900D7, FSCTL_SET_OBJECT_ID = 0x90098, FSCTL_SET_OBJECT_ID_EXTENDED = 0x900bc, FSCTL_SET_REPARSE_POINT = 0x900a4,
  FSCTL_SET_SPARSE = 0x900c4, FSCTL_SET_ZERO_DATA = 0x980c8, FSCTL_SET_ZERO_ON_DEALLOCATION = 0x90194, FSCTL_SIS_COPYFILE = 0x90100,
  FSCTL_WRITE_USN_CLOSE_RECORD = 0x900ef
}
enum  FILE_FS_DEVICE_TYPE { FILE_DEVICE_CD_ROM = 0x00000002, FILE_DEVICE_DISK = 0x00000007 }
enum  FILE_FS_DEVICE_FLAG {
  FILE_REMOVABLE_MEDIA = 0x00000001, FILE_READ_ONLY_DEVICE = 0x00000002, FILE_FLOPPY_DISKETTE = 0x00000004, FILE_WRITE_ONCE_MEDIA = 0x00000008,
  FILE_REMOTE_DEVICE = 0x00000010, FILE_DEVICE_IS_MOUNTED = 0x00000020, FILE_VIRTUAL_VOLUME = 0x00000040, FILE_DEVICE_SECURE_OPEN = 0x00000100
}
enum  FILE_INFORMATION_CLASS {
  FileDirectoryInformation = 1, FileFullDirectoryInformation, FileBothDirectoryInformation, FileBasicInformation,
  FileStandardInformation, FileInternalInformation, FileEaInformation, FileAccessInformation,
  FileNameInformation, FileRenameInformation, FileLinkInformation, FileNamesInformation,
  FileDispositionInformation, FilePositionInformation, FileFullEaInformation, FileModeInformation,
  FileAlignmentInformation, FileAllInformation, FileAllocationInformation, FileEndOfFileInformation,
  FileAlternateNameInformation, FileStreamInformation, FilePipeInformation, FilePipeLocalInformation,
  FilePipeRemoteInformation, FileMailslotQueryInformation, FileMailslotSetInformation, FileCompressionInformation,
  FileObjectIdInformation, FileUnknownInformation1, FileMoveClusterInformation, FileQuotaInformation,
  FileReparsePointInformation, FileNetworkOpenInformation, FileAttributeTagInformation, FileTrackingInformation,
  FileIdBothDirectoryInformation, FileIdFullDirectoryInformation, FileValidDataLengthInformation, FileShortNameInformation
}
enum  FILE_FS_INFORMATION_CLASS {
  FileFsVolumeInformation = 1, FileFsLabelInformation, FileFsSizeInformation, FileFsDeviceInformation,
  FileFsAttributeInformation, FileFsControlInformation, FileFsFullSizeInformation, FileFsObjectIdInformation,
  FileFsDriverPathInformation, FileFsMaximumInformation
}

Define Documentation

#define FILE_ATTRIBUTE_ARCHIVE   0x00000020
#define FILE_ATTRIBUTE_COMPRESSED   0x00000800
#define FILE_ATTRIBUTE_DIRECTORY   0x00000010
#define FILE_ATTRIBUTE_ENCRYPTED   0x00004000
#define FILE_ATTRIBUTE_HIDDEN   0x00000002
#define FILE_ATTRIBUTE_NORMAL   0x00000080
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED   0x00002000
#define FILE_ATTRIBUTE_OFFLINE   0x00001000
#define FILE_ATTRIBUTE_READONLY   0x00000001
#define FILE_ATTRIBUTE_REPARSE_POINT   0x00000400
#define FILE_ATTRIBUTE_SPARSE_FILE   0x00000200
#define FILE_ATTRIBUTE_SYSTEM   0x00000004
#define FILE_ATTRIBUTE_TEMPORARY   0x00000100
#define FILE_CASE_PRESERVED_NAMES   0x00000002
#define FILE_CASE_SENSITIVE_SEARCH   0x00000001
#define FILE_FILE_COMPRESSION   0x00000010
#define FILE_NAMED_STREAMS   0x00040000
#define FILE_PERSISTENT_ACLS   0x00000008
#define FILE_READ_ONLY_VOLUME   0x00080000
#define FILE_SEQUENTIAL_WRITE_ONCE   0x00100000
#define FILE_SUPPORTS_ENCRYPTION   0x00020000
#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES   0x00800000
#define FILE_SUPPORTS_HARD_LINKS   0x00400000
#define FILE_SUPPORTS_OBJECT_IDS   0x00010000
#define FILE_SUPPORTS_OPEN_BY_FILE_ID   0x01000000
#define FILE_SUPPORTS_REMOTE_STORAGE   0x00000100
#define FILE_SUPPORTS_REPARSE_POINTS   0x00000080
#define FILE_SUPPORTS_SPARSE_FILES   0x00000040
#define FILE_SUPPORTS_TRANSACTIONS   0x00200000
#define FILE_SUPPORTS_USN_JOURNAL   0x02000000
#define FILE_UNICODE_ON_DISK   0x00000004
#define FILE_VOLUME_IS_COMPRESSED   0x00008000
#define FILE_VOLUME_QUOTAS   0x00000020

Typedef Documentation

typedef void(* pcFreeDevice)(DEVICE *device)
typedef void(* pcIRPRequest)(DEVICE *device, IRP *irp)
typedef void(* pcIRPResponse)(IRP *irp)
typedef void(* pcRegisterDevice)(DEVMAN *devman, DEVICE *device)
typedef DEVICE_SERVICE_ENTRY_POINTS* PDEVICE_SERVICE_ENTRY_POINTS

Enumeration Type Documentation

Enumerator:
FILE_SUPERSEDE 
FILE_OPEN 
FILE_CREATE 
FILE_OPEN_IF 
FILE_OVERWRITE 
FILE_OVERWRITE_IF 
Enumerator:
FILE_DIRECTORY_FILE 
FILE_NON_DIRECTORY_FILE 
FILE_COMPLETE_IF_OPLOCKED 
FILE_DELETE_ON_CLOSE 
FILE_OPEN_REPARSE_POINT 
FILE_OPEN_FOR_FREE_SPACE_QUERY 
Enumerator:
FILE_REMOVABLE_MEDIA 
FILE_READ_ONLY_DEVICE 
FILE_FLOPPY_DISKETTE 
FILE_WRITE_ONCE_MEDIA 
FILE_REMOTE_DEVICE 
FILE_DEVICE_IS_MOUNTED 
FILE_VIRTUAL_VOLUME 
FILE_DEVICE_SECURE_OPEN 
Enumerator:
FILE_DEVICE_CD_ROM 
FILE_DEVICE_DISK 
Enumerator:
FileFsVolumeInformation 
FileFsLabelInformation 
FileFsSizeInformation 
FileFsDeviceInformation 
FileFsAttributeInformation 
FileFsControlInformation 
FileFsFullSizeInformation 
FileFsObjectIdInformation 
FileFsDriverPathInformation 
FileFsMaximumInformation 
Enumerator:
FileDirectoryInformation 
FileFullDirectoryInformation 
FileBothDirectoryInformation 
FileBasicInformation 
FileStandardInformation 
FileInternalInformation 
FileEaInformation 
FileAccessInformation 
FileNameInformation 
FileRenameInformation 
FileLinkInformation 
FileNamesInformation 
FileDispositionInformation 
FilePositionInformation 
FileFullEaInformation 
FileModeInformation 
FileAlignmentInformation 
FileAllInformation 
FileAllocationInformation 
FileEndOfFileInformation 
FileAlternateNameInformation 
FileStreamInformation 
FilePipeInformation 
FilePipeLocalInformation 
FilePipeRemoteInformation 
FileMailslotQueryInformation 
FileMailslotSetInformation 
FileCompressionInformation 
FileObjectIdInformation 
FileUnknownInformation1 
FileMoveClusterInformation 
FileQuotaInformation 
FileReparsePointInformation 
FileNetworkOpenInformation 
FileAttributeTagInformation 
FileTrackingInformation 
FileIdBothDirectoryInformation 
FileIdFullDirectoryInformation 
FileValidDataLengthInformation 
FileShortNameInformation 
Enumerator:
FILE_SUPERSEDED 
FILE_OPENED 
FILE_OVERWRITTEN 
Enumerator:
FSCTL_CREATE_OR_GET_OBJECT_ID 
FSCTL_GET_REPARSE_POINT 
FSCTL_GET_RETRIEVAL_POINTERS 
FSCTL_IS_PATHNAME_VALID 
FSCTL_LMR_SET_LINK_TRACKING_INFORMATION 
FSCTL_PIPE_PEEK 
FSCTL_PIPE_TRANSCEIVE 
FSCTL_PIPE_WAIT 
FSCTL_QUERY_FAT_BPB 
FSCTL_QUERY_ALLOCATED_RANGES 
FSCTL_QUERY_ON_DISK_VOLUME_INFO 
FSCTL_QUERY_SPARING_INFO 
FSCTL_READ_FILE_USN_DATA 
FSCTL_RECALL_FILE 
FSCTL_SET_COMPRESSION 
FSCTL_SET_DEFECT_MANAGEMENT 
FSCTL_SET_ENCRYPTION 
FSCTL_SET_OBJECT_ID 
FSCTL_SET_OBJECT_ID_EXTENDED 
FSCTL_SET_REPARSE_POINT 
FSCTL_SET_SPARSE 
FSCTL_SET_ZERO_DATA 
FSCTL_SET_ZERO_ON_DEALLOCATION 
FSCTL_SIS_COPYFILE 
FSCTL_WRITE_USN_CLOSE_RECORD 
enum IRP_MJ
Enumerator:
IRP_MJ_CREATE 
IRP_MJ_CLOSE 
IRP_MJ_READ 
IRP_MJ_WRITE 
IRP_MJ_DEVICE_CONTROL 
IRP_MJ_QUERY_VOLUME_INFORMATION 
IRP_MJ_SET_VOLUME_INFORMATION 
IRP_MJ_QUERY_INFORMATION 
IRP_MJ_SET_INFORMATION 
IRP_MJ_DIRECTORY_CONTROL 
IRP_MJ_LOCK_CONTROL 
enum IRP_MN
Enumerator:
IRP_MN_QUERY_DIRECTORY 
IRP_MN_NOTIFY_CHANGE_DIRECTORY 
enum NTSTATUS
Enumerator:
STATUS_SUCCESS 
STATUS_TIMEOUT 
STATUS_PENDING 
STATUS_REPARSE 
STATUS_MORE_ENTRIES 
STATUS_NOT_ALL_ASSIGNED 
STATUS_OPLOCK_BREAK_IN_PROGRESS 
STATUS_VOLUME_MOUNTED 
STATUS_NOTIFY_CLEANUP 
STATUS_NOTIFY_ENUM_DIR 
STATUS_NO_QUOTAS_FOR_ACCOUNT 
STATUS_FILE_LOCKED_WITH_ONLY_READERS 
STATUS_FILE_LOCKED_WITH_WRITERS 
STATUS_WAIT_FOR_OPLOCK 
STATUS_OBJECT_NAME_EXISTS 
STATUS_BAD_CURRENT_DIRECTORY 
STATUS_NO_MORE_FILES 
STATUS_DEVICE_PAPER_EMPTY 
STATUS_DEVICE_POWERED_OFF 
STATUS_DEVICE_OFF_LINE 
STATUS_DEVICE_BUSY 
STATUS_NO_MORE_ENTRIES 
STATUS_UNSUCCESSFUL 
STATUS_NOT_IMPLEMENTED 
STATUS_INVALID_INFO_CLASS 
STATUS_INVALID_HANDLE 
STATUS_INVALID_PARAMETER 
STATUS_NO_SUCH_DEVICE 
STATUS_NO_SUCH_FILE 
STATUS_INVALID_DEVICE_REQUEST 
STATUS_END_OF_FILE 
STATUS_NO_MEDIA_IN_DEVICE 
STATUS_UNRECOGNIZED_MEDIA 
STATUS_ACCESS_DENIED 
STATUS_OBJECT_NAME_INVALID 
STATUS_OBJECT_NAME_NOT_FOUND 
STATUS_OBJECT_NAME_COLLISION 
STATUS_PORT_DISCONNECTED 
STATUS_OBJECT_PATH_INVALID 
STATUS_OBJECT_PATH_NOT_FOUND 
STATUS_INVALID_PORT_HANDLE 
STATUS_DELETE_PENDING 
STATUS_DISK_FULL 
STATUS_DEVICE_NOT_READY 
STATUS_IO_TIMEOUT 
STATUS_FILE_IS_A_DIRECTORY 
STATUS_NOT_SUPPORTED 
STATUS_PRINT_QUEUE_FULL 
STATUS_PRINT_CANCELLED 
STATUS_DIRECTORY_NOT_EMPTY 
STATUS_FILE_CORRUPT_ERROR 
STATUS_NOT_A_DIRECTORY 
STATUS_NAME_TOO_LONG 
STATUS_CANCELLED 
STATUS_CANNOT_DELETE 
STATUS_FILE_DELETED 
STATUS_FILE_CLOSED 
Enumerator:
RDP_LOWIO_OP_SHAREDLOCK 
RDP_LOWIO_OP_EXCLUSIVELOCK 
RDP_LOWIO_OP_UNLOCK 
RDP_LOWIO_OP_UNLOCK_MULTIPLE 
Enumerator:
CAP_GENERAL_TYPE 
CAP_PRINTER_TYPE 
CAP_PORT_TYPE 
CAP_DRIVE_TYPE 
CAP_SMARTCARD_TYPE 
Enumerator:
GENERAL_CAPABILITY_VERSION_01 
GENERAL_CAPABILITY_VERSION_02 
PRINT_CAPABILITY_VERSION_01 
PORT_CAPABILITY_VERSION_01 
DRIVE_CAPABILITY_VERSION_01 
DRIVE_CAPABILITY_VERSION_02 
SMARTCARD_CAPABILITY_VERSION_01 
Enumerator:
ENABLE_ASYNCIO 
Enumerator:
RDPDR_IRP_MJ_CREATE 
RDPDR_IRP_MJ_CLEANUP 
RDPDR_IRP_MJ_CLOSE 
RDPDR_IRP_MJ_READ 
RDPDR_IRP_MJ_WRITE 
RDPDR_IRP_MJ_FLUSH_BUFFERS 
RDPDR_IRP_MJ_SHUTDOWN 
RDPDR_IRP_MJ_DEVICE_CONTROL 
RDPDR_IRP_MJ_QUERY_VOLUME_INFORMATION 
RDPDR_IRP_MJ_SET_VOLUME_INFORMATION 
RDPDR_IRP_MJ_QUERY_INFORMATION 
RDPDR_IRP_MJ_SET_INFORMATION 
RDPDR_IRP_MJ_DIRECTORY_CONTROL 
RDPDR_IRP_MJ_LOCK_CONTROL 
RDPDR_IRP_MJ_QUERY_SECURITY 
RDPDR_IRP_MJ_SET_SECURITY 
Enumerator:
RDPDR_DEVICE_REMOVE_PDUS 
RDPDR_CLIENT_DISPLAY_NAME_PDU 
RDPDR_USER_LOGGEDON_PDU 
Enumerator:
RDPDR_CLIENT_NAME_UNICODE 
RDPDR_CLIENT_NAME_ASCII 
enum RDPDR_CTYP

FreeRDP: A Remote Desktop Protocol Implementation Device Redirection Virtual Channel

Copyright 2010-2011 Vic Lee Copyright 2010-2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Enumerator:
RDPDR_CTYP_CORE 
RDPDR_CTYP_PRN 
Enumerator:
RDPDR_MINOR_RDP_VERSION_5_0 
RDPDR_MINOR_RDP_VERSION_5_1 
RDPDR_MINOR_RDP_VERSION_5_2 
RDPDR_MINOR_RDP_VERSION_6_X 
Enumerator:
PAKID_CORE_SERVER_ANNOUNCE 
PAKID_CORE_CLIENTID_CONFIRM 
PAKID_CORE_CLIENT_NAME 
PAKID_CORE_DEVICELIST_ANNOUNCE 
PAKID_CORE_DEVICE_REPLY 
PAKID_CORE_DEVICE_IOREQUEST 
PAKID_CORE_DEVICE_IOCOMPLETION 
PAKID_CORE_SERVER_CAPABILITY 
PAKID_CORE_CLIENT_CAPABILITY 
PAKID_CORE_DEVICELIST_REMOVE 
PAKID_CORE_USER_LOGGEDON 
PAKID_PRN_CACHE_DATA 
PAKID_PRN_USING_XPS 
Enumerator:
RDPDR_PRINTER_ANNOUNCE_FLAG_ASCII 
RDPDR_PRINTER_ANNOUNCE_FLAG_DEFAULTPRINTER 
RDPDR_PRINTER_ANNOUNCE_FLAG_NETWORKPRINTER 
RDPDR_PRINTER_ANNOUNCE_FLAG_TSPRINTER 
RDPDR_PRINTER_ANNOUNCE_FLAG_XPSFORMAT 
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines