mirror of https://github.com/tongzx/nt5src
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.
173 lines
2.8 KiB
173 lines
2.8 KiB
/*++
|
|
|
|
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_
|
|
|