82 DPRINT(
"Read from unknown port: 0x%X\n",
Port);
128 DPRINT(
"Write to unknown port: 0x%X\n",
Port);
327 DPRINT1(
"IoPortProc[0x%X].IoHandlers.InB already registered\n",
Port);
332 DPRINT1(
"IoPortProc[0x%X].IoHandlers.OutB already registered\n",
Port);
357 if (
DataSize == 0 || DataCount == 0)
return;
391 Count = NewDataSize >> 2;
392 NewDataSize = NewDataSize & 3;
396 CurrentPort +=
sizeof(
ULONG);
401 Count = NewDataSize >> 1;
402 NewDataSize = NewDataSize & 1;
406 CurrentPort +=
sizeof(
USHORT);
416 CurrentPort +=
sizeof(
UCHAR);
432 if (
DataSize == 0 || DataCount == 0)
return;
466 Count = NewDataSize >> 2;
467 NewDataSize = NewDataSize & 3;
471 CurrentPort +=
sizeof(
ULONG);
476 Count = NewDataSize >> 1;
477 NewDataSize = NewDataSize & 1;
481 CurrentPort +=
sizeof(
USHORT);
491 CurrentPort +=
sizeof(
UCHAR);
520 for (
i = pPortRange->First; i <= pPortRange->Last; ++
i)
528 DPRINT1(
"IoPortProc[0x%X] already registered\n",
i);
582 for (
i = pPortRange->First; i <= pPortRange->Last; ++
i)
589 DPRINT1(
"IoPortProc[0x%X] owned by somebody else\n",
i);
VOID(WINAPI * EMULATOR_OUTSD_PROC)(USHORT Port, PULONG Buffer, ULONG Count)
#define ERROR_INVALID_PARAMETER
VOID IOWriteStrD(USHORT Port, PULONG Buffer, ULONG Count)
VOID(WINAPI * EMULATOR_OUTW_PROC)(USHORT Port, USHORT Data)
#define UNREFERENCED_PARAMETER(P)
VOID(WINAPI * EMULATOR_INSD_PROC)(USHORT Port, PULONG Buffer, ULONG Count)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
VOID IOReadStrB(USHORT Port, PUCHAR Buffer, ULONG Count)
#define INVALID_HANDLE_VALUE
PFNVDD_OUTSW outsw_handler
USHORT(WINAPI * EMULATOR_INW_PROC)(USHORT Port)
VDD_IO_HANDLERS VddIoHandlers
VOID IOWriteW(USHORT Port, USHORT Buffer)
VOID RegisterIoPort(USHORT Port, EMULATOR_INB_PROC InHandler, EMULATOR_OUTB_PROC OutHandler)
VOID IOReadStrW(USHORT Port, PUSHORT Buffer, ULONG Count)
UCHAR(WINAPI * EMULATOR_INB_PROC)(USHORT Port)
VOID IOWriteStrW(USHORT Port, PUSHORT Buffer, ULONG Count)
ULONG IOReadD(USHORT Port)
VOID IOWriteD(USHORT Port, ULONG Buffer)
EMULATOR_OUTSB_PROC OutsB
UCHAR IOReadB(USHORT Port)
EMULATOR_IO_HANDLERS IoHandlers
VOID IOWriteB(USHORT Port, UCHAR Buffer)
BOOL WINAPI VDDInstallIOHook(IN HANDLE hVdd, IN WORD cPortRange, IN PVDD_IO_PORTRANGE pPortRange, IN PVDD_IO_HANDLERS IoHandlers)
VOID(WINAPI * EMULATOR_OUTD_PROC)(USHORT Port, ULONG Data)
PFNVDD_OUTSB outsb_handler
VOID IOWriteStrB(USHORT Port, PUCHAR Buffer, ULONG Count)
USHORT IOReadW(USHORT Port)
EMULATOR_OUTSW_PROC OutsW
struct _EMULATOR_IO_HANDLERS * PEMULATOR_IO_HANDLERS
VOID FASTCALL EmulatorWriteIo(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
ULONG(WINAPI * EMULATOR_IND_PROC)(USHORT Port)
VOID UnregisterIoPort(USHORT Port)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
struct _EMULATOR_IO_HANDLERS EMULATOR_IO_HANDLERS
VOID(WINAPI * EMULATOR_INSB_PROC)(USHORT Port, PUCHAR Buffer, ULONG Count)
struct _EMULATOR_IOPORT_HANDLERS EMULATOR_IOPORT_HANDLERS
VOID(WINAPI * EMULATOR_INSW_PROC)(USHORT Port, PUSHORT Buffer, ULONG Count)
EMULATOR_IOPORT_HANDLERS IoPortProc[EMULATOR_MAX_IOPORTS_NUM]
struct _EMULATOR_IOPORT_HANDLERS * PEMULATOR_IOPORT_HANDLERS
VOID(WINAPI * EMULATOR_OUTB_PROC)(USHORT Port, UCHAR Data)
#define RtlZeroMemory(Destination, Length)
VOID(WINAPI * EMULATOR_OUTSB_PROC)(USHORT Port, PUCHAR Buffer, ULONG Count)
VOID FASTCALL EmulatorReadIo(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
#define EMULATOR_MAX_IOPORTS_NUM
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
VOID(WINAPI * EMULATOR_OUTSW_PROC)(USHORT Port, PUSHORT Buffer, ULONG Count)
VOID WINAPI VDDDeInstallIOHook(IN HANDLE hVdd, IN WORD cPortRange, IN PVDD_IO_PORTRANGE pPortRange)
EMULATOR_OUTSD_PROC OutsD
VOID IOReadStrD(USHORT Port, PULONG Buffer, ULONG Count)