Windows2003-3790/drivers/smartcrd/inc/scutil.h
2020-09-30 16:53:55 +02:00

123 lines
2.4 KiB
C

/***************************************************************************
Copyright (c) 2002 Microsoft Corporation
Module Name:
SCUTIL.H
Abstract:
Public interface for Smartcard Driver Utility Library
Environment:
Kernel Mode Only
Notes:
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
PURPOSE.
Copyright (c) 2001 Microsoft Corporation. All Rights Reserved.
Revision History:
05/14/2002 : created
Authors:
Randy Aull
****************************************************************************/
#ifndef __SCUTIL_H__
#define __SCUTIL_H__
typedef NTSTATUS (*PNP_CALLBACK)(PDEVICE_OBJECT DeviceObject,
PIRP Irp);
typedef NTSTATUS (*POWER_CALLBACK)(PDEVICE_OBJECT DeviceObject,
DEVICE_POWER_STATE DeviceState,
PBOOLEAN PostWaitWake);
typedef PVOID SCUTIL_HANDLE;
NTSTATUS
ScUtil_Initialize(
SCUTIL_HANDLE UtilHandle,
PDEVICE_OBJECT PhysicalDeviceObject,
PDEVICE_OBJECT LowerDeviceObject,
PSMARTCARD_EXTENSION SmartcardExtension,
PIO_REMOVE_LOCK RemoveLock,
PNP_CALLBACK StartDevice,
PNP_CALLBACK StopDevice,
PNP_CALLBACK RemoveDevice,
PNP_CALLBACK FreeResources,
POWER_CALLBACK SetPowerState
);
NTSTATUS
ScUtil_DeviceIOControl(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
ScUtil_PnP(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
ScUtil_Power(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
ScUtil_Cleanup(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
ScUtil_UnloadDriver(
PDRIVER_OBJECT DriverObject
);
NTSTATUS
ScUtil_CreateClose(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
ScUtil_SystemControl(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
ScUtil_ForwardAndWait(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
ScUtil_Cancel(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
#endif // __SCUTIL_H__