⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmafiles.pas

📁 Delphi源码REAlRMSDK.rar
💻 PAS
📖 第 1 页 / 共 3 页
字号:
(****************************************************************************
 *
 *  Interface:
 *
 *	IRMARequest
 *
 *  Purpose:
 *
 *      Object to manage the RFC822 headers sent by the client
 *
 *  IID_IRMARequest:
 *
 *	{00000213-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMARequest: TGUID = '{00000213-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMARequest}

  CLSID_IRMARequest: TGUID = '{00000213-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMARequest}

type
  IRMARequest = interface (IUnknown)
  ['{00000213-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
     *	Method:
     *	    IRMARequest::SetRequestHeaders
     *	Purpose:
     *	    Sets the headers that will be sent in the RFC822 header section
     *      of the request message
     *)

    function SetRequestHeaders(pRequestHeaders: IRMAValues): HRESULT; stdcall;

    (************************************************************************
     *	Method:
     *	    IRMARequest::GetRequestHeaders
     *	Purpose:
     *	    Gets the headers that were sent in the RFC822 header section
     *	    of the request message
     *)

    function GetRequestHeaders(out pRequestHeaders: IRMAValues): HRESULT; stdcall;

    (************************************************************************
     *	Method:
     *	    IRMARequest::SetResponseHeaders
     *	Purpose:
     *	    Sets the headers that will be returned in the RFC822 header
     *	    section of the response message
     *)

    function SetResponseHeaders(pResponseHeaders: IRMAValues): HRESULT; stdcall;

    (************************************************************************
     *	Method:
     *	    IRMARequest::GetResponseHeaders
     *	Purpose:
     *	    Gets the headers that were returned in the RFC822 header section
     *	    of the response message
     *)

    function GetResponseHeaders(out pResponseHeaders: IRMAValues): HRESULT; stdcall;

    (************************************************************************
     *	Method:
     *	    IRMARequest::SetURL
     *	Purpose:
     *	    Sets the fully qualified path associated with a file object.
     *	    Note: On the server, this path does not include the file system
     *	    	mount point.
     *)

    function SetURL(pURL: PChar): HRESULT; stdcall;

    (************************************************************************
     *	Method:
     *	    IRMARequest::GetURL
     *	Purpose:
     *	    Returns the fully qualified path associated with a file object.
     *	    Note: On the server, this path does not include the file system
     *	    	mount point.
     *
     *	    Note: The returned pointer's lifetime expires as soon as the
     *	    caller returns from a function which was called from the RMA
     *	    core (i.e. when you return control to the RMA core)
     *)

    function GetURL(var pURL: PChar): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMARequest}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMAFileSystemManager
 *
 *  Purpose:
 *
 *      Gives out File Objects based on URLs
 *
 *  IID_IRMAFileSystemManager:
 *
 *	{00000207-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAFileSystemManager: TGUID = '{00000207-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAFileSystemManager}

  CLSID_IRMAFileSystemManager: TGUID = '{00000207-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMAFileSystemManager}

type
  IRMAFileSystemManager = interface (IUnknown)
  ['{00000207-0901-11d1-8B06-00A024406D59}']

    function Init(pFileManagerResponse: IRMAFileSystemManagerResponse): HRESULT; stdcall;

    (* GetFileObject attempts to locate an existing file via the DoesExist
     * method in each file system's objects, and returns that object through
     * FSManagerResponse->FileObjectReady
     *)
    function GetFileObject(pRequest: IRMARequest; pAuthenticator: IRMAAuthenticator): HRESULT; stdcall;

    (* GetNewFileObject is similar to GetFileObject except that no DoesExist
     * checks are done.  The first file system that matches the mount point
     * or protocol for the path in the request object creates the file
     * which is then returned through FileObjectReady.  This is especially
     * useful for those who wish to open a brand new file for writing.
     *)

    function GetNewFileObject(pRequest: IRMARequest; pAuthenticator: IRMAAuthenticator): HRESULT; stdcall;

    function GetRelativeFileObject(pOriginalObject: IUnknown; pPath: PChar): HRESULT; stdcall;

    (*
     * The following method is deprecated and should return PNR_NOTIMPL
     *)

    function GetDirObjectFromURL(pURL: PChar): HRESULT; stdcall;
    
  end;
  {$EXTERNALSYM IRMAFileSystemManager}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMAFileExistsResponse
 *
 *  Purpose:
 *
 *	Response interface for IRMAFileExists.  Must be implemented.
 *
 *  IID_IRMAFileExistsResponse:
 *
 *	{0000020A-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAFileExistsResponse: TGUID = '{0000020A-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAFileExistsResponse}

type
  IRMAFileExistsResponse = interface (IUnknown)
  ['{0000020A-0901-11d1-8B06-00A024406D59}']

    function DoesExistDone(bExist: BOOL): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAFileExistsResponse}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMAFileExists
 *
 *  Purpose:
 *
 *	Checks for the existense of a file.  Must be implemented.
 *
 *  IID_IRMAFileExists:
 *
 *	{00000209-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAFileExists: TGUID = '{00000209-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAFileExists}

type
  IRMAFileExists = interface (IUnknown)
  ['{00000209-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
     *	Method:
     *	    IRMAFileExists::DoesExist
     *	Purpose:
     *)

    function DoesExist(pPath: PChar; pFileResponse: IRMAFileExistsResponse): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAFileExists}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMAFileMimeMapperResponse
 *
 *  Purpose:
 *
 *	Response interface for IRMAFileMimeMapper.
 *	Optional interface.
 *
 *  IID_IRMAFileMimeMapperResponse:
 *
 *	{0000020C-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAFileMimeMapperResponse: TGUID = '{0000020C-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAFileMimeMapperResponse}

type
  IRMAFileMimeMapperResponse = interface (IUnknown)
  ['{0000020C-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
     *	Method:
     *	    IRMAFileMimeMapperResponse::MimeTypeFound
     *	Purpose:
     *	    Notification interface provided by users of the IRMAFileMimeMapper
     *	    interface. This method is called by the IRMAFileObject when the
     *	    initialization of the file is complete, and the Mime type is
     *	    available for the request file. If the file is not valid for the
     *	    file system, the status PNR_FAILED should be returned,
     *	    with a mime type of NULL. If the file is valid but the mime type
     *	    is unknown, then the status PNR_OK should be returned with
     *	    a mime type of NULL.
     *
     *)

    function MimeTypeFound(status: PN_RESULT; pMimeType: PChar): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAFileMimeMapperResponse}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMAFileMimeMapper
 *
 *  Purpose:
 *
 *	Allows you to specify a mime type for a specific file.
 *	Optional interface.
 *
 *  IID_IRMAFileMimeMapper:
 *
 *	{0000020B-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAFileMimeMapper: TGUID = '{0000020B-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAFileMimeMapper}

type
  IRMAFileMimeMapper = interface (IUnknown)
  ['{0000020B-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
     *	Method:
     *	    IRMAFileMimeMapper::FindMimeType
     *	Purpose:
     *)

    function FindMimeType(pURL: PChar; pMimeMapperResponse: IRMAFileMimeMapperResponse): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMAFileMimeMapper}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMABroadcastMapperResponse
 *
 *  Purpose:
 *
 *	Response interface for IRMABroadcastMapper.
 *	Implementation only required by broadcast plugin file systems.
 *
 *  IID_IRMABroadcastMapperResponse:
 *
 *	{0000020E-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMABroadcastMapperResponse: TGUID = '{0000020E-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMABroadcastMapperResponse}

type
  IRMABroadcastMapperResponse = interface (IUnknown)
  ['{0000020E-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
     *	Method:
     *	    IRMABroadcastMapperResponse::BroadcastTypeFound
     *	Purpose:
     *	    Notification interface provided by users of the IRMABroadcastMapper
     *	    interface. This method is called by the File Object when the
     *	    initialization of the file is complete, and the broadcast type is
     *	    available for the request file. If the file is not valid for the
     *	    file system, the status PNR_FAILED should be returned,
     *	    with the broadcast type set to NULL.
     *
     *)

    function BroadcastTypeFound(status: PN_RESULT; pBroadcastType: PChar): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMABroadcastMapperResponse}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMABroadcastMapper
 *
 *  Purpose:
 *
 *	Associates a file with a broadcast format plugin.
 *	Implementation only required by broadcast plugin file systems.
 *
 *  IID_IRMABroadcastMapper:
 *
 *	{0000020D-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMABroadcastMapper: TGUID = '{0000020D-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMABroadcastMapper}

type
  IRMABroadcastMapper = interface (IUnknown)
  ['{0000020D-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
     *	Method:
     *	    IRMABroadcastMapper::FindBroadcastType
     *	Purpose:
     *)

    function FindBroadcastType(pURL: PChar; pBroadcastMapperResponse: IRMABroadcastMapperResponse): HRESULT; stdcall;

  end;
  {$EXTERNALSYM IRMABroadcastMapper}

(****************************************************************************
 *
 *  Interface:
 *
 *	IRMAGetFileFromSamePoolResponse
 *
 *  Purpose:
 *
 *      Gives out File Objects based on filenames and relative "paths"
 *
 *  IID_IRMAGetFileFromSamePoolResponse:
 *
 *	{00000210-0901-11d1-8B06-00A024406D59}
 *
 *)

const
  IID_IRMAGetFileFromSamePoolResponse: TGUID = '{00000210-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM IID_IRMAGetFileFromSamePoolResponse}

  CLSID_IRMAGetFileFromSamePoolResponse: TGUID = '{00000210-0901-11d1-8B06-00A024406D59}';
  {$EXTERNALSYM CLSID_IRMAGetFileFromSamePoolResponse}

type
  IRMAGetFileFromSamePoolResponse = interface (IUnknown)
  ['{00000210-0901-11d1-8B06-00A024406D59}']

    (************************************************************************
     *	Method:
     *	    IRMAGetFileFromSamePoolResponse::FileObjectReady
     *	Purpose:
     *      To return another FileObject from the same pool.
     *)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -