WinIo_NT.h
资源名称:winio源码.zip [点击查看]
上传用户:ason123
上传日期:2010-03-31
资源大小:177k
文件大小:2k
源码类别:
并口编程
开发平台:
C++ Builder
- #ifndef WINIONT_H
- #define WINIONT_H
- // Define the various device type values. Note that values used by Microsoft
- // Corporation are in the range 0-32767, and 32768-65535 are reserved for use
- // by customers.
- #define FILE_DEVICE_WINIO 0x00008010
- // Macro definition for defining IOCTL and FSCTL function control codes.
- // Note that function codes 0-2047 are reserved for Microsoft Corporation,
- // and 2048-4095 are reserved for customers.
- #define WINIO_IOCTL_INDEX 0x810
- // Define our own private IOCTL
- #define IOCTL_WINIO_MAPPHYSTOLIN CTL_CODE(FILE_DEVICE_WINIO,
- WINIO_IOCTL_INDEX,
- METHOD_BUFFERED,
- FILE_ANY_ACCESS)
- #define IOCTL_WINIO_UNMAPPHYSADDR CTL_CODE(FILE_DEVICE_WINIO,
- WINIO_IOCTL_INDEX + 1,
- METHOD_BUFFERED,
- FILE_ANY_ACCESS)
- #define IOCTL_WINIO_ENABLEDIRECTIO CTL_CODE(FILE_DEVICE_WINIO,
- WINIO_IOCTL_INDEX + 2,
- METHOD_BUFFERED,
- FILE_ANY_ACCESS)
- #define IOCTL_WINIO_DISABLEDIRECTIO CTL_CODE(FILE_DEVICE_WINIO,
- WINIO_IOCTL_INDEX + 3,
- METHOD_BUFFERED,
- FILE_ANY_ACCESS)
- #pragma pack(1)
- struct tagPhys32Struct
- {
- HANDLE PhysicalMemoryHandle;
- ULONG dwPhysMemSizeInBytes;
- PVOID pvPhysAddress;
- PVOID pvPhysMemLin;
- };
- extern struct tagPhys32Struct Phys32Struct;
- #endif