74 lines
1.3 KiB
C
74 lines
1.3 KiB
C
/*++
|
|
|
|
Copyright (C) Microsoft Corporation, 1996 - 1999
|
|
|
|
Module Name:
|
|
|
|
smcnt.h
|
|
|
|
Abstract:
|
|
|
|
This files inlcudes the Windows NT specific data structure
|
|
for the smart card library
|
|
|
|
Environment:
|
|
|
|
Kernel mode only.
|
|
|
|
Notes:
|
|
|
|
Revision History:
|
|
|
|
- Created December 1996 by Klaus Schutz
|
|
|
|
--*/
|
|
|
|
#define SMCLIB_NT 1
|
|
|
|
typedef struct _OS_DEP_DATA {
|
|
|
|
// Pointer to the device object (Must be set by driver)
|
|
PDEVICE_OBJECT DeviceObject;
|
|
|
|
//
|
|
// This is the current Irp to be processed
|
|
// Use OsData->SpinLock to access this member
|
|
//
|
|
PIRP CurrentIrp;
|
|
|
|
//
|
|
// Irp to be notified of card insertion/removal
|
|
// Use OsData->SpinLock to access this member
|
|
//
|
|
PIRP NotificationIrp;
|
|
|
|
// Used to synchronize access to the driver
|
|
KMUTANT Mutex;
|
|
|
|
// Use this spin lock to access protected members (see smclib.h)
|
|
KSPIN_LOCK SpinLock;
|
|
|
|
struct {
|
|
|
|
BOOLEAN Removed;
|
|
LONG RefCount;
|
|
KEVENT RemoveEvent;
|
|
LIST_ENTRY TagList;
|
|
} RemoveLock;
|
|
|
|
#ifdef DEBUG_INTERFACE
|
|
PDEVICE_OBJECT DebugDeviceObject;
|
|
#endif
|
|
|
|
} OS_DEP_DATA, *POS_DEP_DATA;
|
|
|
|
#ifdef POOL_TAGGING
|
|
#ifndef ExAllocatePool
|
|
#error ExAllocatePool not defined
|
|
#endif
|
|
#undef ExAllocatePool
|
|
#define ExAllocatePool(a,b) ExAllocatePoolWithTag(a,b, SMARTCARD_POOL_TAG)
|
|
#endif
|
|
|
|
|