Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

118 lines
3.2 KiB

/*++
Copyright (C) Microsoft Corporation, 1996 - 1999
Module Name:
Common
Abstract:
This file contains common includes, data structures, defines, etc. used
throughtout the common dialog
Author:
Chris Dudley 3/15/1997
Environment:
Win32, C++ w/Exceptions, MFC
Revision History:
Chris Dudley 5/13/1997
Notes:
--*/
#ifndef __COMMON_H__
#define __COMMON_H__
/////////////////////////////////////////////////////////////////////////////
//
// Includes
//
#include <winscard.h>
#include <SCardLib.h>
#include <scarderr.h> //Smartcard errors
//////////////////////////////////////////////////////////////////////////////
//
// Defines
//
// Status of reader
#define SC_STATUS_NO_CARD 0 // SCARD_STATE_EMPTY
#define SC_STATUS_UNKNOWN 1 // SCARD_STATE_PRESENT | SCARD_STATE_MUTE
#define SC_SATATUS_AVAILABLE 2 // SCARD_STATE_PRESENT (| SCARD_STATE_UNPOWERED)
#define SC_STATUS_SHARED 3 // SCARD_SATATE_PRESENT | SCARD_STATE_INUSE
#define SC_STATUS_EXCLUSIVE 4 // "" | SCARD_STATE_EXCLUSIVE
#define SC_STATUS_ERROR 5 // SCARD_STATE_UNAVAILABLE (reader or card error)
/*
#define SC_STATUS_NO_CARD 0
#define SC_STATUS_NOT_IN_USE 1
#define SC_STATUS_ERROR 2
#define SC_STATUS_IN_USE 3
*/
/////////////////////////////////////////////////////////////////////////////
//
// Structures
//
#ifndef __READERINFO__
#define __READERINFO__
typedef struct _READERINFO {
CTextString sReaderName; // Reader name
CTextString sCardName; // Card name if inserted
BOOL fCardInserted; // Flag indicating card in reader
BOOL fCardLookup; // Flag indicating inserted card is being looked for
BOOL fChecked; // Flag indicating inserted card has been checked by callers code
DWORD dwState; // State of reader
DWORD dwInternalIndex;// Indicates this readerinfo's position in a ReaderStateArray
BYTE rgbAtr[36]; // RFU!!
DWORD dwAtrLength; // RFU!!
} SCARD_READERINFO;
typedef SCARD_READERINFO* LPSCARD_READERINFO;
#endif
// Structure used for thread-to-thread communication.
// Note: "Might" want to encapsulate these in class!!
#ifndef __STATUS__
#define __STATUS__
typedef struct _STATUS {
HWND hwnd;
// Event handles
HANDLE hEventKillStatus;
// Smartcard Info
SCARDCONTEXT hContext;
LPSCARD_READERSTATE rgReaderState;
DWORD dwNumReaders;
} SCSTATUS, *LPSCSTATUS;
#endif //STATUS
////////////////////////////////////////////////////////////////////////////////
//
// Constants
//
#define SCARD_NO_MORE_READERS -1
const char SCARD_DEFAULT_A[] = "SCard$DefaultReaders\0\0";
const WCHAR SCARD_DEFAULT_W[] = L"SCard$DefaultReaders\0\0";
//////////////////////////////////////////////////////////////////////////
//
// Macros
//
#ifndef SCARDFAILED
#define SCARDFAILED(r) ((r != SCARD_S_SUCCESS) ? TRUE : FALSE)
#endif
#ifndef SCARDSUCCESS
#define SCARDSUCCESS(r) ((r == SCARD_S_SUCCESS) ? TRUE : FALSE)
#endif
//////////////////////////////////////////////////////////////////////////////
#endif //__SCDLGCMN_H__