windows-nt/Source/XPSP1/NT/ds/security/services/smartcrd/inc/scevents.h

174 lines
2.8 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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_