📄 rmadb.pas
字号:
unit RmaDb;
interface
uses
PnResult, PnTypes, RmaPckts;
(****************************************************************************
*
* $Id: rmadb.h,v 1.9 1999/01/29 18:32:11 hboone Exp $
*
* Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
*
* http://www.real.com/devzone
*
* This program contains proprietary
* information of Progressive Networks, Inc, and is licensed
* subject to restrictions on use and distribution.
*
*
* RealMedia Architecture Interface.
*
*)
(****************************************************************************
*
* Interface:
*
* IRMADatabaseManager
*
* Purpose:
*
* This is implemented by the database manager in order to provide
* access to the databases it manages.
*
* IRMADatabaseManager:
*
* {00002A00-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMADatabaseManager: TGUID = '{00002A00-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMADatabaseManager}
CLSID_CRMADatabaseManager: TGUID = '{00002A00-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM CLSID_CRMADatabaseManager}
type
IRMADatabaseManager = interface (IUnknown)
['{00002A00-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMADatabaseManager::GetInstanceFromID
* Purpose:
*
* Returns a database object configured as defined for the specifed
* DatabaseID in the server config file.
*
*)
function GetInstanceFromID(pBufferID: IRMABuffer; out pUnknownDatabase: IUnknown): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMADatabaseManager}
(****************************************************************************
*
* Interface:
*
* IRMAAuthenticationDBManagerResponse
*
* Purpose:
*
* A database user will implement this when it desires to manage
* storage for authentication data.
* This interface receives the results of IRMAAuthenticationDBManager
* methods
*
* IRMAAuthenticationDBManagerResponse:
*
* {00002A01-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAAuthenticationDBManagerResponse: TGUID = '{00002A01-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAAuthenticationDBManagerResponse}
type
IRMAAuthenticationDBManagerResponse = interface (IUnknown)
['{00002A01-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAAuthenticationDBManagerResponse::AddPrincipalDone
* Purpose:
*
* Reports the success or failure of
* IRMAAuthenticationDBManager::AddPrincipal
*
*)
function AddPrincipalDone(ResultStatus: PN_RESULT; pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAuthenticationDBManagerResponse::RemovePrincipalDone
* Purpose:
*
* Reports the success or failure of
* IRMAAuthenticationDBManager::RemovePrincipal
*
*)
function RemovePrincipalDone(ResultStatus: PN_RESULT; pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAuthenticationDBManagerResponse::SetCredentialsDone
* Purpose:
*
* Reports the success or failure of
* IRMAAuthenticationDBManager::SetCredentials
*
*)
function SetCredentialsDone(ResultStatus: PN_RESULT; pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAAuthenticationDBManagerResponse}
(****************************************************************************
*
* Interface:
*
* IRMAAuthenticationDBManager
*
* Purpose:
*
* A database plugin will implement this when it desires to provide
* storage for authentication data.
*
* IRMAAuthenticationDBManager:
*
* {00002A02-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAAuthenticationDBManager: TGUID = '{00002A02-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAAuthenticationDBManager}
type
IRMAAuthenticationDBManager = interface (IUnknown)
['{00002A02-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAAuthenticationDBManager::AddPrincipal
* Purpose:
*
* Adds the specified user to the database, if it is not already
* there.
*
*)
function AddPrincipal(pAuthenticationDBManagerResponseNew: IRMAAuthenticationDBManagerResponse;
pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAuthenticationDBManager::RemovePrincipal
* Purpose:
*
* Removes the specified user from the database, if it is there.
*
*
*)
function RemovePrincipal(pAuthenticationDBManagerResponseNew: IRMAAuthenticationDBManagerResponse;
pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAuthenticationDBManager::SetCredentials
* Purpose:
*
* Replaces the credentials for the specified user.
* Usually the credentials are a password.
* It is not the databases job to protect this data
* Authentication plugins will protect this data
* before storing it when neccesary.
*
*)
function SetCredentials(pAuthenticationDBManagerResponseNew: IRMAAuthenticationDBManagerResponse;
pBufferPrincipalID, pBufferCredentials: IRMABuffer): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAAuthenticationDBManager}
(****************************************************************************
*
* Interface:
*
* IRMAAsyncEnumAuthenticationDBResponse
*
* Purpose:
*
* A database user will implement this when it desires to
* enumerate authentication data.
* This interface receives the results of IRMAAsyncEnumAuthenticationDB
* methods
*
* IRMAAsyncEnumAuthenticationDBResponse:
*
* {00002A03-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAAsyncEnumAuthenticationDBResponse: TGUID = '{00002A03-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAAsyncEnumAuthenticationDBResponse}
type
IRMAAsyncEnumAuthenticationDBResponse = interface (IUnknown)
['{00002A03-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAAsyncEnumAuthenticationDBResponse::ResetDone
* Purpose:
*
* Reports the success or failure of
* IRMAAsyncEnumAuthenticationDB::Reset
*
*)
function ResetDone(ResultStatus: PN_RESULT): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAsyncEnumAuthenticationDBResponse::NextDone
* Purpose:
*
* Reports the success or failure of
* IRMAAsyncEnumAuthenticationDB::Next
* If successful the PrincipalID is valid.
*
*)
function NextDone(ResultStatus: PN_RESULT; pBufferNextPrincipalID: IRMABuffer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAsyncEnumAuthenticationDBResponse::SkipDone
* Purpose:
*
* Reports the success or failure of
* IRMAAsyncEnumAuthenticationDB::Skip
* If successful the PrincipalID is valid.
*
*)
function SkipDone(ResultStatus: PN_RESULT; pBufferNextPrincipalID: IRMABuffer): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAAsyncEnumAuthenticationDBResponse}
(****************************************************************************
*
* Interface:
*
* IRMAAsyncEnumAuthenticationDB
*
* Purpose:
*
* A database plugin will implement this when it desires to provide
* enumeration of authentication data.
*
* IRMAAsyncEnumAuthenticationDB:
*
* {00002A04-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAAsyncEnumAuthenticationDB: TGUID = '{00002A04-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAAsyncEnumAuthenticationDB}
type
IRMAAsyncEnumAuthenticationDB = interface (IUnknown)
['{00002A04-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAAsyncEnumAuthenticationDB::Reset
* Purpose:
*
* Call this to reset this enumerator to the beginning of the
* collection.
*
*)
function Reset(pAsyncEnumAuthenticationDBResponseNew: IRMAAsyncEnumAuthenticationDBResponse): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAsyncEnumAuthenticationDB::Next
* Purpose:
*
* Call this to retrieve the next item in the collection.
*
*)
function Next(pAsyncEnumAuthenticationDBResponseNew: IRMAAsyncEnumAuthenticationDBResponse): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAsyncEnumAuthenticationDB::Skip
* Purpose:
*
* Call this to skip the next n items in the collection and
* retrieve the n+1 item.
*
*)
function Skip(pAsyncEnumAuthenticationDBResponseNew: IRMAAsyncEnumAuthenticationDBResponse;
ulNumToSkip: UINT32): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAsyncEnumAuthenticationDB::Clone
* Purpose:
*
* Call this to make a new enumerator of this collection.
*
*)
function Clone(out pAsyncEnumAuthenticationDBNew: IRMAAsyncEnumAuthenticationDB): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAAsyncEnumAuthenticationDB}
(****************************************************************************
*
* Interface:
*
* IRMAAuthenticationDBAccessResponse
*
* Purpose:
*
* A database user will implement this when it desires to
* access authentication data.
* This interface receives the results of IRMAAuthenticationDBAccess
* methods
*
* IRMAAuthenticationDBAccessResponse:
*
* {00002A05-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAAuthenticationDBAccessResponse: TGUID = '{00002A05-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAAuthenticationDBAccessResponse}
type
IRMAAuthenticationDBAccessResponse = interface (IUnknown)
['{00002A05-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAAuthenticationDBAccessResponse::ExistenceCheckDone
* Purpose:
*
* Reports the success or failure of
* IRMAAuthenticationDBAccess::ExistenceCheck
*
*)
function ExistenceCheckDone(ResultStatus: PN_RESULT; pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAuthenticationDBAccessResponse::GetCredentialsDone
* Purpose:
*
* Reports the success or failure of
* IRMAAuthenticationDBAccess::GetCredentials
* If successful the Credentials var is valid.
*
*)
function GetCredentialsDone(ResultStatus: PN_RESULT; pBufferPrincipalID,
pBufferCredentials: IRMABuffer): HRESULT; stdcall;
end;
{$EXTERNALSYM IRMAAuthenticationDBAccessResponse}
(****************************************************************************
*
* Interface:
*
* IRMAAuthenticationDBAccess
*
* Purpose:
*
* A database plugin will implement this when it desires to provide
* access to authentication data.
*
* IRMAAuthenticationDBAccess:
*
* {00002A06-0901-11d1-8B06-00A024406D59}
*
*)
const
IID_IRMAAuthenticationDBAccess: TGUID = '{00002A06-0901-11d1-8B06-00A024406D59}';
{$EXTERNALSYM IID_IRMAAuthenticationDBAccess}
type
IRMAAuthenticationDBAccess = interface (IUnknown)
['{00002A06-0901-11d1-8B06-00A024406D59}']
(************************************************************************
* Method:
* IRMAAuthenticationDBAccess::_NewEnum
* Purpose:
*
* Call this to make a new enumerator of this collection.
*
*)
function _NewEnum(out pAsyncEnumAuthenticationDBNew: IRMAAsyncEnumAuthenticationDB): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAuthenticationDBAccess::CheckExistence
* Purpose:
*
* Call this to verify the existance of a principal.
*
*)
function CheckExistence(pAuthenticationDBAccessResponseNew: IRMAAuthenticationDBAccessResponse;
pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
(************************************************************************
* Method:
* IRMAAuthenticationDBAccess::GetCredentials
* Purpose:
*
* Call this to access the credentials for the specified principal.
*
*)
function GetCredentials(pAuthenticationDBAccessResponseNew: IRMAAuthenticationDBAccessResponse;
pBufferPrincipalID: IRMABuffer): HRESULT; stdcall;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -