Source code of Windows XP (NT5)
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.
|
|
/*++
Copyright (C) Microsoft Corporation, 1998 - 1999
Module Name:
scEvents
Abstract:
This header file describes the services to access the Calais Resource Manager special events.
Author:
Doug Barlow (dbarlow) 7/1/1998
Remarks:
?Remarks?
Notes:
?Notes?
--*/
#ifndef _SCEVENTS_H_
#define _SCEVENTS_H_
#ifdef __cplusplus
extern "C" { #endif
typedef HANDLE (*LPCALAISACCESSEVENT)(void); typedef void (*LPCALAISRELEASEEVENT)(void);
#ifdef __cplusplus
} #endif
//
// Special SCardGetStatusChange Reader Name definitions.
//
#define SCPNP_NOTIFICATION TEXT("\\\\?PnP?\\Notification")
//
// NOTE -- The following definitions intentionally use the ANSI versions
// of the corresponding strings.
//
inline HANDLE CalaisAccessStartedEvent( void) { HANDLE hReturn = NULL;
try { HMODULE hWinScard = GetModuleHandle(TEXT("WINSCARD.DLL")); if (NULL != hWinScard) { LPCALAISACCESSEVENT pfCalais = (LPCALAISACCESSEVENT)GetProcAddress(hWinScard, "SCardAccessStartedEvent"); if (NULL != pfCalais) { hReturn = (*pfCalais)(); } } } catch (...) { hReturn = NULL; }
return hReturn; }
inline HANDLE CalaisAccessNewReaderEvent( void) { HANDLE hReturn = NULL;
try { HMODULE hWinScard = GetModuleHandle(TEXT("WINSCARD.DLL")); if (NULL != hWinScard) { LPCALAISACCESSEVENT pfCalais = (LPCALAISACCESSEVENT)GetProcAddress(hWinScard, "SCardAccessNewReaderEvent"); if (NULL != pfCalais) { hReturn = (*pfCalais)(); } } } catch (...) { hReturn = NULL; }
return hReturn; }
inline void CalaisReleaseStartedEvent( void) { try { HMODULE hWinScard = GetModuleHandle(TEXT("WINSCARD.DLL")); if (NULL != hWinScard) { LPCALAISRELEASEEVENT pfCalais = (LPCALAISRELEASEEVENT)GetProcAddress(hWinScard, "SCardReleaseStartedEvent"); if (NULL != pfCalais) { (*pfCalais)(); } } } catch (...) {} }
inline void CalaisReleaseNewReaderEvent( void) { try { HMODULE hWinScard = GetModuleHandle(TEXT("WINSCARD.DLL")); if (NULL != hWinScard) { LPCALAISRELEASEEVENT pfCalais = (LPCALAISRELEASEEVENT)GetProcAddress(hWinScard, "SCardReleaseNewReaderEvent"); if (NULL != pfCalais) { (*pfCalais)(); } } } catch (...) {} }
inline void CalaisReleaseAllEvents( void) { try { HMODULE hWinScard = GetModuleHandle(TEXT("WINSCARD.DLL")); if (NULL != hWinScard) { LPCALAISRELEASEEVENT pfCalais = (LPCALAISRELEASEEVENT)GetProcAddress(hWinScard, "SCardReleaseAllEvents"); if (NULL != pfCalais) { (*pfCalais)(); } } } catch (...) {} }
#endif // _SCEVENTS_H_
|