FreeRDP
|
Data Structures | |
struct | OVERLAPPED |
struct | OVERLAPPED_ENTRY |
Macros | |
#define | DEVICE_TYPE ULONG |
#define | FILE_DEVICE_BEEP 0x00000001 |
#define | FILE_DEVICE_CD_ROM 0x00000002 |
#define | FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 |
#define | FILE_DEVICE_CONTROLLER 0x00000004 |
#define | FILE_DEVICE_DATALINK 0x00000005 |
#define | FILE_DEVICE_DFS 0x00000006 |
#define | FILE_DEVICE_DISK 0x00000007 |
#define | FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 |
#define | FILE_DEVICE_FILE_SYSTEM 0x00000009 |
#define | FILE_DEVICE_INPORT_PORT 0x0000000a |
#define | FILE_DEVICE_KEYBOARD 0x0000000b |
#define | FILE_DEVICE_MAILSLOT 0x0000000c |
#define | FILE_DEVICE_MIDI_IN 0x0000000d |
#define | FILE_DEVICE_MIDI_OUT 0x0000000e |
#define | FILE_DEVICE_MOUSE 0x0000000f |
#define | FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 |
#define | FILE_DEVICE_NAMED_PIPE 0x00000011 |
#define | FILE_DEVICE_NETWORK 0x00000012 |
#define | FILE_DEVICE_NETWORK_BROWSER 0x00000013 |
#define | FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 |
#define | FILE_DEVICE_NULL 0x00000015 |
#define | FILE_DEVICE_PARALLEL_PORT 0x00000016 |
#define | FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 |
#define | FILE_DEVICE_PRINTER 0x00000018 |
#define | FILE_DEVICE_SCANNER 0x00000019 |
#define | FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a |
#define | FILE_DEVICE_SERIAL_PORT 0x0000001b |
#define | FILE_DEVICE_SCREEN 0x0000001c |
#define | FILE_DEVICE_SOUND 0x0000001d |
#define | FILE_DEVICE_STREAMS 0x0000001e |
#define | FILE_DEVICE_TAPE 0x0000001f |
#define | FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 |
#define | FILE_DEVICE_TRANSPORT 0x00000021 |
#define | FILE_DEVICE_UNKNOWN 0x00000022 |
#define | FILE_DEVICE_VIDEO 0x00000023 |
#define | FILE_DEVICE_VIRTUAL_DISK 0x00000024 |
#define | FILE_DEVICE_WAVE_IN 0x00000025 |
#define | FILE_DEVICE_WAVE_OUT 0x00000026 |
#define | FILE_DEVICE_8042_PORT 0x00000027 |
#define | FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 |
#define | FILE_DEVICE_BATTERY 0x00000029 |
#define | FILE_DEVICE_BUS_EXTENDER 0x0000002a |
#define | FILE_DEVICE_MODEM 0x0000002b |
#define | FILE_DEVICE_VDM 0x0000002c |
#define | FILE_DEVICE_MASS_STORAGE 0x0000002d |
#define | FILE_DEVICE_SMB 0x0000002e |
#define | FILE_DEVICE_KS 0x0000002f |
#define | FILE_DEVICE_CHANGER 0x00000030 |
#define | FILE_DEVICE_SMARTCARD 0x00000031 |
#define | FILE_DEVICE_ACPI 0x00000032 |
#define | FILE_DEVICE_DVD 0x00000033 |
#define | FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034 |
#define | FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035 |
#define | FILE_DEVICE_DFS_VOLUME 0x00000036 |
#define | FILE_DEVICE_SERENUM 0x00000037 |
#define | FILE_DEVICE_TERMSRV 0x00000038 |
#define | FILE_DEVICE_KSEC 0x00000039 |
#define | FILE_DEVICE_FIPS 0x0000003A |
#define | FILE_DEVICE_INFINIBAND 0x0000003B |
#define | FILE_DEVICE_VMBUS 0x0000003E |
#define | FILE_DEVICE_CRYPT_PROVIDER 0x0000003F |
#define | FILE_DEVICE_WPD 0x00000040 |
#define | FILE_DEVICE_BLUETOOTH 0x00000041 |
#define | FILE_DEVICE_MT_COMPOSITE 0x00000042 |
#define | FILE_DEVICE_MT_TRANSPORT 0x00000043 |
#define | FILE_DEVICE_BIOMETRIC 0x00000044 |
#define | FILE_DEVICE_PMI 0x00000045 |
#define | CTL_CODE(DeviceType, Function, Method, Access) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) |
#define | DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((DWORD)(ctrlCode & 0xFFFF0000)) >> 16) |
#define | METHOD_FROM_CTL_CODE(ctrlCode) ((DWORD)(ctrlCode & 3)) |
#define | METHOD_BUFFERED 0 |
#define | METHOD_IN_DIRECT 1 |
#define | METHOD_OUT_DIRECT 2 |
#define | METHOD_NEITHER 3 |
#define | FILE_ANY_ACCESS 0 |
#define | FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS) |
#define | FILE_READ_ACCESS (0x0001) |
#define | FILE_WRITE_ACCESS (0x0002) |
#define | ACCESS_FROM_CTL_CODE(ctrlCode) ((DWORD)((ctrlCode >> 14) & 0x3)) |
#define | FUNCTION_FROM_CTL_CODE(ctrlCode) ((DWORD)((ctrlCode >> 2) & 0xFFF)) |
Typedefs | |
typedef struct OVERLAPPED * | LPOVERLAPPED |
typedef struct OVERLAPPED_ENTRY * | LPOVERLAPPED_ENTRY |
typedef HANDLE | PDRIVER_OBJECT_EX |
typedef HANDLE | PDEVICE_OBJECT_EX |
Functions | |
WINPR_API BOOL | GetOverlappedResult (HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait) |
WINPR_API BOOL | GetOverlappedResultEx (HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, DWORD dwMilliseconds, BOOL bAlertable) |
WINPR_API BOOL | DeviceIoControl (HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped) |
WINPR_API HANDLE | CreateIoCompletionPort (HANDLE FileHandle, HANDLE ExistingCompletionPort, ULONG_PTR CompletionKey, DWORD NumberOfConcurrentThreads) |
WINPR_API BOOL | GetQueuedCompletionStatus (HANDLE CompletionPort, LPDWORD lpNumberOfBytesTransferred, PULONG_PTR lpCompletionKey, LPOVERLAPPED *lpOverlapped, DWORD dwMilliseconds) |
WINPR_API BOOL | GetQueuedCompletionStatusEx (HANDLE CompletionPort, LPOVERLAPPED_ENTRY lpCompletionPortEntries, ULONG ulCount, PULONG ulNumEntriesRemoved, DWORD dwMilliseconds, BOOL fAlertable) |
WINPR_API BOOL | PostQueuedCompletionStatus (HANDLE CompletionPort, DWORD dwNumberOfBytesTransferred, ULONG_PTR dwCompletionKey, LPOVERLAPPED lpOverlapped) |
WINPR_API BOOL | CancelIo (HANDLE hFile) |
WINPR_API BOOL | CancelIoEx (HANDLE hFile, LPOVERLAPPED lpOverlapped) |
WINPR_API BOOL | CancelSynchronousIo (HANDLE hThread) |
WINPR_API NTSTATUS | _IoCreateDeviceEx (PDRIVER_OBJECT_EX DriverObject, ULONG DeviceExtensionSize, PUNICODE_STRING DeviceName, DEVICE_TYPE DeviceType, ULONG DeviceCharacteristics, BOOLEAN Exclusive, PDEVICE_OBJECT_EX *DeviceObject) |
WINPR_API VOID | _IoDeleteDeviceEx (PDEVICE_OBJECT_EX DeviceObject) |
#define ACCESS_FROM_CTL_CODE | ( | ctrlCode | ) | ((DWORD)((ctrlCode >> 14) & 0x3)) |
Extended API
#define CTL_CODE | ( | DeviceType, | |
Function, | |||
Method, | |||
Access | |||
) | (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) |
#define DEVICE_TYPE ULONG |
#define DEVICE_TYPE_FROM_CTL_CODE | ( | ctrlCode | ) | (((DWORD)(ctrlCode & 0xFFFF0000)) >> 16) |
#define FILE_ANY_ACCESS 0 |
#define FILE_DEVICE_8042_PORT 0x00000027 |
#define FILE_DEVICE_ACPI 0x00000032 |
#define FILE_DEVICE_BATTERY 0x00000029 |
#define FILE_DEVICE_BEEP 0x00000001 |
#define FILE_DEVICE_BIOMETRIC 0x00000044 |
#define FILE_DEVICE_BLUETOOTH 0x00000041 |
#define FILE_DEVICE_BUS_EXTENDER 0x0000002a |
#define FILE_DEVICE_CD_ROM 0x00000002 |
#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 |
#define FILE_DEVICE_CHANGER 0x00000030 |
#define FILE_DEVICE_CONTROLLER 0x00000004 |
#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003F |
#define FILE_DEVICE_DATALINK 0x00000005 |
#define FILE_DEVICE_DFS 0x00000006 |
#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035 |
#define FILE_DEVICE_DFS_VOLUME 0x00000036 |
#define FILE_DEVICE_DISK 0x00000007 |
#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 |
#define FILE_DEVICE_DVD 0x00000033 |
#define FILE_DEVICE_FILE_SYSTEM 0x00000009 |
#define FILE_DEVICE_FIPS 0x0000003A |
#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034 |
#define FILE_DEVICE_INFINIBAND 0x0000003B |
#define FILE_DEVICE_INPORT_PORT 0x0000000a |
#define FILE_DEVICE_KEYBOARD 0x0000000b |
#define FILE_DEVICE_KS 0x0000002f |
#define FILE_DEVICE_KSEC 0x00000039 |
#define FILE_DEVICE_MAILSLOT 0x0000000c |
#define FILE_DEVICE_MASS_STORAGE 0x0000002d |
#define FILE_DEVICE_MIDI_IN 0x0000000d |
#define FILE_DEVICE_MIDI_OUT 0x0000000e |
#define FILE_DEVICE_MODEM 0x0000002b |
#define FILE_DEVICE_MOUSE 0x0000000f |
#define FILE_DEVICE_MT_COMPOSITE 0x00000042 |
#define FILE_DEVICE_MT_TRANSPORT 0x00000043 |
#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 |
#define FILE_DEVICE_NAMED_PIPE 0x00000011 |
#define FILE_DEVICE_NETWORK 0x00000012 |
#define FILE_DEVICE_NETWORK_BROWSER 0x00000013 |
#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 |
#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 |
#define FILE_DEVICE_NULL 0x00000015 |
#define FILE_DEVICE_PARALLEL_PORT 0x00000016 |
#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 |
#define FILE_DEVICE_PMI 0x00000045 |
#define FILE_DEVICE_PRINTER 0x00000018 |
#define FILE_DEVICE_SCANNER 0x00000019 |
#define FILE_DEVICE_SCREEN 0x0000001c |
#define FILE_DEVICE_SERENUM 0x00000037 |
#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a |
#define FILE_DEVICE_SERIAL_PORT 0x0000001b |
#define FILE_DEVICE_SMARTCARD 0x00000031 |
#define FILE_DEVICE_SMB 0x0000002e |
#define FILE_DEVICE_SOUND 0x0000001d |
#define FILE_DEVICE_STREAMS 0x0000001e |
#define FILE_DEVICE_TAPE 0x0000001f |
#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 |
#define FILE_DEVICE_TERMSRV 0x00000038 |
#define FILE_DEVICE_TRANSPORT 0x00000021 |
#define FILE_DEVICE_UNKNOWN 0x00000022 |
#define FILE_DEVICE_VDM 0x0000002c |
#define FILE_DEVICE_VIDEO 0x00000023 |
#define FILE_DEVICE_VIRTUAL_DISK 0x00000024 |
#define FILE_DEVICE_VMBUS 0x0000003E |
#define FILE_DEVICE_WAVE_IN 0x00000025 |
#define FILE_DEVICE_WAVE_OUT 0x00000026 |
#define FILE_DEVICE_WPD 0x00000040 |
#define FILE_READ_ACCESS (0x0001) |
#define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS) |
#define FILE_WRITE_ACCESS (0x0002) |
#define FUNCTION_FROM_CTL_CODE | ( | ctrlCode | ) | ((DWORD)((ctrlCode >> 2) & 0xFFF)) |
#define METHOD_BUFFERED 0 |
#define METHOD_FROM_CTL_CODE | ( | ctrlCode | ) | ((DWORD)(ctrlCode & 3)) |
#define METHOD_IN_DIRECT 1 |
#define METHOD_NEITHER 3 |
#define METHOD_OUT_DIRECT 2 |
typedef struct OVERLAPPED * LPOVERLAPPED |
typedef struct OVERLAPPED_ENTRY * LPOVERLAPPED_ENTRY |
typedef HANDLE PDEVICE_OBJECT_EX |
typedef HANDLE PDRIVER_OBJECT_EX |
WINPR_API NTSTATUS _IoCreateDeviceEx | ( | PDRIVER_OBJECT_EX | DriverObject, |
ULONG | DeviceExtensionSize, | ||
PUNICODE_STRING | DeviceName, | ||
DEVICE_TYPE | DeviceType, | ||
ULONG | DeviceCharacteristics, | ||
BOOLEAN | Exclusive, | ||
PDEVICE_OBJECT_EX * | DeviceObject | ||
) |
IoCreateDevice: http://msdn.microsoft.com/en-us/library/windows/hardware/ff548397/
WINPR_API VOID _IoDeleteDeviceEx | ( | PDEVICE_OBJECT_EX | DeviceObject | ) |
WINPR_API BOOL CancelIo | ( | HANDLE | hFile | ) |
WINPR_API BOOL CancelIoEx | ( | HANDLE | hFile, |
LPOVERLAPPED | lpOverlapped | ||
) |
WINPR_API BOOL CancelSynchronousIo | ( | HANDLE | hThread | ) |
WINPR_API HANDLE CreateIoCompletionPort | ( | HANDLE | FileHandle, |
HANDLE | ExistingCompletionPort, | ||
ULONG_PTR | CompletionKey, | ||
DWORD | NumberOfConcurrentThreads | ||
) |
WINPR_API BOOL DeviceIoControl | ( | HANDLE | hDevice, |
DWORD | dwIoControlCode, | ||
LPVOID | lpInBuffer, | ||
DWORD | nInBufferSize, | ||
LPVOID | lpOutBuffer, | ||
DWORD | nOutBufferSize, | ||
LPDWORD | lpBytesReturned, | ||
LPOVERLAPPED | lpOverlapped | ||
) |
WINPR_API BOOL GetOverlappedResult | ( | HANDLE | hFile, |
LPOVERLAPPED | lpOverlapped, | ||
LPDWORD | lpNumberOfBytesTransferred, | ||
BOOL | bWait | ||
) |
WINPR_API BOOL GetOverlappedResultEx | ( | HANDLE | hFile, |
LPOVERLAPPED | lpOverlapped, | ||
LPDWORD | lpNumberOfBytesTransferred, | ||
DWORD | dwMilliseconds, | ||
BOOL | bAlertable | ||
) |
WINPR_API BOOL GetQueuedCompletionStatus | ( | HANDLE | CompletionPort, |
LPDWORD | lpNumberOfBytesTransferred, | ||
PULONG_PTR | lpCompletionKey, | ||
LPOVERLAPPED * | lpOverlapped, | ||
DWORD | dwMilliseconds | ||
) |
WINPR_API BOOL GetQueuedCompletionStatusEx | ( | HANDLE | CompletionPort, |
LPOVERLAPPED_ENTRY | lpCompletionPortEntries, | ||
ULONG | ulCount, | ||
PULONG | ulNumEntriesRemoved, | ||
DWORD | dwMilliseconds, | ||
BOOL | fAlertable | ||
) |
WINPR_API BOOL PostQueuedCompletionStatus | ( | HANDLE | CompletionPort, |
DWORD | dwNumberOfBytesTransferred, | ||
ULONG_PTR | dwCompletionKey, | ||
LPOVERLAPPED | lpOverlapped | ||
) |