mirror of https://github.com/lianthony/NT4.0
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.
230 lines
4.5 KiB
230 lines
4.5 KiB
/*++ BUILD Version: 0001 // Increment this if a change has global effects
|
|
|
|
Copyright (c) 1994, 1995 Microsoft Corporation.
|
|
All rights reserved.
|
|
|
|
MODULE NAME:
|
|
|
|
provider.c
|
|
|
|
ABSTRACT:
|
|
|
|
Provider APIs to support the Microsoft LSAPI-compliant license service
|
|
provider (MSLSP32.DLL).
|
|
|
|
CREATED:
|
|
|
|
1995-09-01 Jeff Parham (jeffparh)
|
|
|
|
REVISION HISTORY:
|
|
|
|
--*/
|
|
|
|
#ifndef LSAPI_PROVIDER_H
|
|
#define LSAPI_PROVIDER_H
|
|
|
|
#include <lsapi.h>
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// MACROS //
|
|
//////////////
|
|
|
|
#define LS_MAX_MESSAGE_LENGTH ( 512 )
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// PROTOYPES //
|
|
/////////////////
|
|
|
|
LS_STATUS_CODE
|
|
ProviderRequest( LS_STR * LicenseSystem,
|
|
LS_STR * PublisherName,
|
|
LS_STR * ProductName,
|
|
LS_STR * Version,
|
|
LS_ULONG TotUnitsReserved,
|
|
LS_STR * LogComment,
|
|
LS_CHALLENGE * Challenge,
|
|
LS_ULONG * TotUnitsGranted,
|
|
LS_HANDLE * ProviderHandle );
|
|
/*++
|
|
|
|
Routine Description:
|
|
See description for LSRequest().
|
|
|
|
--*/
|
|
|
|
LS_STATUS_CODE
|
|
ProviderRelease( LS_HANDLE ProviderHandle,
|
|
LS_ULONG TotUnitsConsumed,
|
|
LS_STR * LogComment );
|
|
/*++
|
|
|
|
Routine Description:
|
|
See description for LSRelease().
|
|
|
|
--*/
|
|
|
|
void ProviderFree( LS_HANDLE ProviderHandle );
|
|
/*++
|
|
|
|
Routine Description:
|
|
See description for LSFree().
|
|
|
|
--*/
|
|
|
|
LS_STATUS_CODE
|
|
ProviderUpdate( LS_HANDLE ProviderHandle,
|
|
LS_ULONG TotUnitsConsumed,
|
|
LS_ULONG TotUnitsReserved,
|
|
LS_STR * LogComment,
|
|
LS_CHALLENGE * Challenge,
|
|
LS_ULONG * TotUnitsGranted );
|
|
/*++
|
|
|
|
Routine Description:
|
|
See description for LSUpdate().
|
|
|
|
--*/
|
|
|
|
LS_STATUS_CODE
|
|
ProviderGetMessage( LS_HANDLE ProviderHandle,
|
|
LS_STATUS_CODE Value,
|
|
LS_STR * Buffer,
|
|
LS_ULONG BufferSize );
|
|
/*++
|
|
|
|
Routine Description:
|
|
See description of LSGetMessage().
|
|
|
|
--*/
|
|
|
|
LS_STATUS_CODE
|
|
ProviderQuery( LS_HANDLE ProviderHandle,
|
|
LS_ULONG Information,
|
|
LS_VOID * InfoBuffer,
|
|
LS_ULONG BufferSize,
|
|
LS_ULONG * ActualBufferSize );
|
|
/*++
|
|
|
|
Routine Description:
|
|
See description of LSQuery().
|
|
|
|
--*/
|
|
|
|
const LS_STR *
|
|
ProviderNameGet( LS_VOID );
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Retrieves the name of our provider.
|
|
|
|
Arguments:
|
|
|
|
None.
|
|
|
|
Return Value:
|
|
|
|
(const LS_STR *)
|
|
The name of pour provider.
|
|
|
|
--*/
|
|
|
|
LS_STATUS_CODE
|
|
ProviderLastErrorSet( LS_HANDLE ProviderHandle,
|
|
LS_STATUS_CODE lsscLastError );
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Associates the given "last error" with the specified provider handle.
|
|
This is intended to support the LS_USE_LAST functionality of
|
|
ProviderGetMessage().
|
|
|
|
Arguments:
|
|
|
|
ProviderHandle (LS_HANDLE)
|
|
Provider handle with which to associate the error.
|
|
lsscLastError (LS_STATUS_CODE)
|
|
Error to associate with the given handle.
|
|
|
|
Return Value:
|
|
|
|
(LS_STATUS_CODE)
|
|
LS_SUCCESS
|
|
Success.
|
|
other
|
|
Error return from RequestListGet(); e.g., LS_BAD_HANDLE.
|
|
|
|
--*/
|
|
|
|
LS_STATUS_CODE
|
|
ProviderLastErrorGet( LS_HANDLE ProviderHandle,
|
|
LS_STATUS_CODE * plsscLastError );
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Retrieves the "last error" associated with the given handle by the last
|
|
call to ProviderLastErrorSet(). This is intended to support the
|
|
LS_USE_LAST functionality of ProviderGetMessage().
|
|
|
|
Arguments:
|
|
|
|
ProviderHandle (LS_HANDLE)
|
|
Provider handle for which to retrieve the last error.
|
|
lsscLastError (LS_STATUS_CODE *)
|
|
On return, the last error associated with the given handle.
|
|
|
|
Return Value:
|
|
|
|
(LS_STATUS_CODE)
|
|
LS_SUCCESS
|
|
Success.
|
|
other
|
|
Error return from RequestListGet(); e.g., LS_BAD_HANDLE.
|
|
|
|
--*/
|
|
|
|
LS_VOID
|
|
ProviderModuleSet( HANDLE hDll );
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Records the handle of our DLL such that it may later be used to retrieve
|
|
embedded resources (e.g., message text).
|
|
|
|
Arguments:
|
|
|
|
hDll (HANDLE)
|
|
Handle to record.
|
|
|
|
Return Value:
|
|
|
|
None.
|
|
|
|
--*/
|
|
|
|
HANDLE
|
|
ProviderModuleGet( LS_VOID );
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Returns the handle of our DLL, as previosuly recorded with
|
|
ProviderModuleSet().
|
|
|
|
Arguments:
|
|
|
|
None.
|
|
|
|
Return Value:
|
|
|
|
hDll (HANDLE)
|
|
Handle of the DLL.
|
|
|
|
--*/
|
|
|
|
#endif // LSAPI_PROVIDER_H
|