Windows-Server-2003/drivers/smartcrd/inc/smcnt.h

74 lines
1.4 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