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

📄 wmf9.pas

📁 絮语2007视频聊天软件源程序.仅供参考
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    // the Network Source plugin that would be used given the
    // provided stream name.
    //
    function GetNetSourceProperties(pszStreamName: PWideChar;
      out ppPropertiesNode: IUnknown): HRESULT; stdcall;

    //
    // Returns part of the Namespace that is used for values that are
    // shared among all Network Source plugins
    //
    function GetNetSourceSharedNamespace(out ppSharedNamespace: IUnknown): HRESULT; stdcall;

    function GetNetSourceAdminInterface(pszStreamName: PWideChar;
      out pVal: OLEVARIANT): HRESULT; stdcall;

    //
    // Iterate through the network protocols supported
    //
    function GetNumProtocolsSupported(out pcProtocols: LongWord): HRESULT; stdcall;

    function GetProtocolName(dwProtocolNum: LongWord; {out} pwszProtocolName: PWideChar;
      var pcchProtocolName: Word): HRESULT; stdcall;

    function Shutdown: HRESULT; stdcall;
  end;

//*@@@+++@@@@******************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//*@@@---@@@@******************************************************************
const
  IID_INSSBuffer           : TGUID = '{E1CD3524-03D7-11d2-9EED-006097D2D7CF}';
  {$EXTERNALSYM IID_INSSBuffer}
  IID_IWMSBuffer           : TGUID = '{E1CD3524-03D7-11d2-9EED-006097D2D7CF}';
  {$EXTERNALSYM IID_IWMSBuffer}
  IID_INSSBuffer2          : TGUID = '{4f528693-1035-43fe-b428-757561ad3a68}';
  {$EXTERNALSYM IID_INSSBuffer2}
  IID_INSSBuffer3          : TGUID = '{c87ceaaf-75be-4bc4-84eb-ac2798507672}';
  {$EXTERNALSYM IID_INSSBuffer3}
  IID_INSSBuffer4          : TGUID = '{b6b8fd5a-32e2-49d4-a910-c26cc85465ed}';
  {$EXTERNALSYM IID_INSSBuffer4}
  IID_IWMSBufferAllocator  : TGUID = '{61103CA4-2033-11d2-9EF1-006097D2D7CF}';
  {$EXTERNALSYM IID_IWMSBufferAllocator}

type
  {$HPPEMIT 'typedef System::DelphiInterface<INSSBuffer> _di_INSSBuffer;'}
  {$EXTERNALSYM INSSBuffer}
  INSSBuffer = interface(IUnknown)
  ['{E1CD3524-03D7-11d2-9EED-006097D2D7CF}']
  (*** INSSBuffer methods ***)
    function GetLength(out pdwLength: LongWord): HRESULT; stdcall;
    function SetLength(dwLength: LongWord): HRESULT; stdcall;
    function GetMaxLength(out pdwLength: LongWord): HRESULT; stdcall;
    function GetBuffer(out ppdwBuffer: PBYTE): HRESULT; stdcall;
    function GetBufferAndLength(out ppdwBuffer: PBYTE; out pdwLength: LongWord): HRESULT; stdcall;
  end;

  {$HPPEMIT 'typedef System::DelphiInterface<INSSBuffer2> _di_INSSBuffer2;'}
  {$EXTERNALSYM INSSBuffer2}
  INSSBuffer2 = interface(INSSBuffer)
  ['{4F528693-1035-43fe-B428-757561AD3A68}']
  (*** INSSBuffer2 methods ***)
    function GetSampleProperties(cbProperties: LongWord; {out} pbProperties: PBYTE): HRESULT; stdcall;
    function SetSampleProperties(cbProperties: LongWord; pbProperties: PBYTE): HRESULT; stdcall;
  end;

  {$HPPEMIT 'typedef System::DelphiInterface<INSSBuffer3> _di_INSSBuffer3;'}
  {$EXTERNALSYM INSSBuffer3}
  INSSBuffer3 = interface(INSSBuffer2)
  ['{C87CEAAF-75BE-4bc4-84EB-AC2798507672}']
  (*** INSSBuffer3 methods ***)
    function SetProperty(guidBufferProperty: TGUID; pvBufferProperty: Pointer;
      dwBufferPropertySize: LongWord): HRESULT; stdcall;
    function GetProperty(guidBufferProperty: TGUID; {out} pvBufferProperty: Pointer;
      var pdwBufferPropertySize: LongWord): HRESULT; stdcall;
  end;

  {$HPPEMIT 'typedef System::DelphiInterface<INSSBuffer4> _di_INSSBuffer4;'}
  {$EXTERNALSYM INSSBuffer4}
  INSSBuffer4 = interface(INSSBuffer3)
  ['{B6B8FD5A-32E2-49d4-A910-C26CC85465ED}']
  (*** INSSBuffer4 methods ***)
    function GetPropertyCount(out pcBufferProperties: LongWord): HRESULT; stdcall;
    function GetPropertyByIndex(dwBufferPropertyIndex: LongWord;
      out pguidBufferProperty: TGUID; pvBufferProperty: pointer;
      var pdwBufferPropertySize: LongWord): HRESULT; stdcall;
  end;

  {$HPPEMIT 'typedef System::DelphiInterface<IWMSBufferAllocator> _di_IWMSBufferAllocator;'}
  {$EXTERNALSYM IWMSBufferAllocator}
  IWMSBufferAllocator = interface(IUnknown)
  ['{61103CA4-2033-11d2-9EF1-006097D2D7CF}']
  (*** IWMSBufferAllocator methods ***)
    function AllocateBuffer(dwMaxBufferSize: LongWord; out ppBuffer: INSSBuffer): HRESULT; stdcall;
    function AllocatePageSizeBuffer(dwMaxBufferSize: LongWord; out ppBuffer: INSSBuffer): HRESULT; stdcall;
  end;

//*@@@+++@@@@******************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//*@@@---@@@@******************************************************************
//

// The following is a partial list of DRM actions that are of interest to applications
const
  g_wszWMDRM_RIGHT_PLAYBACK                    = WideString('Play');
  {$EXTERNALSYM g_wszWMDRM_RIGHT_PLAYBACK}
  g_wszWMDRM_RIGHT_COPY_TO_CD                  = WideString('Print.redbook');
  {$EXTERNALSYM g_wszWMDRM_RIGHT_COPY_TO_CD}
  g_wszWMDRM_RIGHT_COPY_TO_SDMI_DEVICE         = WideString('Transfer.SDMI');
  {$EXTERNALSYM g_wszWMDRM_RIGHT_COPY_TO_SDMI_DEVICE}
  g_wszWMDRM_RIGHT_COPY_TO_NON_SDMI_DEVICE     = WideString('Transfer.NONSDMI');
  {$EXTERNALSYM g_wszWMDRM_RIGHT_COPY_TO_NON_SDMI_DEVICE}
  g_wszWMDRM_RIGHT_BACKUP                      = WideString('Backup');
  {$EXTERNALSYM g_wszWMDRM_RIGHT_BACKUP}

  g_wszWMDRM_IsDRM                             = WideString('IsDRM');
  {$EXTERNALSYM g_wszWMDRM_IsDRM}
  g_wszWMDRM_IsDRMCached                       = WideString('IsDRMCached');
  {$EXTERNALSYM g_wszWMDRM_IsDRMCached}
  g_wszWMDRM_BaseLicenseAcqURL                 = WideString('BaseLAURL');
  {$EXTERNALSYM g_wszWMDRM_BaseLicenseAcqURL}
  g_wszWMDRM_Rights                            = WideString('Rights');
  {$EXTERNALSYM g_wszWMDRM_Rights}
  g_wszWMDRM_LicenseID                         = WideString('LID');
  {$EXTERNALSYM g_wszWMDRM_LicenseID}

  g_wszWMDRM_ActionAllowed                     = WideString('ActionAllowed.');
  {$EXTERNALSYM g_wszWMDRM_ActionAllowed}
  g_wszWMDRM_ActionAllowed_Playback            = WideString('ActionAllowed.Play');
  {$EXTERNALSYM g_wszWMDRM_ActionAllowed_Playback}
  g_wszWMDRM_ActionAllowed_CopyToCD            = WideString('ActionAllowed.Print.redbook');
  {$EXTERNALSYM g_wszWMDRM_ActionAllowed_CopyToCD}
  g_wszWMDRM_ActionAllowed_CopyToSDMIDevice    = WideString('ActionAllowed.Transfer.SDMI');
  {$EXTERNALSYM g_wszWMDRM_ActionAllowed_CopyToSDMIDevice}
  g_wszWMDRM_ActionAllowed_CopyToNonSDMIDevice = WideString('ActionAllowed.Transfer.NONSDMI');
  {$EXTERNALSYM g_wszWMDRM_ActionAllowed_CopyToNonSDMIDevice}
  g_wszWMDRM_ActionAllowed_Backup              = WideString('ActionAllowed.Backup');
  {$EXTERNALSYM g_wszWMDRM_ActionAllowed_Backup}

  g_wszWMDRM_LicenseState                      = WideString('LicenseStateData.');
  {$EXTERNALSYM g_wszWMDRM_LicenseState}
  g_wszWMDRM_LicenseState_Playback             = WideString('LicenseStateData.Play');
  {$EXTERNALSYM g_wszWMDRM_LicenseState_Playback}
  g_wszWMDRM_LicenseState_CopyToCD             = WideString('LicenseStateData.Print.redbook');
  {$EXTERNALSYM g_wszWMDRM_LicenseState_CopyToCD}
  g_wszWMDRM_LicenseState_CopyToSDMIDevice     = WideString('LicenseStateData.Transfer.SDMI');
  {$EXTERNALSYM g_wszWMDRM_LicenseState_CopyToSDMIDevice}
  g_wszWMDRM_LicenseState_CopyToNonSDMIDevice  = WideString('LicenseStateData.Transfer.NONSDMI');
  {$EXTERNALSYM g_wszWMDRM_LicenseState_CopyToNonSDMIDevice}

  g_wszWMDRM_DRMHeader                         = WideString('DRMHeader.');
  {$EXTERNALSYM g_wszWMDRM_DRMHeader}
  g_wszWMDRM_DRMHeader_KeyID                   = WideString('DRMHeader.KID');
  {$EXTERNALSYM g_wszWMDRM_DRMHeader_KeyID}
  g_wszWMDRM_DRMHeader_LicenseAcqURL           = WideString('DRMHeader.LAINFO');
  {$EXTERNALSYM g_wszWMDRM_DRMHeader_LicenseAcqURL}
  g_wszWMDRM_DRMHeader_ContentID               = WideString('DRMHeader.CID');
  {$EXTERNALSYM g_wszWMDRM_DRMHeader_ContentID}
  g_wszWMDRM_DRMHeader_IndividualizedVersion   = WideString('DRMHeader.SECURITYVERSION');
  {$EXTERNALSYM g_wszWMDRM_DRMHeader_IndividualizedVersion}
  g_wszWMDRM_DRMHeader_ContentDistributor      = WideString('DRMHeader.ContentDistributor');
  {$EXTERNALSYM g_wszWMDRM_DRMHeader_ContentDistributor}
  g_wszWMDRM_DRMHeader_SubscriptionContentID   = WideString('DRMHeader.SubscriptionContentID');
  {$EXTERNALSYM g_wszWMDRM_DRMHeader_SubscriptionContentID}


// This enum indicates the category for each possible output string to be displayed.
// 0 -  Playback not permitted.
// 1 -  Playback unlimited.
// 2 -  Playback valid 5 times.
// 3 -  Playback valid from 7/12/00.
// 4 -  Playback valid until 7/12/00.
// 5 -  Playback valid from 5/12 to 9/12.
// 6 -  Playback valid 5 times from 7/12/00.
// 7 -  Playback valid 5 times until 7/12/00.
// 8 -  Playback valid 5 times from 5/12 to 9/12.
// 9 -  Playback valid for 24 hours from first use.
type
  DRM_LICENSE_STATE_CATEGORY = (
    WM_DRM_LICENSE_STATE_NORIGHT,
    WM_DRM_LICENSE_STATE_UNLIM,
    WM_DRM_LICENSE_STATE_COUNT,
    WM_DRM_LICENSE_STATE_FROM,
    WM_DRM_LICENSE_STATE_UNTIL,
    WM_DRM_LICENSE_STATE_FROM_UNTIL,
    WM_DRM_LICENSE_STATE_COUNT_FROM,
    WM_DRM_LICENSE_STATE_COUNT_UNTIL,
    WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL,
    WM_DRM_LICENSE_STATE_EXPIRATION_AFTER_FIRSTUSE
  );
  {$EXTERNALSYM DRM_LICENSE_STATE_CATEGORY}
  TDRMLicenseStateCategory = DRM_LICENSE_STATE_CATEGORY;

  PDRMLicenseStateData = ^TDRMLicenseStateData;
  _DRM_LICENSE_STATE_DATA = packed record
    dwStreamId  : LongWord;                   // 0 -> All streams, != 0 -> A particular stream.
    dwCategory  : TDRMLicenseStateCategory;   // Indicates the category of string to be displayed.
    dwNumCounts : LongWord;                   // Number of items supplied in dwCount.
    dwCount     : array[0..3] of LongWord;    // Up to 4 counts.
    dwNumDates  : LongWord;                   // Number of items supplied in dwDate.
    datetime    : array [0..3] of FILETIME;   // Up to 4 dates.
    dwVague     : LongWord;                   // 0 -> certain, 1 -> atleast.  (There could be more
                                              //               licenses. Aggregation not possible.)
  end;
  {$EXTERNALSYM _DRM_LICENSE_STATE_DATA}
  DRM_LICENSE_STATE_DATA = _DRM_LICENSE_STATE_DATA;
  {$EXTERNALSYM DRM_LICENSE_STATE_DATA}
  TDRMLicenseStateData = _DRM_LICENSE_STATE_DATA;

  DRM_HTTP_STATUS = (
    HTTP_NOTINITIATED,
    HTTP_CONNECTING,
    HTTP_REQUESTING,
    HTTP_RECEIVING,
    HTTP_COMPLETED
  );
  {$EXTERNALSYM DRM_HTTP_STATUS}
  TDRMHTTPStatus = DRM_HTTP_STATUS;

  //  The various states individualization can be in:
{$IFNDEF COMPILER6_UP}
  DRM_INDIVIDUALIZATION_STATUS = {$IFDEF TYPE_IDENTITY}type {$ENDIF} LongWord;
  const
    INDI_UNDEFINED = $00;
    {$EXTERNALSYM INDI_UNDEFINED}
    INDI_BEGIN     = $01;
    {$EXTERNALSYM INDI_BEGIN}
    INDI_SUCCEED   = $02;
    {$EXTERNALSYM INDI_SUCCEED}
    INDI_FAIL      = $04;
    {$EXTERNALSYM INDI_FAIL}
    INDI_CANCEL    = $08;
    {$EXTERNALSYM INDI_CANCEL}
    INDI_DOWNLOAD  = $10;
    {$EXTERNALSYM INDI_DOWNLOAD}
    INDI_INSTALL   = $20;
    {$EXTERNALSYM INDI_INSTALL}
{$ELSE}
type
  DRM_INDIVIDUALIZATION_STATUS = (
    INDI_UNDEFINED = $00,
    INDI_BEGIN     = $01,
    INDI_SUCCEED   = $02,
    INDI_FAIL      = $04,
    INDI_CANCEL    = $08,
    INDI_DOWNLOAD  = $10,
    INDI_INSTALL   = $20
  );
{$ENDIF}
type
  {$EXTERNALSYM DRM_INDIVIDUALIZATION_STATUS}
  TDRMIndividualizationStatus = DRM_INDIVIDUALIZATION_STATUS;

type
  PWMIndividualizeStatus = ^TWMIndividualizeStatus;
  _WMIndividualizeStatus = packed record
    hr                 : HRESULT;
    enIndiStatus       : TDRMIndividualizationStatus;
    pszIndiRespUrl     : PChar;
    dwHTTPRequest      : LongWord;
    enHTTPStatus       : TDRMHTTPStatus;
    dwHTTPReadProgress : LongWord;
    dwHTTPReadTotal    : LongWord;
  end;
  {$EXTERNALSYM _WMIndividualizeStatus}
  WM_INDIVIDUALIZE_STATUS = _WMIndividualizeStatus;
  {$EXTERNALSYM WM_INDIVIDUALIZE_STATUS}
  TWMIndividualizeStatus = _WMIndividualizeStatus;

  PWMGetLicenseData = ^TWMGetLicenseData;
  _WMGetLicenseData = packed record
    dwSize           : LongWord;
    hr               : HRESULT;
    wszURL           : PWideChar;
    wszLocalFilename : PWideChar;
    pbPostData       : PBYTE;
    dwPostDataSize   : LongWord;
  end;
  {$EXTERNALSYM _WMGetLicenseData}
  WM_GET_LICENSE_DATA = _WMGetLicenseData;
  {$EXTERNALSYM WM_GET_LICENSE_DATA}
  TWMGetLicenseData = _WMGetLicenseData;


//*****************************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// FileName:            WMSInternalAdminNetSource.idl
//
// Abstract:
//

⌨️ 快捷键说明

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