32#define IOCTL_PCMCIA_BASE FILE_DEVICE_CONTROLLER
34#define DD_PCMCIA_DEVICE_NAME "\\\\.\\Pcmcia"
35#define DD_PCMCIA_DEVICE_NAME_U L"\\\\.\\Pcmcia"
37#define IOCTL_GET_TUPLE_DATA \
38 CTL_CODE(IOCTL_PCMCIA_BASE, 3000, METHOD_BUFFERED, FILE_ANY_ACCESS)
40#define IOCTL_SOCKET_INFORMATION \
41 CTL_CODE(IOCTL_PCMCIA_BASE, 3004, METHOD_BUFFERED, FILE_ANY_ACCESS)
43#define DEVICE_IDENTIFIER_LENGTH 64
44#define DRIVER_NAME_LENGTH 32
45#define MANUFACTURER_NAME_LENGTH 64
47#define PcmciaInvalidControllerType 0xffffffff
85#define PcmciaClassFromControllerType(type) ((PCMCIA_CONTROLLER_CLASS)((type) & 0xff))
86#define PcmciaModelFromControllerType(type) (((type) >> 8) & 0x3ffff)
87#define PcmciaRevisionFromControllerType(type) ((type) >> 26)
90 0xbed5dadfL, 0x38fb, 0x11d1, 0x94, 0x62, 0x00, 0xc0, 0x4f, 0xb9, 0x60, 0xee);
97(
NTAPI PCMCIA_READ_CONFIG)(
108(
NTAPI PCMCIA_WRITE_CONFIG)(
116#define PCCARD_PCI_CONFIGURATION_SPACE 0
117#define PCCARD_ATTRIBUTE_MEMORY 1
118#define PCCARD_COMMON_MEMORY 2
119#define PCCARD_ATTRIBUTE_MEMORY_INDIRECT 3
120#define PCCARD_COMMON_MEMORY_INDIRECT 4
132#define PCMCIA_MEMORY_8BIT_ACCESS 0
133#define PCMCIA_MEMORY_16BIT_ACCESS 1
138(
NTAPI PCMCIA_MODIFY_MEMORY_WINDOW)(
149#define PCMCIA_VPP_0V 0
150#define PCMCIA_VPP_12V 1
151#define PCMCIA_VPP_IS_VCC 2
156(
NTAPI PCMCIA_SET_VPP)(
164(
NTAPI PCMCIA_IS_WRITE_PROTECTED)(
VOID(WINAPI * PINTERFACE_DEREFERENCE)(PVOID Context)
VOID(WINAPI * PINTERFACE_REFERENCE)(PVOID Context)
#define _Function_class_(x)
enum _PCMCIA_CONTROLLER_CLASS PCMCIA_CONTROLLER_CLASS
#define DRIVER_NAME_LENGTH
_In_ ULONG _In_ ULONG Offset
PCMCIA_MODIFY_MEMORY_WINDOW * PPCMCIA_MODIFY_MEMORY_WINDOW
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN _In_opt_ ULONG _In_opt_ UCHAR _In_opt_ UCHAR BusWidth
PCMCIA_SET_VPP * PPCMCIA_SET_VPP
struct _TUPLE_REQUEST TUPLE_REQUEST
PCMCIA_WRITE_CONFIG * PPCMCIA_WRITE_CONFIG
struct _PCMCIA_BUS_INTERFACE_STANDARD PCMCIA_BUS_INTERFACE_STANDARD
PCMCIA_IS_WRITE_PROTECTED * PPCMCIA_IS_WRITE_PROTECTED
@ PcmciaCardBusCompatible
@ PcmciaInvalidControllerClass
#define MANUFACTURER_NAME_LENGTH
struct _PCMCIA_SOCKET_INFORMATION PCMCIA_SOCKET_INFORMATION
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN _In_opt_ ULONG _In_opt_ UCHAR _In_opt_ UCHAR _In_opt_ BOOLEAN IsAttributeMemory
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN _In_opt_ ULONG _In_opt_ UCHAR AccessSpeed
_In_ ULONG _In_reads_bytes_(Length) PUCHAR Buffer
PCMCIA_READ_CONFIG * PPCMCIA_READ_CONFIG
struct _PCMCIA_INTERFACE_STANDARD PCMCIA_INTERFACE_STANDARD
#define DEVICE_IDENTIFIER_LENGTH
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN _In_opt_ ULONG WindowSize
struct _PCMCIA_INTERFACE_STANDARD * PPCMCIA_INTERFACE_STANDARD
_In_ ULONGLONG _In_ ULONGLONG CardBase
_In_ ULONG _Out_writes_bytes_all_(Length) PUCHAR Buffer
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
struct _TUPLE_REQUEST * PTUPLE_REQUEST
enum _PCMCIA_CONTROLLER_CLASS * PPCMCIA_CONTROLLER_CLASS
struct _PCMCIA_BUS_INTERFACE_STANDARD * PPCMCIA_BUS_INTERFACE_STANDARD
struct _PCMCIA_SOCKET_INFORMATION * PPCMCIA_SOCKET_INFORMATION
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
PPCMCIA_READ_WRITE_CONFIG ReadConfig
PINTERFACE_DEREFERENCE InterfaceDereference
PPCMCIA_READ_WRITE_CONFIG WriteConfig
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
PPCMCIA_IS_WRITE_PROTECTED IsWriteProtected
PPCMCIA_MODIFY_MEMORY_WINDOW ModifyMemoryWindow
PINTERFACE_REFERENCE InterfaceReference