?? wmf9.pas
字號:
// 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 + -