9914 lines
346 KiB
C++
9914 lines
346 KiB
C++
|
|
|
|
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
|
|
|
|
|
/* File created by MIDL compiler version 7.00.0498 */
|
|
/* Compiler settings for mswmdm.idl:
|
|
Oicf, W1, Zp8, env=Win32 (32b run)
|
|
protocol : dce , ms_ext, c_ext, robust
|
|
error checks: allocation ref bounds_check enum stub_data
|
|
VC __declspec() decoration level:
|
|
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
|
|
DECLSPEC_UUID(), MIDL_INTERFACE()
|
|
*/
|
|
//@@MIDL_FILE_HEADING( )
|
|
|
|
#pragma warning( disable: 4049 ) /* more than 64k source lines */
|
|
|
|
|
|
/* verify that the <rpcndr.h> version is high enough to compile this file*/
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
#endif
|
|
|
|
/* verify that the <rpcsal.h> version is high enough to compile this file*/
|
|
#ifndef __REQUIRED_RPCSAL_H_VERSION__
|
|
#define __REQUIRED_RPCSAL_H_VERSION__ 100
|
|
#endif
|
|
|
|
#include "rpc.h"
|
|
#include "rpcndr.h"
|
|
|
|
#ifndef __RPCNDR_H_VERSION__
|
|
#error this stub requires an updated version of <rpcndr.h>
|
|
#endif // __RPCNDR_H_VERSION__
|
|
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include "windows.h"
|
|
#include "ole2.h"
|
|
#endif /*COM_NO_WINDOWS_H*/
|
|
|
|
#ifndef __mswmdm_h__
|
|
#define __mswmdm_h__
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
#pragma once
|
|
#endif
|
|
|
|
/* Forward Declarations */
|
|
|
|
#ifndef __IWMDMMetaData_FWD_DEFINED__
|
|
#define __IWMDMMetaData_FWD_DEFINED__
|
|
typedef interface IWMDMMetaData IWMDMMetaData;
|
|
#endif /* __IWMDMMetaData_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDeviceManager_FWD_DEFINED__
|
|
#define __IWMDeviceManager_FWD_DEFINED__
|
|
typedef interface IWMDeviceManager IWMDeviceManager;
|
|
#endif /* __IWMDeviceManager_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDeviceManager2_FWD_DEFINED__
|
|
#define __IWMDeviceManager2_FWD_DEFINED__
|
|
typedef interface IWMDeviceManager2 IWMDeviceManager2;
|
|
#endif /* __IWMDeviceManager2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDeviceManager3_FWD_DEFINED__
|
|
#define __IWMDeviceManager3_FWD_DEFINED__
|
|
typedef interface IWMDeviceManager3 IWMDeviceManager3;
|
|
#endif /* __IWMDeviceManager3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageGlobals_FWD_DEFINED__
|
|
#define __IWMDMStorageGlobals_FWD_DEFINED__
|
|
typedef interface IWMDMStorageGlobals IWMDMStorageGlobals;
|
|
#endif /* __IWMDMStorageGlobals_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage_FWD_DEFINED__
|
|
#define __IWMDMStorage_FWD_DEFINED__
|
|
typedef interface IWMDMStorage IWMDMStorage;
|
|
#endif /* __IWMDMStorage_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage2_FWD_DEFINED__
|
|
#define __IWMDMStorage2_FWD_DEFINED__
|
|
typedef interface IWMDMStorage2 IWMDMStorage2;
|
|
#endif /* __IWMDMStorage2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage3_FWD_DEFINED__
|
|
#define __IWMDMStorage3_FWD_DEFINED__
|
|
typedef interface IWMDMStorage3 IWMDMStorage3;
|
|
#endif /* __IWMDMStorage3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage4_FWD_DEFINED__
|
|
#define __IWMDMStorage4_FWD_DEFINED__
|
|
typedef interface IWMDMStorage4 IWMDMStorage4;
|
|
#endif /* __IWMDMStorage4_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMOperation_FWD_DEFINED__
|
|
#define __IWMDMOperation_FWD_DEFINED__
|
|
typedef interface IWMDMOperation IWMDMOperation;
|
|
#endif /* __IWMDMOperation_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMOperation2_FWD_DEFINED__
|
|
#define __IWMDMOperation2_FWD_DEFINED__
|
|
typedef interface IWMDMOperation2 IWMDMOperation2;
|
|
#endif /* __IWMDMOperation2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMOperation3_FWD_DEFINED__
|
|
#define __IWMDMOperation3_FWD_DEFINED__
|
|
typedef interface IWMDMOperation3 IWMDMOperation3;
|
|
#endif /* __IWMDMOperation3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMProgress_FWD_DEFINED__
|
|
#define __IWMDMProgress_FWD_DEFINED__
|
|
typedef interface IWMDMProgress IWMDMProgress;
|
|
#endif /* __IWMDMProgress_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMProgress2_FWD_DEFINED__
|
|
#define __IWMDMProgress2_FWD_DEFINED__
|
|
typedef interface IWMDMProgress2 IWMDMProgress2;
|
|
#endif /* __IWMDMProgress2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMProgress3_FWD_DEFINED__
|
|
#define __IWMDMProgress3_FWD_DEFINED__
|
|
typedef interface IWMDMProgress3 IWMDMProgress3;
|
|
#endif /* __IWMDMProgress3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDevice_FWD_DEFINED__
|
|
#define __IWMDMDevice_FWD_DEFINED__
|
|
typedef interface IWMDMDevice IWMDMDevice;
|
|
#endif /* __IWMDMDevice_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDevice2_FWD_DEFINED__
|
|
#define __IWMDMDevice2_FWD_DEFINED__
|
|
typedef interface IWMDMDevice2 IWMDMDevice2;
|
|
#endif /* __IWMDMDevice2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDevice3_FWD_DEFINED__
|
|
#define __IWMDMDevice3_FWD_DEFINED__
|
|
typedef interface IWMDMDevice3 IWMDMDevice3;
|
|
#endif /* __IWMDMDevice3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDeviceSession_FWD_DEFINED__
|
|
#define __IWMDMDeviceSession_FWD_DEFINED__
|
|
typedef interface IWMDMDeviceSession IWMDMDeviceSession;
|
|
#endif /* __IWMDMDeviceSession_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMEnumDevice_FWD_DEFINED__
|
|
#define __IWMDMEnumDevice_FWD_DEFINED__
|
|
typedef interface IWMDMEnumDevice IWMDMEnumDevice;
|
|
#endif /* __IWMDMEnumDevice_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDeviceControl_FWD_DEFINED__
|
|
#define __IWMDMDeviceControl_FWD_DEFINED__
|
|
typedef interface IWMDMDeviceControl IWMDMDeviceControl;
|
|
#endif /* __IWMDMDeviceControl_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMEnumStorage_FWD_DEFINED__
|
|
#define __IWMDMEnumStorage_FWD_DEFINED__
|
|
typedef interface IWMDMEnumStorage IWMDMEnumStorage;
|
|
#endif /* __IWMDMEnumStorage_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageControl_FWD_DEFINED__
|
|
#define __IWMDMStorageControl_FWD_DEFINED__
|
|
typedef interface IWMDMStorageControl IWMDMStorageControl;
|
|
#endif /* __IWMDMStorageControl_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageControl2_FWD_DEFINED__
|
|
#define __IWMDMStorageControl2_FWD_DEFINED__
|
|
typedef interface IWMDMStorageControl2 IWMDMStorageControl2;
|
|
#endif /* __IWMDMStorageControl2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageControl3_FWD_DEFINED__
|
|
#define __IWMDMStorageControl3_FWD_DEFINED__
|
|
typedef interface IWMDMStorageControl3 IWMDMStorageControl3;
|
|
#endif /* __IWMDMStorageControl3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMObjectInfo_FWD_DEFINED__
|
|
#define __IWMDMObjectInfo_FWD_DEFINED__
|
|
typedef interface IWMDMObjectInfo IWMDMObjectInfo;
|
|
#endif /* __IWMDMObjectInfo_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMRevoked_FWD_DEFINED__
|
|
#define __IWMDMRevoked_FWD_DEFINED__
|
|
typedef interface IWMDMRevoked IWMDMRevoked;
|
|
#endif /* __IWMDMRevoked_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMNotification_FWD_DEFINED__
|
|
#define __IWMDMNotification_FWD_DEFINED__
|
|
typedef interface IWMDMNotification IWMDMNotification;
|
|
#endif /* __IWMDMNotification_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDServiceProvider_FWD_DEFINED__
|
|
#define __IMDServiceProvider_FWD_DEFINED__
|
|
typedef interface IMDServiceProvider IMDServiceProvider;
|
|
#endif /* __IMDServiceProvider_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDServiceProvider2_FWD_DEFINED__
|
|
#define __IMDServiceProvider2_FWD_DEFINED__
|
|
typedef interface IMDServiceProvider2 IMDServiceProvider2;
|
|
#endif /* __IMDServiceProvider2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDServiceProvider3_FWD_DEFINED__
|
|
#define __IMDServiceProvider3_FWD_DEFINED__
|
|
typedef interface IMDServiceProvider3 IMDServiceProvider3;
|
|
#endif /* __IMDServiceProvider3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPEnumDevice_FWD_DEFINED__
|
|
#define __IMDSPEnumDevice_FWD_DEFINED__
|
|
typedef interface IMDSPEnumDevice IMDSPEnumDevice;
|
|
#endif /* __IMDSPEnumDevice_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDevice_FWD_DEFINED__
|
|
#define __IMDSPDevice_FWD_DEFINED__
|
|
typedef interface IMDSPDevice IMDSPDevice;
|
|
#endif /* __IMDSPDevice_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDevice2_FWD_DEFINED__
|
|
#define __IMDSPDevice2_FWD_DEFINED__
|
|
typedef interface IMDSPDevice2 IMDSPDevice2;
|
|
#endif /* __IMDSPDevice2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDevice3_FWD_DEFINED__
|
|
#define __IMDSPDevice3_FWD_DEFINED__
|
|
typedef interface IMDSPDevice3 IMDSPDevice3;
|
|
#endif /* __IMDSPDevice3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDeviceControl_FWD_DEFINED__
|
|
#define __IMDSPDeviceControl_FWD_DEFINED__
|
|
typedef interface IMDSPDeviceControl IMDSPDeviceControl;
|
|
#endif /* __IMDSPDeviceControl_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPEnumStorage_FWD_DEFINED__
|
|
#define __IMDSPEnumStorage_FWD_DEFINED__
|
|
typedef interface IMDSPEnumStorage IMDSPEnumStorage;
|
|
#endif /* __IMDSPEnumStorage_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage_FWD_DEFINED__
|
|
#define __IMDSPStorage_FWD_DEFINED__
|
|
typedef interface IMDSPStorage IMDSPStorage;
|
|
#endif /* __IMDSPStorage_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage2_FWD_DEFINED__
|
|
#define __IMDSPStorage2_FWD_DEFINED__
|
|
typedef interface IMDSPStorage2 IMDSPStorage2;
|
|
#endif /* __IMDSPStorage2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage3_FWD_DEFINED__
|
|
#define __IMDSPStorage3_FWD_DEFINED__
|
|
typedef interface IMDSPStorage3 IMDSPStorage3;
|
|
#endif /* __IMDSPStorage3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage4_FWD_DEFINED__
|
|
#define __IMDSPStorage4_FWD_DEFINED__
|
|
typedef interface IMDSPStorage4 IMDSPStorage4;
|
|
#endif /* __IMDSPStorage4_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorageGlobals_FWD_DEFINED__
|
|
#define __IMDSPStorageGlobals_FWD_DEFINED__
|
|
typedef interface IMDSPStorageGlobals IMDSPStorageGlobals;
|
|
#endif /* __IMDSPStorageGlobals_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPObjectInfo_FWD_DEFINED__
|
|
#define __IMDSPObjectInfo_FWD_DEFINED__
|
|
typedef interface IMDSPObjectInfo IMDSPObjectInfo;
|
|
#endif /* __IMDSPObjectInfo_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPObject_FWD_DEFINED__
|
|
#define __IMDSPObject_FWD_DEFINED__
|
|
typedef interface IMDSPObject IMDSPObject;
|
|
#endif /* __IMDSPObject_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPObject2_FWD_DEFINED__
|
|
#define __IMDSPObject2_FWD_DEFINED__
|
|
typedef interface IMDSPObject2 IMDSPObject2;
|
|
#endif /* __IMDSPObject2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDirectTransfer_FWD_DEFINED__
|
|
#define __IMDSPDirectTransfer_FWD_DEFINED__
|
|
typedef interface IMDSPDirectTransfer IMDSPDirectTransfer;
|
|
#endif /* __IMDSPDirectTransfer_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPRevoked_FWD_DEFINED__
|
|
#define __IMDSPRevoked_FWD_DEFINED__
|
|
typedef interface IMDSPRevoked IMDSPRevoked;
|
|
#endif /* __IMDSPRevoked_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureAuthenticate_FWD_DEFINED__
|
|
#define __ISCPSecureAuthenticate_FWD_DEFINED__
|
|
typedef interface ISCPSecureAuthenticate ISCPSecureAuthenticate;
|
|
#endif /* __ISCPSecureAuthenticate_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureAuthenticate2_FWD_DEFINED__
|
|
#define __ISCPSecureAuthenticate2_FWD_DEFINED__
|
|
typedef interface ISCPSecureAuthenticate2 ISCPSecureAuthenticate2;
|
|
#endif /* __ISCPSecureAuthenticate2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureQuery_FWD_DEFINED__
|
|
#define __ISCPSecureQuery_FWD_DEFINED__
|
|
typedef interface ISCPSecureQuery ISCPSecureQuery;
|
|
#endif /* __ISCPSecureQuery_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureQuery2_FWD_DEFINED__
|
|
#define __ISCPSecureQuery2_FWD_DEFINED__
|
|
typedef interface ISCPSecureQuery2 ISCPSecureQuery2;
|
|
#endif /* __ISCPSecureQuery2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureExchange_FWD_DEFINED__
|
|
#define __ISCPSecureExchange_FWD_DEFINED__
|
|
typedef interface ISCPSecureExchange ISCPSecureExchange;
|
|
#endif /* __ISCPSecureExchange_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureExchange2_FWD_DEFINED__
|
|
#define __ISCPSecureExchange2_FWD_DEFINED__
|
|
typedef interface ISCPSecureExchange2 ISCPSecureExchange2;
|
|
#endif /* __ISCPSecureExchange2_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureExchange3_FWD_DEFINED__
|
|
#define __ISCPSecureExchange3_FWD_DEFINED__
|
|
typedef interface ISCPSecureExchange3 ISCPSecureExchange3;
|
|
#endif /* __ISCPSecureExchange3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSession_FWD_DEFINED__
|
|
#define __ISCPSession_FWD_DEFINED__
|
|
typedef interface ISCPSession ISCPSession;
|
|
#endif /* __ISCPSession_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureQuery3_FWD_DEFINED__
|
|
#define __ISCPSecureQuery3_FWD_DEFINED__
|
|
typedef interface ISCPSecureQuery3 ISCPSecureQuery3;
|
|
#endif /* __ISCPSecureQuery3_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __IComponentAuthenticate_FWD_DEFINED__
|
|
#define __IComponentAuthenticate_FWD_DEFINED__
|
|
typedef interface IComponentAuthenticate IComponentAuthenticate;
|
|
#endif /* __IComponentAuthenticate_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __MediaDevMgrClassFactory_FWD_DEFINED__
|
|
#define __MediaDevMgrClassFactory_FWD_DEFINED__
|
|
|
|
#ifdef __cplusplus
|
|
typedef class MediaDevMgrClassFactory MediaDevMgrClassFactory;
|
|
#else
|
|
typedef struct MediaDevMgrClassFactory MediaDevMgrClassFactory;
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __MediaDevMgrClassFactory_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __MediaDevMgr_FWD_DEFINED__
|
|
#define __MediaDevMgr_FWD_DEFINED__
|
|
|
|
#ifdef __cplusplus
|
|
typedef class MediaDevMgr MediaDevMgr;
|
|
#else
|
|
typedef struct MediaDevMgr MediaDevMgr;
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __MediaDevMgr_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __WMDMDevice_FWD_DEFINED__
|
|
#define __WMDMDevice_FWD_DEFINED__
|
|
|
|
#ifdef __cplusplus
|
|
typedef class WMDMDevice WMDMDevice;
|
|
#else
|
|
typedef struct WMDMDevice WMDMDevice;
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __WMDMDevice_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __WMDMStorage_FWD_DEFINED__
|
|
#define __WMDMStorage_FWD_DEFINED__
|
|
|
|
#ifdef __cplusplus
|
|
typedef class WMDMStorage WMDMStorage;
|
|
#else
|
|
typedef struct WMDMStorage WMDMStorage;
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __WMDMStorage_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __WMDMStorageGlobal_FWD_DEFINED__
|
|
#define __WMDMStorageGlobal_FWD_DEFINED__
|
|
|
|
#ifdef __cplusplus
|
|
typedef class WMDMStorageGlobal WMDMStorageGlobal;
|
|
#else
|
|
typedef struct WMDMStorageGlobal WMDMStorageGlobal;
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __WMDMStorageGlobal_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __WMDMDeviceEnum_FWD_DEFINED__
|
|
#define __WMDMDeviceEnum_FWD_DEFINED__
|
|
|
|
#ifdef __cplusplus
|
|
typedef class WMDMDeviceEnum WMDMDeviceEnum;
|
|
#else
|
|
typedef struct WMDMDeviceEnum WMDMDeviceEnum;
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __WMDMDeviceEnum_FWD_DEFINED__ */
|
|
|
|
|
|
#ifndef __WMDMStorageEnum_FWD_DEFINED__
|
|
#define __WMDMStorageEnum_FWD_DEFINED__
|
|
|
|
#ifdef __cplusplus
|
|
typedef class WMDMStorageEnum WMDMStorageEnum;
|
|
#else
|
|
typedef struct WMDMStorageEnum WMDMStorageEnum;
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __WMDMStorageEnum_FWD_DEFINED__ */
|
|
|
|
|
|
/* header files for imported files */
|
|
#include "oaidl.h"
|
|
#include "ocidl.h"
|
|
#include "propidl.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
|
|
/* interface __MIDL_itf_mswmdm_0000_0000 */
|
|
/* [local] */
|
|
|
|
#ifndef _DEFINE_WMDM_DEVICE_PROTOCOL_MTP
|
|
#define _DEFINE_WMDM_DEVICE_PROTOCOL_MTP
|
|
// {979E54E5-0AFC-4604-8D93-DC798A4BCF45}
|
|
DEFINE_GUID(WMDM_DEVICE_PROTOCOL_MTP,
|
|
0x979e54e5, 0xafc, 0x4604, 0x8d, 0x93, 0xdc, 0x79, 0x8a, 0x4b, 0xcf, 0x45);
|
|
#endif
|
|
#ifndef _DEFINE_WMDM_DEVICE_PROTOCOL_RAPI
|
|
#define _DEFINE_WMDM_DEVICE_PROTOCOL_RAPI
|
|
// {2A11ED91-8C8F-41e4-82D1-8386E003561C}
|
|
DEFINE_GUID(WMDM_DEVICE_PROTOCOL_RAPI,
|
|
0x2a11ed91, 0x8c8f, 0x41e4, 0x82, 0xd1, 0x83, 0x86, 0xe0, 0x3, 0x56, 0x1c);
|
|
#endif
|
|
#ifndef _DEFINE_WMDM_DEVICE_PROTOCOL_MSC
|
|
#define _DEFINE_WMDM_DEVICE_PROTOCOL_MSC
|
|
// {A4D2C26C-A881-44bb-BD5D-1F703C71F7A9}
|
|
DEFINE_GUID(WMDM_DEVICE_PROTOCOL_MSC,
|
|
0xa4d2c26c, 0xa881, 0x44bb, 0xbd, 0x5d, 0x1f, 0x70, 0x3c, 0x71, 0xf7, 0xa9);
|
|
#endif
|
|
#ifndef _DEFINE_WMDM_SERVICE_PROVIDER_VENDOR_MICROSOFT
|
|
#define _DEFINE_WMDM_SERVICE_PROVIDER_VENDOR_MICROSOFT
|
|
// {7DE8686D-78EE-43ea-A496-C625AC91CC5D}
|
|
DEFINE_GUID(WMDM_SERVICE_PROVIDER_VENDOR_MICROSOFT,
|
|
0x7de8686d, 0x78ee, 0x43ea, 0xa4, 0x96, 0xc6, 0x25, 0xac, 0x91, 0xcc, 0x5d);
|
|
#endif
|
|
typedef
|
|
enum tagWMDM_TAG_DATATYPE
|
|
{ WMDM_TYPE_DWORD = 0,
|
|
WMDM_TYPE_STRING = 1,
|
|
WMDM_TYPE_BINARY = 2,
|
|
WMDM_TYPE_BOOL = 3,
|
|
WMDM_TYPE_QWORD = 4,
|
|
WMDM_TYPE_WORD = 5,
|
|
WMDM_TYPE_GUID = 6,
|
|
WMDM_TYPE_DATE = 7
|
|
} WMDM_TAG_DATATYPE;
|
|
|
|
typedef
|
|
enum tagWMDM_SESSION_TYPE
|
|
{ WMDM_SESSION_NONE = 0,
|
|
WMDM_SESSION_TRANSFER_TO_DEVICE = 0x1,
|
|
WMDM_SESSION_TRANSFER_FROM_DEVICE = 0x10,
|
|
WMDM_SESSION_DELETE = 0x100,
|
|
WMDM_SESSION_CUSTOM = 0x1000
|
|
} WMDM_SESSION_TYPE;
|
|
|
|
typedef struct _tWAVEFORMATEX
|
|
{
|
|
WORD wFormatTag;
|
|
WORD nChannels;
|
|
DWORD nSamplesPerSec;
|
|
DWORD nAvgBytesPerSec;
|
|
WORD nBlockAlign;
|
|
WORD wBitsPerSample;
|
|
WORD cbSize;
|
|
} _WAVEFORMATEX;
|
|
|
|
typedef struct _tagBITMAPINFOHEADER
|
|
{
|
|
DWORD biSize;
|
|
LONG biWidth;
|
|
LONG biHeight;
|
|
WORD biPlanes;
|
|
WORD biBitCount;
|
|
DWORD biCompression;
|
|
DWORD biSizeImage;
|
|
LONG biXPelsPerMeter;
|
|
LONG biYPelsPerMeter;
|
|
DWORD biClrUsed;
|
|
DWORD biClrImportant;
|
|
} _BITMAPINFOHEADER;
|
|
|
|
typedef struct _tagVIDEOINFOHEADER
|
|
{
|
|
RECT rcSource;
|
|
RECT rcTarget;
|
|
DWORD dwBitRate;
|
|
DWORD dwBitErrorRate;
|
|
LONGLONG AvgTimePerFrame;
|
|
_BITMAPINFOHEADER bmiHeader;
|
|
} _VIDEOINFOHEADER;
|
|
|
|
typedef struct _tagWMFILECAPABILITIES
|
|
{
|
|
LPWSTR pwszMimeType;
|
|
DWORD dwReserved;
|
|
} WMFILECAPABILITIES;
|
|
|
|
typedef struct __OPAQUECOMMAND
|
|
{
|
|
GUID guidCommand;
|
|
DWORD dwDataLen;
|
|
BYTE *pData;
|
|
BYTE abMAC[ 20 ];
|
|
} OPAQUECOMMAND;
|
|
|
|
#define WMDMID_LENGTH ( 128 )
|
|
|
|
typedef struct __WMDMID
|
|
{
|
|
UINT cbSize;
|
|
DWORD dwVendorID;
|
|
BYTE pID[ 128 ];
|
|
UINT SerialNumberLength;
|
|
} WMDMID;
|
|
|
|
typedef struct __WMDMID *PWMDMID;
|
|
|
|
typedef struct _WMDMDATETIME
|
|
{
|
|
WORD wYear;
|
|
WORD wMonth;
|
|
WORD wDay;
|
|
WORD wHour;
|
|
WORD wMinute;
|
|
WORD wSecond;
|
|
} WMDMDATETIME;
|
|
|
|
typedef struct _WMDMDATETIME *PWMDMDATETIME;
|
|
|
|
typedef struct __WMDMRIGHTS
|
|
{
|
|
UINT cbSize;
|
|
DWORD dwContentType;
|
|
DWORD fuFlags;
|
|
DWORD fuRights;
|
|
DWORD dwAppSec;
|
|
DWORD dwPlaybackCount;
|
|
WMDMDATETIME ExpirationDate;
|
|
} WMDMRIGHTS;
|
|
|
|
typedef struct __WMDMRIGHTS *PWMDMRIGHTS;
|
|
|
|
typedef struct __WMDMMetadataView
|
|
{
|
|
WCHAR *pwszViewName;
|
|
UINT nDepth;
|
|
WCHAR **ppwszTags;
|
|
} WMDMMetadataView;
|
|
|
|
typedef
|
|
enum tagWMDM_STORAGE_ENUM_MODE
|
|
{ ENUM_MODE_RAW = 0,
|
|
ENUM_MODE_USE_DEVICE_PREF = ( ENUM_MODE_RAW + 1 ) ,
|
|
ENUM_MODE_METADATA_VIEWS = ( ENUM_MODE_USE_DEVICE_PREF + 1 )
|
|
} WMDM_STORAGE_ENUM_MODE;
|
|
|
|
typedef /* [v1_enum] */
|
|
enum tagWMDM_FORMATCODE
|
|
{ WMDM_FORMATCODE_NOTUSED = 0,
|
|
WMDM_FORMATCODE_ALLIMAGES = 0xffffffff,
|
|
WMDM_FORMATCODE_UNDEFINED = 0x3000,
|
|
WMDM_FORMATCODE_ASSOCIATION = 0x3001,
|
|
WMDM_FORMATCODE_SCRIPT = 0x3002,
|
|
WMDM_FORMATCODE_EXECUTABLE = 0x3003,
|
|
WMDM_FORMATCODE_TEXT = 0x3004,
|
|
WMDM_FORMATCODE_HTML = 0x3005,
|
|
WMDM_FORMATCODE_DPOF = 0x3006,
|
|
WMDM_FORMATCODE_AIFF = 0x3007,
|
|
WMDM_FORMATCODE_WAVE = 0x3008,
|
|
WMDM_FORMATCODE_MP3 = 0x3009,
|
|
WMDM_FORMATCODE_AVI = 0x300a,
|
|
WMDM_FORMATCODE_MPEG = 0x300b,
|
|
WMDM_FORMATCODE_ASF = 0x300c,
|
|
WMDM_FORMATCODE_RESERVED_FIRST = 0x300d,
|
|
WMDM_FORMATCODE_RESERVED_LAST = 0x37ff,
|
|
WMDM_FORMATCODE_IMAGE_UNDEFINED = 0x3800,
|
|
WMDM_FORMATCODE_IMAGE_EXIF = 0x3801,
|
|
WMDM_FORMATCODE_IMAGE_TIFFEP = 0x3802,
|
|
WMDM_FORMATCODE_IMAGE_FLASHPIX = 0x3803,
|
|
WMDM_FORMATCODE_IMAGE_BMP = 0x3804,
|
|
WMDM_FORMATCODE_IMAGE_CIFF = 0x3805,
|
|
WMDM_FORMATCODE_IMAGE_GIF = 0x3807,
|
|
WMDM_FORMATCODE_IMAGE_JFIF = 0x3808,
|
|
WMDM_FORMATCODE_IMAGE_PCD = 0x3809,
|
|
WMDM_FORMATCODE_IMAGE_PICT = 0x380a,
|
|
WMDM_FORMATCODE_IMAGE_PNG = 0x380b,
|
|
WMDM_FORMATCODE_IMAGE_TIFF = 0x380d,
|
|
WMDM_FORMATCODE_IMAGE_TIFFIT = 0x380e,
|
|
WMDM_FORMATCODE_IMAGE_JP2 = 0x380f,
|
|
WMDM_FORMATCODE_IMAGE_JPX = 0x3810,
|
|
WMDM_FORMATCODE_IMAGE_RESERVED_FIRST = 0x3811,
|
|
WMDM_FORMATCODE_IMAGE_RESERVED_LAST = 0x3fff,
|
|
WMDM_FORMATCODE_UNDEFINEDFIRMWARE = 0xb802,
|
|
WMDM_FORMATCODE_WINDOWSIMAGEFORMAT = 0xb881,
|
|
WMDM_FORMATCODE_UNDEFINEDAUDIO = 0xb900,
|
|
WMDM_FORMATCODE_WMA = 0xb901,
|
|
WMDM_FORMATCODE_OGG = 0xb902,
|
|
WMDM_FORMATCODE_AAC = 0xb903,
|
|
WMDM_FORMATCODE_AUDIBLE = 0xb904,
|
|
WMDM_FORMATCODE_FLAC = 0xb906,
|
|
WMDM_FORMATCODE_UNDEFINEDVIDEO = 0xb980,
|
|
WMDM_FORMATCODE_WMV = 0xb981,
|
|
WMDM_FORMATCODE_MP4 = 0xb982,
|
|
WMDM_FORMATCODE_MP2 = 0xb983,
|
|
WMDM_FORMATCODE_3GP = 0xb984,
|
|
WMDM_FORMATCODE_UNDEFINEDCOLLECTION = 0xba00,
|
|
WMDM_FORMATCODE_ABSTRACTMULTIMEDIAALBUM = 0xba01,
|
|
WMDM_FORMATCODE_ABSTRACTIMAGEALBUM = 0xba02,
|
|
WMDM_FORMATCODE_ABSTRACTAUDIOALBUM = 0xba03,
|
|
WMDM_FORMATCODE_ABSTRACTVIDEOALBUM = 0xba04,
|
|
WMDM_FORMATCODE_ABSTRACTAUDIOVIDEOPLAYLIST = 0xba05,
|
|
WMDM_FORMATCODE_ABSTRACTCONTACTGROUP = 0xba06,
|
|
WMDM_FORMATCODE_ABSTRACTMESSAGEFOLDER = 0xba07,
|
|
WMDM_FORMATCODE_ABSTRACTCHAPTEREDPRODUCTION = 0xba08,
|
|
WMDM_FORMATCODE_MEDIA_CAST = 0xba0b,
|
|
WMDM_FORMATCODE_WPLPLAYLIST = 0xba10,
|
|
WMDM_FORMATCODE_M3UPLAYLIST = 0xba11,
|
|
WMDM_FORMATCODE_MPLPLAYLIST = 0xba12,
|
|
WMDM_FORMATCODE_ASXPLAYLIST = 0xba13,
|
|
WMDM_FORMATCODE_PLSPLAYLIST = 0xba14,
|
|
WMDM_FORMATCODE_UNDEFINEDDOCUMENT = 0xba80,
|
|
WMDM_FORMATCODE_ABSTRACTDOCUMENT = 0xba81,
|
|
WMDM_FORMATCODE_XMLDOCUMENT = 0xba82,
|
|
WMDM_FORMATCODE_MICROSOFTWORDDOCUMENT = 0xba83,
|
|
WMDM_FORMATCODE_MHTCOMPILEDHTMLDOCUMENT = 0xba84,
|
|
WMDM_FORMATCODE_MICROSOFTEXCELSPREADSHEET = 0xba85,
|
|
WMDM_FORMATCODE_MICROSOFTPOWERPOINTDOCUMENT = 0xba86,
|
|
WMDM_FORMATCODE_UNDEFINEDMESSAGE = 0xbb00,
|
|
WMDM_FORMATCODE_ABSTRACTMESSAGE = 0xbb01,
|
|
WMDM_FORMATCODE_UNDEFINEDCONTACT = 0xbb80,
|
|
WMDM_FORMATCODE_ABSTRACTCONTACT = 0xbb81,
|
|
WMDM_FORMATCODE_VCARD2 = 0xbb82,
|
|
WMDM_FORMATCODE_VCARD3 = 0xbb83,
|
|
WMDM_FORMATCODE_UNDEFINEDCALENDARITEM = 0xbe00,
|
|
WMDM_FORMATCODE_ABSTRACTCALENDARITEM = 0xbe01,
|
|
WMDM_FORMATCODE_VCALENDAR1 = 0xbe02,
|
|
WMDM_FORMATCODE_VCALENDAR2 = 0xbe03,
|
|
WMDM_FORMATCODE_UNDEFINEDWINDOWSEXECUTABLE = 0xbe80,
|
|
WMDM_FORMATCODE_SECTION = 0xbe82
|
|
} WMDM_FORMATCODE;
|
|
|
|
typedef /* [v1_enum] */
|
|
enum _WMDM_ENUM_PROP_VALID_VALUES_FORM
|
|
{ WMDM_ENUM_PROP_VALID_VALUES_ANY = 0,
|
|
WMDM_ENUM_PROP_VALID_VALUES_RANGE = ( WMDM_ENUM_PROP_VALID_VALUES_ANY + 1 ) ,
|
|
WMDM_ENUM_PROP_VALID_VALUES_ENUM = ( WMDM_ENUM_PROP_VALID_VALUES_RANGE + 1 )
|
|
} WMDM_ENUM_PROP_VALID_VALUES_FORM;
|
|
|
|
typedef struct _WMDM_PROP_VALUES_RANGE
|
|
{
|
|
PROPVARIANT rangeMin;
|
|
PROPVARIANT rangeMax;
|
|
PROPVARIANT rangeStep;
|
|
} WMDM_PROP_VALUES_RANGE;
|
|
|
|
typedef struct _WMDM_PROP_VALUES_ENUM
|
|
{
|
|
UINT cEnumValues;
|
|
PROPVARIANT *pValues;
|
|
} WMDM_PROP_VALUES_ENUM;
|
|
|
|
typedef struct _WMDM_PROP_DESC
|
|
{
|
|
LPWSTR pwszPropName;
|
|
WMDM_ENUM_PROP_VALID_VALUES_FORM ValidValuesForm;
|
|
union
|
|
{
|
|
/* Empty union arm */
|
|
WMDM_PROP_VALUES_RANGE ValidValuesRange;
|
|
WMDM_PROP_VALUES_ENUM EnumeratedValidValues;
|
|
} ValidValues;
|
|
} WMDM_PROP_DESC;
|
|
|
|
typedef struct _WMDM_PROP_CONFIG
|
|
{
|
|
UINT nPreference;
|
|
UINT nPropDesc;
|
|
WMDM_PROP_DESC *pPropDesc;
|
|
} WMDM_PROP_CONFIG;
|
|
|
|
typedef struct _WMDM_FORMAT_CAPABILITY
|
|
{
|
|
UINT nPropConfig;
|
|
WMDM_PROP_CONFIG *pConfigs;
|
|
} WMDM_FORMAT_CAPABILITY;
|
|
|
|
#define WMDM_MAC_LENGTH ( 8 )
|
|
|
|
typedef
|
|
enum tagWMDM_FIND_SCOPE
|
|
{ WMDM_FIND_SCOPE_GLOBAL = 0,
|
|
WMDM_FIND_SCOPE_IMMEDIATE_CHILDREN = ( WMDM_FIND_SCOPE_GLOBAL + 1 )
|
|
} WMDM_FIND_SCOPE;
|
|
|
|
// WMDM HRESULTS
|
|
//
|
|
//Success codes
|
|
//
|
|
#define WMDM_S_NOT_ALL_PROPERTIES_APPLIED 0x00045001L
|
|
#define WMDM_S_NOT_ALL_PROPERTIES_RETRIEVED 0x00045002L
|
|
//
|
|
//Error codes
|
|
//
|
|
#define WMDM_E_BUSY 0x80045000L
|
|
#define WMDM_E_INTERFACEDEAD 0x80045001L
|
|
#define WMDM_E_INVALIDTYPE 0x80045002L
|
|
#define WMDM_E_PROCESSFAILED 0x80045003L
|
|
#define WMDM_E_NOTSUPPORTED 0x80045004L
|
|
#define WMDM_E_NOTCERTIFIED 0x80045005L
|
|
#define WMDM_E_NORIGHTS 0x80045006L
|
|
#define WMDM_E_CALL_OUT_OF_SEQUENCE 0x80045007L
|
|
#define WMDM_E_BUFFERTOOSMALL 0x80045008L
|
|
#define WMDM_E_MOREDATA 0x80045009L
|
|
#define WMDM_E_MAC_CHECK_FAILED 0x8004500AL
|
|
#define WMDM_E_USER_CANCELLED 0x8004500BL
|
|
#define WMDM_E_SDMI_TRIGGER 0x8004500CL
|
|
#define WMDM_E_SDMI_NOMORECOPIES 0x8004500DL
|
|
#define WMDM_E_REVOKED 0x8004500EL
|
|
#define WMDM_E_LICENSE_NOTEXIST 0x8004500FL
|
|
#define WMDM_E_INCORRECT_APPSEC 0x80045010L
|
|
#define WMDM_E_INCORRECT_RIGHTS 0x80045011L
|
|
#define WMDM_E_LICENSE_EXPIRED 0x80045012L
|
|
#define WMDM_E_CANTOPEN_PMSN_SERVICE_PIPE 0x80045013L
|
|
#define WMDM_E_TOO_MANY_SESSIONS 0x80045013L
|
|
// Revocation Flags
|
|
#define WMDM_WMDM_REVOKED 0x00000001
|
|
#define WMDM_APP_REVOKED 0x00000002
|
|
#define WMDM_SP_REVOKED 0x00000004
|
|
#define WMDM_SCP_REVOKED 0x00000008
|
|
// GetFormatSupport2 Flags
|
|
#define WMDM_GET_FORMAT_SUPPORT_AUDIO 0x00000001
|
|
#define WMDM_GET_FORMAT_SUPPORT_VIDEO 0x00000002
|
|
#define WMDM_GET_FORMAT_SUPPORT_FILE 0x00000004
|
|
// MDMRIGHTS Flags
|
|
#define WMDM_RIGHTS_PLAYBACKCOUNT 0x00000001
|
|
#define WMDM_RIGHTS_EXPIRATIONDATE 0x00000002
|
|
#define WMDM_RIGHTS_GROUPID 0x00000004
|
|
#define WMDM_RIGHTS_FREESERIALIDS 0x00000008
|
|
#define WMDM_RIGHTS_NAMEDSERIALIDS 0x00000010
|
|
// Device Type Flags
|
|
#define WMDM_DEVICE_TYPE_PLAYBACK 0x00000001
|
|
#define WMDM_DEVICE_TYPE_RECORD 0x00000002
|
|
#define WMDM_DEVICE_TYPE_DECODE 0x00000004
|
|
#define WMDM_DEVICE_TYPE_ENCODE 0x00000008
|
|
#define WMDM_DEVICE_TYPE_STORAGE 0x00000010
|
|
#define WMDM_DEVICE_TYPE_VIRTUAL 0x00000020
|
|
#define WMDM_DEVICE_TYPE_SDMI 0x00000040
|
|
#define WMDM_DEVICE_TYPE_NONSDMI 0x00000080
|
|
#define WMDM_DEVICE_TYPE_NONREENTRANT 0x00000100
|
|
#define WMDM_DEVICE_TYPE_FILELISTRESYNC 0x00000200
|
|
#define WMDM_DEVICE_TYPE_VIEW_PREF_METADATAVIEW 0x00000400
|
|
// Device Power Source Flags
|
|
#define WMDM_POWER_CAP_BATTERY 0x00000001
|
|
#define WMDM_POWER_CAP_EXTERNAL 0x00000002
|
|
#define WMDM_POWER_IS_BATTERY 0x00000004
|
|
#define WMDM_POWER_IS_EXTERNAL 0x00000008
|
|
#define WMDM_POWER_PERCENT_AVAILABLE 0x00000010
|
|
// Device Status Flags
|
|
#define WMDM_STATUS_READY 0x00000001
|
|
#define WMDM_STATUS_BUSY 0x00000002
|
|
#define WMDM_STATUS_DEVICE_NOTPRESENT 0x00000004
|
|
#define WMDM_STATUS_DEVICECONTROL_PLAYING 0x00000008
|
|
#define WMDM_STATUS_DEVICECONTROL_RECORDING 0x00000010
|
|
#define WMDM_STATUS_DEVICECONTROL_PAUSED 0x00000020
|
|
#define WMDM_STATUS_DEVICECONTROL_REMOTE 0x00000040
|
|
#define WMDM_STATUS_DEVICECONTROL_STREAM 0x00000080
|
|
#define WMDM_STATUS_STORAGE_NOTPRESENT 0x00000100
|
|
#define WMDM_STATUS_STORAGE_INITIALIZING 0x00000200
|
|
#define WMDM_STATUS_STORAGE_BROKEN 0x00000400
|
|
#define WMDM_STATUS_STORAGE_NOTSUPPORTED 0x00000800
|
|
#define WMDM_STATUS_STORAGE_UNFORMATTED 0x00001000
|
|
#define WMDM_STATUS_STORAGECONTROL_INSERTING 0x00002000
|
|
#define WMDM_STATUS_STORAGECONTROL_DELETING 0x00004000
|
|
#define WMDM_STATUS_STORAGECONTROL_APPENDING 0x00008000
|
|
#define WMDM_STATUS_STORAGECONTROL_MOVING 0x00010000
|
|
#define WMDM_STATUS_STORAGECONTROL_READING 0x00020000
|
|
// Device Capabilities Flags
|
|
#define WMDM_DEVICECAP_CANPLAY 0x00000001
|
|
#define WMDM_DEVICECAP_CANSTREAMPLAY 0x00000002
|
|
#define WMDM_DEVICECAP_CANRECORD 0x00000004
|
|
#define WMDM_DEVICECAP_CANSTREAMRECORD 0x00000008
|
|
#define WMDM_DEVICECAP_CANPAUSE 0x00000010
|
|
#define WMDM_DEVICECAP_CANRESUME 0x00000020
|
|
#define WMDM_DEVICECAP_CANSTOP 0x00000040
|
|
#define WMDM_DEVICECAP_CANSEEK 0x00000080
|
|
#define WMDM_DEVICECAP_HASSECURECLOCK 0x00000100
|
|
// WMDM Seek Flags
|
|
#define WMDM_SEEK_REMOTECONTROL 0x00000001
|
|
#define WMDM_SEEK_STREAMINGAUDIO 0x00000002
|
|
// Storage Attributes Flags
|
|
#define WMDM_STORAGE_ATTR_FILESYSTEM 0x00000001
|
|
#define WMDM_STORAGE_ATTR_REMOVABLE 0x00000002
|
|
#define WMDM_STORAGE_ATTR_NONREMOVABLE 0x00000004
|
|
#define WMDM_FILE_ATTR_FOLDER 0x00000008
|
|
#define WMDM_FILE_ATTR_LINK 0x00000010
|
|
#define WMDM_FILE_ATTR_FILE 0x00000020
|
|
#define WMDM_FILE_ATTR_VIDEO 0x00000040
|
|
#define WMDM_STORAGE_ATTR_CANEDITMETADATA 0x00000080
|
|
#define WMDM_STORAGE_ATTR_FOLDERS 0x00000100
|
|
#define WMDM_FILE_ATTR_AUDIO 0x00001000
|
|
#define WMDM_FILE_ATTR_DATA 0x00002000
|
|
#define WMDM_FILE_ATTR_CANPLAY 0x00004000
|
|
#define WMDM_FILE_ATTR_CANDELETE 0x00008000
|
|
#define WMDM_FILE_ATTR_CANMOVE 0x00010000
|
|
#define WMDM_FILE_ATTR_CANRENAME 0x00020000
|
|
#define WMDM_FILE_ATTR_CANREAD 0x00040000
|
|
#define WMDM_FILE_ATTR_MUSIC 0x00080000
|
|
#define WMDM_FILE_CREATE_OVERWRITE 0x00100000
|
|
#define WMDM_FILE_ATTR_AUDIOBOOK 0x00200000
|
|
#define WMDM_FILE_ATTR_HIDDEN 0x00400000
|
|
#define WMDM_FILE_ATTR_SYSTEM 0x00800000
|
|
#define WMDM_FILE_ATTR_READONLY 0x01000000
|
|
#define WMDM_STORAGE_ATTR_HAS_FOLDERS 0x02000000
|
|
#define WMDM_STORAGE_ATTR_HAS_FILES 0x04000000
|
|
#define WMDM_STORAGE_IS_DEFAULT 0x08000000
|
|
#define WMDM_STORAGE_CONTAINS_DEFAULT 0x10000000
|
|
#define WMDM_STORAGE_ATTR_VIRTUAL 0x20000000
|
|
// Storage Capabilities Flags
|
|
#define WMDM_STORAGECAP_FOLDERSINROOT 0x00000001
|
|
#define WMDM_STORAGECAP_FILESINROOT 0x00000002
|
|
#define WMDM_STORAGECAP_FOLDERSINFOLDERS 0x00000004
|
|
#define WMDM_STORAGECAP_FILESINFOLDERS 0x00000008
|
|
#define WMDM_STORAGECAP_FOLDERLIMITEXISTS 0x00000010
|
|
#define WMDM_STORAGECAP_FILELIMITEXISTS 0x00000020
|
|
#define WMDM_STORAGECAP_NOT_INITIALIZABLE 0x00000040
|
|
// WMDM Mode Flags
|
|
#define WMDM_MODE_BLOCK 0x00000001
|
|
#define WMDM_MODE_THREAD 0x00000002
|
|
#define WMDM_CONTENT_FILE 0x00000004
|
|
#define WMDM_CONTENT_FOLDER 0x00000008
|
|
#define WMDM_CONTENT_OPERATIONINTERFACE 0x00000010
|
|
#define WMDM_MODE_QUERY 0x00000020
|
|
#define WMDM_MODE_PROGRESS 0x00000040
|
|
#define WMDM_MODE_TRANSFER_PROTECTED 0x00000080
|
|
#define WMDM_MODE_TRANSFER_UNPROTECTED 0x00000100
|
|
#define WMDM_STORAGECONTROL_INSERTBEFORE 0x00000200
|
|
#define WMDM_STORAGECONTROL_INSERTAFTER 0x00000400
|
|
#define WMDM_STORAGECONTROL_INSERTINTO 0x00000800
|
|
#define WMDM_MODE_RECURSIVE 0x00001000
|
|
// WMDM Rights Flags
|
|
// NON_SDMI = !SDMI_PROTECTED
|
|
// SDMI = SDMI_VALIDATED
|
|
#define WMDM_RIGHTS_PLAY_ON_PC 0x00000001
|
|
#define WMDM_RIGHTS_COPY_TO_NON_SDMI_DEVICE 0x00000002
|
|
#define WMDM_RIGHTS_COPY_TO_CD 0x00000008
|
|
#define WMDM_RIGHTS_COPY_TO_SDMI_DEVICE 0x00000010
|
|
// WMDM Seek Flags
|
|
#define WMDM_SEEK_BEGIN 0x00000001
|
|
#define WMDM_SEEK_CURRENT 0x00000002
|
|
#define WMDM_SEEK_END 0x00000008
|
|
// WMDM Device Enumeration Flags
|
|
#define DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES 0x00000001
|
|
#define ALLOW_OUTOFBAND_NOTIFICATION 0x00000002
|
|
|
|
enum WMDMMessage
|
|
{ WMDM_MSG_DEVICE_ARRIVAL = 0,
|
|
WMDM_MSG_DEVICE_REMOVAL = ( WMDM_MSG_DEVICE_ARRIVAL + 1 ) ,
|
|
WMDM_MSG_MEDIA_ARRIVAL = ( WMDM_MSG_DEVICE_REMOVAL + 1 ) ,
|
|
WMDM_MSG_MEDIA_REMOVAL = ( WMDM_MSG_MEDIA_ARRIVAL + 1 )
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0000_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0000_v0_0_s_ifspec;
|
|
|
|
#ifndef __IWMDMMetaData_INTERFACE_DEFINED__
|
|
#define __IWMDMMetaData_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMMetaData */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMMetaData;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("EC3B0663-0951-460a-9A80-0DCEED3C043C")
|
|
IWMDMMetaData : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE AddItem(
|
|
/* [in] */ WMDM_TAG_DATATYPE Type,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszTagName,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(iLength) BYTE *pValue,
|
|
/* [in] */ UINT iLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE QueryByName(
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszTagName,
|
|
/* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **pValue,
|
|
/* [out] */ __RPC__out UINT *pcbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE QueryByIndex(
|
|
/* [in] */ UINT iIndex,
|
|
/* [string][out] */ __RPC__deref_out_opt_string WCHAR **ppwszName,
|
|
/* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **ppValue,
|
|
/* [out] */ __RPC__out UINT *pcbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetItemCount(
|
|
/* [out] */ __RPC__out UINT *iCount) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMMetaDataVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMMetaData * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMMetaData * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMMetaData * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *AddItem )(
|
|
IWMDMMetaData * This,
|
|
/* [in] */ WMDM_TAG_DATATYPE Type,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszTagName,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(iLength) BYTE *pValue,
|
|
/* [in] */ UINT iLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryByName )(
|
|
IWMDMMetaData * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszTagName,
|
|
/* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **pValue,
|
|
/* [out] */ __RPC__out UINT *pcbLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryByIndex )(
|
|
IWMDMMetaData * This,
|
|
/* [in] */ UINT iIndex,
|
|
/* [string][out] */ __RPC__deref_out_opt_string WCHAR **ppwszName,
|
|
/* [out] */ __RPC__out WMDM_TAG_DATATYPE *pType,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbLength) BYTE **ppValue,
|
|
/* [out] */ __RPC__out UINT *pcbLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetItemCount )(
|
|
IWMDMMetaData * This,
|
|
/* [out] */ __RPC__out UINT *iCount);
|
|
|
|
END_INTERFACE
|
|
} IWMDMMetaDataVtbl;
|
|
|
|
interface IWMDMMetaData
|
|
{
|
|
CONST_VTBL struct IWMDMMetaDataVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMMetaData_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMMetaData_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMMetaData_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMMetaData_AddItem(This,Type,pwszTagName,pValue,iLength) \
|
|
( (This)->lpVtbl -> AddItem(This,Type,pwszTagName,pValue,iLength) )
|
|
|
|
#define IWMDMMetaData_QueryByName(This,pwszTagName,pType,pValue,pcbLength) \
|
|
( (This)->lpVtbl -> QueryByName(This,pwszTagName,pType,pValue,pcbLength) )
|
|
|
|
#define IWMDMMetaData_QueryByIndex(This,iIndex,ppwszName,pType,ppValue,pcbLength) \
|
|
( (This)->lpVtbl -> QueryByIndex(This,iIndex,ppwszName,pType,ppValue,pcbLength) )
|
|
|
|
#define IWMDMMetaData_GetItemCount(This,iCount) \
|
|
( (This)->lpVtbl -> GetItemCount(This,iCount) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMMetaData_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDeviceManager_INTERFACE_DEFINED__
|
|
#define __IWMDeviceManager_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDeviceManager */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDeviceManager;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A00-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDeviceManager : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetRevision(
|
|
/* [out] */ __RPC__out DWORD *pdwRevision) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDeviceCount(
|
|
/* [out] */ __RPC__out DWORD *pdwCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumDevices(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDeviceManagerVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDeviceManager * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDeviceManager * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDeviceManager * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRevision )(
|
|
IWMDeviceManager * This,
|
|
/* [out] */ __RPC__out DWORD *pdwRevision);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
|
|
IWMDeviceManager * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
|
|
IWMDeviceManager * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
|
|
|
|
END_INTERFACE
|
|
} IWMDeviceManagerVtbl;
|
|
|
|
interface IWMDeviceManager
|
|
{
|
|
CONST_VTBL struct IWMDeviceManagerVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDeviceManager_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDeviceManager_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDeviceManager_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDeviceManager_GetRevision(This,pdwRevision) \
|
|
( (This)->lpVtbl -> GetRevision(This,pdwRevision) )
|
|
|
|
#define IWMDeviceManager_GetDeviceCount(This,pdwCount) \
|
|
( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
|
|
|
|
#define IWMDeviceManager_EnumDevices(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDeviceManager_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDeviceManager2_INTERFACE_DEFINED__
|
|
#define __IWMDeviceManager2_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDeviceManager2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDeviceManager2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("923E5249-8731-4c5b-9B1C-B8B60B6E46AF")
|
|
IWMDeviceManager2 : public IWMDeviceManager
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetDeviceFromCanonicalName(
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMDevice **ppDevice) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumDevices2(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reinitialize( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDeviceManager2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDeviceManager2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDeviceManager2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDeviceManager2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRevision )(
|
|
IWMDeviceManager2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwRevision);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
|
|
IWMDeviceManager2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
|
|
IWMDeviceManager2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceFromCanonicalName )(
|
|
IWMDeviceManager2 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMDevice **ppDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices2 )(
|
|
IWMDeviceManager2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Reinitialize )(
|
|
IWMDeviceManager2 * This);
|
|
|
|
END_INTERFACE
|
|
} IWMDeviceManager2Vtbl;
|
|
|
|
interface IWMDeviceManager2
|
|
{
|
|
CONST_VTBL struct IWMDeviceManager2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDeviceManager2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDeviceManager2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDeviceManager2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDeviceManager2_GetRevision(This,pdwRevision) \
|
|
( (This)->lpVtbl -> GetRevision(This,pdwRevision) )
|
|
|
|
#define IWMDeviceManager2_GetDeviceCount(This,pdwCount) \
|
|
( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
|
|
|
|
#define IWMDeviceManager2_EnumDevices(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
|
|
|
|
|
|
#define IWMDeviceManager2_GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) \
|
|
( (This)->lpVtbl -> GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) )
|
|
|
|
#define IWMDeviceManager2_EnumDevices2(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices2(This,ppEnumDevice) )
|
|
|
|
#define IWMDeviceManager2_Reinitialize(This) \
|
|
( (This)->lpVtbl -> Reinitialize(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDeviceManager2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDeviceManager3_INTERFACE_DEFINED__
|
|
#define __IWMDeviceManager3_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDeviceManager3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDeviceManager3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("af185c41-100d-46ed-be2e-9ce8c44594ef")
|
|
IWMDeviceManager3 : public IWMDeviceManager2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetDeviceEnumPreference(
|
|
/* [in] */ DWORD dwEnumPref) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDeviceManager3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDeviceManager3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDeviceManager3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDeviceManager3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRevision )(
|
|
IWMDeviceManager3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwRevision);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
|
|
IWMDeviceManager3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
|
|
IWMDeviceManager3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceFromCanonicalName )(
|
|
IWMDeviceManager3 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMDevice **ppDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices2 )(
|
|
IWMDeviceManager3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Reinitialize )(
|
|
IWMDeviceManager3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetDeviceEnumPreference )(
|
|
IWMDeviceManager3 * This,
|
|
/* [in] */ DWORD dwEnumPref);
|
|
|
|
END_INTERFACE
|
|
} IWMDeviceManager3Vtbl;
|
|
|
|
interface IWMDeviceManager3
|
|
{
|
|
CONST_VTBL struct IWMDeviceManager3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDeviceManager3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDeviceManager3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDeviceManager3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDeviceManager3_GetRevision(This,pdwRevision) \
|
|
( (This)->lpVtbl -> GetRevision(This,pdwRevision) )
|
|
|
|
#define IWMDeviceManager3_GetDeviceCount(This,pdwCount) \
|
|
( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
|
|
|
|
#define IWMDeviceManager3_EnumDevices(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
|
|
|
|
|
|
#define IWMDeviceManager3_GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) \
|
|
( (This)->lpVtbl -> GetDeviceFromCanonicalName(This,pwszCanonicalName,ppDevice) )
|
|
|
|
#define IWMDeviceManager3_EnumDevices2(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices2(This,ppEnumDevice) )
|
|
|
|
#define IWMDeviceManager3_Reinitialize(This) \
|
|
( (This)->lpVtbl -> Reinitialize(This) )
|
|
|
|
|
|
#define IWMDeviceManager3_SetDeviceEnumPreference(This,dwEnumPref) \
|
|
( (This)->lpVtbl -> SetDeviceEnumPreference(This,dwEnumPref) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDeviceManager3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageGlobals_INTERFACE_DEFINED__
|
|
#define __IWMDMStorageGlobals_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorageGlobals */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorageGlobals;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A07-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMStorageGlobals : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilities) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
|
|
/* [out] */ __RPC__out PWMDMID pSerialNum,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalSize(
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalFree(
|
|
/* [out] */ __RPC__out DWORD *pdwFreeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwFreeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalBad(
|
|
/* [out] */ __RPC__out DWORD *pdwBadLow,
|
|
/* [out] */ __RPC__out DWORD *pdwBadHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatus(
|
|
/* [out] */ __RPC__out DWORD *pdwStatus) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Initialize(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorageGlobalsVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorageGlobals * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorageGlobals * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilities);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNum,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalSize )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalFree )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwFreeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwFreeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalBad )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwBadLow,
|
|
/* [out] */ __RPC__out DWORD *pdwBadHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Initialize )(
|
|
IWMDMStorageGlobals * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorageGlobalsVtbl;
|
|
|
|
interface IWMDMStorageGlobals
|
|
{
|
|
CONST_VTBL struct IWMDMStorageGlobalsVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorageGlobals_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorageGlobals_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorageGlobals_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorageGlobals_GetCapabilities(This,pdwCapabilities) \
|
|
( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilities) )
|
|
|
|
#define IWMDMStorageGlobals_GetSerialNumber(This,pSerialNum,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNum,abMac) )
|
|
|
|
#define IWMDMStorageGlobals_GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) \
|
|
( (This)->lpVtbl -> GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) )
|
|
|
|
#define IWMDMStorageGlobals_GetTotalFree(This,pdwFreeLow,pdwFreeHigh) \
|
|
( (This)->lpVtbl -> GetTotalFree(This,pdwFreeLow,pdwFreeHigh) )
|
|
|
|
#define IWMDMStorageGlobals_GetTotalBad(This,pdwBadLow,pdwBadHigh) \
|
|
( (This)->lpVtbl -> GetTotalBad(This,pdwBadLow,pdwBadHigh) )
|
|
|
|
#define IWMDMStorageGlobals_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IWMDMStorageGlobals_Initialize(This,fuMode,pProgress) \
|
|
( (This)->lpVtbl -> Initialize(This,fuMode,pProgress) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorageGlobals_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage_INTERFACE_DEFINED__
|
|
#define __IWMDMStorage_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorage */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorage;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A06-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMStorage : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetAttributes(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStorageGlobals(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributes(
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetName(
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDate(
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSize(
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetRights(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumStorage(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorageVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorage * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorage * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorage * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IWMDMStorage * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IWMDMStorage * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IWMDMStorage * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IWMDMStorage * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IWMDMStorage * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IWMDMStorage * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IWMDMStorage * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IWMDMStorage * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IWMDMStorage * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorageVtbl;
|
|
|
|
interface IWMDMStorage
|
|
{
|
|
CONST_VTBL struct IWMDMStorageVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorage_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorage_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorage_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorage_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IWMDMStorage_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMStorage_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IWMDMStorage_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IWMDMStorage_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IWMDMStorage_EnumStorage(This,pEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
|
|
|
|
#define IWMDMStorage_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorage_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage2_INTERFACE_DEFINED__
|
|
#define __IWMDMStorage2_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorage2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorage2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1ED5A144-5CD5-4683-9EFF-72CBDB2D9533")
|
|
IWMDMStorage2 : public IWMDMStorage
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetStorage(
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetAttributes2(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributes2(
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorage2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorage2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorage2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorage2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IWMDMStorage2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IWMDMStorage2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IWMDMStorage2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IWMDMStorage2 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IWMDMStorage2 * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IWMDMStorage2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IWMDMStorage2 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IWMDMStorage2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IWMDMStorage2 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IWMDMStorage2 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
|
|
IWMDMStorage2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
|
|
IWMDMStorage2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorage2Vtbl;
|
|
|
|
interface IWMDMStorage2
|
|
{
|
|
CONST_VTBL struct IWMDMStorage2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorage2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorage2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorage2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorage2_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage2_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IWMDMStorage2_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage2_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMStorage2_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IWMDMStorage2_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IWMDMStorage2_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IWMDMStorage2_EnumStorage(This,pEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
|
|
|
|
#define IWMDMStorage2_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IWMDMStorage2_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IWMDMStorage2_SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
|
|
|
|
#define IWMDMStorage2_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorage2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage3_INTERFACE_DEFINED__
|
|
#define __IWMDMStorage3_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorage3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorage3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("97717EEA-926A-464e-96A4-247B0216026E")
|
|
IWMDMStorage3 : public IWMDMStorage2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetMetadata(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMetadata(
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateEmptyMetadataObject(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnumPreference(
|
|
/* [out][in] */ __RPC__inout WMDM_STORAGE_ENUM_MODE *pMode,
|
|
/* [in] */ DWORD nViews,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(nViews) WMDMMetadataView *pViews) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorage3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorage3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorage3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorage3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IWMDMStorage3 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IWMDMStorage3 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IWMDMStorage3 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IWMDMStorage3 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IWMDMStorage3 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
|
|
IWMDMStorage3 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
|
|
IWMDMStorage3 * This,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateEmptyMetadataObject )(
|
|
IWMDMStorage3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetEnumPreference )(
|
|
IWMDMStorage3 * This,
|
|
/* [out][in] */ __RPC__inout WMDM_STORAGE_ENUM_MODE *pMode,
|
|
/* [in] */ DWORD nViews,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(nViews) WMDMMetadataView *pViews);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorage3Vtbl;
|
|
|
|
interface IWMDMStorage3
|
|
{
|
|
CONST_VTBL struct IWMDMStorage3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorage3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorage3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorage3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorage3_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage3_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IWMDMStorage3_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage3_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMStorage3_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IWMDMStorage3_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IWMDMStorage3_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IWMDMStorage3_EnumStorage(This,pEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
|
|
|
|
#define IWMDMStorage3_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IWMDMStorage3_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IWMDMStorage3_SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
|
|
|
|
#define IWMDMStorage3_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
|
|
#define IWMDMStorage3_GetMetadata(This,ppMetadata) \
|
|
( (This)->lpVtbl -> GetMetadata(This,ppMetadata) )
|
|
|
|
#define IWMDMStorage3_SetMetadata(This,pMetadata) \
|
|
( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
|
|
|
|
#define IWMDMStorage3_CreateEmptyMetadataObject(This,ppMetadata) \
|
|
( (This)->lpVtbl -> CreateEmptyMetadataObject(This,ppMetadata) )
|
|
|
|
#define IWMDMStorage3_SetEnumPreference(This,pMode,nViews,pViews) \
|
|
( (This)->lpVtbl -> SetEnumPreference(This,pMode,nViews,pViews) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorage3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorage4_INTERFACE_DEFINED__
|
|
#define __IWMDMStorage4_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorage4 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorage4;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("c225bac5-a03a-40b8-9a23-91cf478c64a6")
|
|
IWMDMStorage4 : public IWMDMStorage3
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetReferences(
|
|
/* [in] */ DWORD dwRefs,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IWMDMStorage **ppIWMDMStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetReferences(
|
|
/* [out] */ __RPC__out DWORD *pdwRefs,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IWMDMStorage ***pppIWMDMStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetRightsWithProgress(
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pIProgressCallback,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSpecifiedMetadata(
|
|
/* [in] */ DWORD cProperties,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FindStorage(
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetParent(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorage4Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorage4 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorage4 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IWMDMStorage4 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IWMDMStorage4 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **pEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IWMDMStorage4 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IWMDMStorage4 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateEmptyMetadataObject )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetEnumPreference )(
|
|
IWMDMStorage4 * This,
|
|
/* [out][in] */ __RPC__inout WMDM_STORAGE_ENUM_MODE *pMode,
|
|
/* [in] */ DWORD nViews,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(nViews) WMDMMetadataView *pViews);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetReferences )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ DWORD dwRefs,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IWMDMStorage **ppIWMDMStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetReferences )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwRefs,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IWMDMStorage ***pppIWMDMStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRightsWithProgress )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pIProgressCallback,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSpecifiedMetadata )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ DWORD cProperties,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMMetaData **ppMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *FindStorage )(
|
|
IWMDMStorage4 * This,
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetParent )(
|
|
IWMDMStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorage4Vtbl;
|
|
|
|
interface IWMDMStorage4
|
|
{
|
|
CONST_VTBL struct IWMDMStorage4Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorage4_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorage4_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorage4_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorage4_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage4_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IWMDMStorage4_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IWMDMStorage4_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMStorage4_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IWMDMStorage4_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IWMDMStorage4_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IWMDMStorage4_EnumStorage(This,pEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,pEnumStorage) )
|
|
|
|
#define IWMDMStorage4_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IWMDMStorage4_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IWMDMStorage4_SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
|
|
|
|
#define IWMDMStorage4_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
|
|
#define IWMDMStorage4_GetMetadata(This,ppMetadata) \
|
|
( (This)->lpVtbl -> GetMetadata(This,ppMetadata) )
|
|
|
|
#define IWMDMStorage4_SetMetadata(This,pMetadata) \
|
|
( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
|
|
|
|
#define IWMDMStorage4_CreateEmptyMetadataObject(This,ppMetadata) \
|
|
( (This)->lpVtbl -> CreateEmptyMetadataObject(This,ppMetadata) )
|
|
|
|
#define IWMDMStorage4_SetEnumPreference(This,pMode,nViews,pViews) \
|
|
( (This)->lpVtbl -> SetEnumPreference(This,pMode,nViews,pViews) )
|
|
|
|
|
|
#define IWMDMStorage4_SetReferences(This,dwRefs,ppIWMDMStorage) \
|
|
( (This)->lpVtbl -> SetReferences(This,dwRefs,ppIWMDMStorage) )
|
|
|
|
#define IWMDMStorage4_GetReferences(This,pdwRefs,pppIWMDMStorage) \
|
|
( (This)->lpVtbl -> GetReferences(This,pdwRefs,pppIWMDMStorage) )
|
|
|
|
#define IWMDMStorage4_GetRightsWithProgress(This,pIProgressCallback,ppRights,pnRightsCount) \
|
|
( (This)->lpVtbl -> GetRightsWithProgress(This,pIProgressCallback,ppRights,pnRightsCount) )
|
|
|
|
#define IWMDMStorage4_GetSpecifiedMetadata(This,cProperties,ppwszPropNames,ppMetadata) \
|
|
( (This)->lpVtbl -> GetSpecifiedMetadata(This,cProperties,ppwszPropNames,ppMetadata) )
|
|
|
|
#define IWMDMStorage4_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
|
|
( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
|
|
|
|
#define IWMDMStorage4_GetParent(This,ppStorage) \
|
|
( (This)->lpVtbl -> GetParent(This,ppStorage) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorage4_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMOperation_INTERFACE_DEFINED__
|
|
#define __IWMDMOperation_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMOperation */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMOperation;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A0B-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMOperation : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE BeginRead( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BeginWrite( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetObjectName(
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetObjectName(
|
|
/* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetObjectAttributes(
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetObjectAttributes(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetObjectTotalSize(
|
|
/* [out] */ __RPC__out DWORD *pdwSize,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetObjectTotalSize(
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwSizeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE TransferObjectData(
|
|
/* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE End(
|
|
/* [in] */ __RPC__in HRESULT *phCompletionCode,
|
|
/* [in] */ __RPC__in_opt IUnknown *pNewObject) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMOperationVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMOperation * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMOperation * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMOperation * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginRead )(
|
|
IWMDMOperation * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
|
|
IWMDMOperation * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectName )(
|
|
IWMDMOperation * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectName )(
|
|
IWMDMOperation * This,
|
|
/* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes )(
|
|
IWMDMOperation * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes )(
|
|
IWMDMOperation * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectTotalSize )(
|
|
IWMDMOperation * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSize,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectTotalSize )(
|
|
IWMDMOperation * This,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferObjectData )(
|
|
IWMDMOperation * This,
|
|
/* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End )(
|
|
IWMDMOperation * This,
|
|
/* [in] */ __RPC__in HRESULT *phCompletionCode,
|
|
/* [in] */ __RPC__in_opt IUnknown *pNewObject);
|
|
|
|
END_INTERFACE
|
|
} IWMDMOperationVtbl;
|
|
|
|
interface IWMDMOperation
|
|
{
|
|
CONST_VTBL struct IWMDMOperationVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMOperation_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMOperation_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMOperation_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMOperation_BeginRead(This) \
|
|
( (This)->lpVtbl -> BeginRead(This) )
|
|
|
|
#define IWMDMOperation_BeginWrite(This) \
|
|
( (This)->lpVtbl -> BeginWrite(This) )
|
|
|
|
#define IWMDMOperation_GetObjectName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMOperation_SetObjectName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMOperation_GetObjectAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IWMDMOperation_SetObjectAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IWMDMOperation_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh) )
|
|
|
|
#define IWMDMOperation_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
|
|
( (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh) )
|
|
|
|
#define IWMDMOperation_TransferObjectData(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac) )
|
|
|
|
#define IWMDMOperation_End(This,phCompletionCode,pNewObject) \
|
|
( (This)->lpVtbl -> End(This,phCompletionCode,pNewObject) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMOperation_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMOperation2_INTERFACE_DEFINED__
|
|
#define __IWMDMOperation2_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMOperation2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMOperation2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("33445B48-7DF7-425c-AD8F-0FC6D82F9F75")
|
|
IWMDMOperation2 : public IWMDMOperation
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetObjectAttributes2(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetObjectAttributes2(
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMOperation2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMOperation2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMOperation2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMOperation2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginRead )(
|
|
IWMDMOperation2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
|
|
IWMDMOperation2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectName )(
|
|
IWMDMOperation2 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectName )(
|
|
IWMDMOperation2 * This,
|
|
/* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes )(
|
|
IWMDMOperation2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes )(
|
|
IWMDMOperation2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectTotalSize )(
|
|
IWMDMOperation2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSize,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectTotalSize )(
|
|
IWMDMOperation2 * This,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferObjectData )(
|
|
IWMDMOperation2 * This,
|
|
/* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End )(
|
|
IWMDMOperation2 * This,
|
|
/* [in] */ __RPC__in HRESULT *phCompletionCode,
|
|
/* [in] */ __RPC__in_opt IUnknown *pNewObject);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes2 )(
|
|
IWMDMOperation2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes2 )(
|
|
IWMDMOperation2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
END_INTERFACE
|
|
} IWMDMOperation2Vtbl;
|
|
|
|
interface IWMDMOperation2
|
|
{
|
|
CONST_VTBL struct IWMDMOperation2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMOperation2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMOperation2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMOperation2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMOperation2_BeginRead(This) \
|
|
( (This)->lpVtbl -> BeginRead(This) )
|
|
|
|
#define IWMDMOperation2_BeginWrite(This) \
|
|
( (This)->lpVtbl -> BeginWrite(This) )
|
|
|
|
#define IWMDMOperation2_GetObjectName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMOperation2_SetObjectName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMOperation2_GetObjectAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IWMDMOperation2_SetObjectAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IWMDMOperation2_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh) )
|
|
|
|
#define IWMDMOperation2_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
|
|
( (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh) )
|
|
|
|
#define IWMDMOperation2_TransferObjectData(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac) )
|
|
|
|
#define IWMDMOperation2_End(This,phCompletionCode,pNewObject) \
|
|
( (This)->lpVtbl -> End(This,phCompletionCode,pNewObject) )
|
|
|
|
|
|
#define IWMDMOperation2_SetObjectAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> SetObjectAttributes2(This,dwAttributes,dwAttributesEx,pFormat,pVideoFormat) )
|
|
|
|
#define IWMDMOperation2_GetObjectAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> GetObjectAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMOperation2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMOperation3_INTERFACE_DEFINED__
|
|
#define __IWMDMOperation3_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMOperation3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMOperation3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("d1f9b46a-9ca8-46d8-9d0f-1ec9bae54919")
|
|
IWMDMOperation3 : public IWMDMOperation
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE TransferObjectDataOnClearChannel(
|
|
/* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMOperation3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMOperation3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMOperation3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMOperation3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginRead )(
|
|
IWMDMOperation3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
|
|
IWMDMOperation3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectName )(
|
|
IWMDMOperation3 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectName )(
|
|
IWMDMOperation3 * This,
|
|
/* [size_is][string][in] */ __RPC__in_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectAttributes )(
|
|
IWMDMOperation3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectAttributes )(
|
|
IWMDMOperation3 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectTotalSize )(
|
|
IWMDMOperation3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSize,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetObjectTotalSize )(
|
|
IWMDMOperation3 * This,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferObjectData )(
|
|
IWMDMOperation3 * This,
|
|
/* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End )(
|
|
IWMDMOperation3 * This,
|
|
/* [in] */ __RPC__in HRESULT *phCompletionCode,
|
|
/* [in] */ __RPC__in_opt IUnknown *pNewObject);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferObjectDataOnClearChannel )(
|
|
IWMDMOperation3 * This,
|
|
/* [size_is][out][in] */ __RPC__inout_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize);
|
|
|
|
END_INTERFACE
|
|
} IWMDMOperation3Vtbl;
|
|
|
|
interface IWMDMOperation3
|
|
{
|
|
CONST_VTBL struct IWMDMOperation3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMOperation3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMOperation3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMOperation3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMOperation3_BeginRead(This) \
|
|
( (This)->lpVtbl -> BeginRead(This) )
|
|
|
|
#define IWMDMOperation3_BeginWrite(This) \
|
|
( (This)->lpVtbl -> BeginWrite(This) )
|
|
|
|
#define IWMDMOperation3_GetObjectName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetObjectName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMOperation3_SetObjectName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> SetObjectName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMOperation3_GetObjectAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetObjectAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IWMDMOperation3_SetObjectAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetObjectAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IWMDMOperation3_GetObjectTotalSize(This,pdwSize,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetObjectTotalSize(This,pdwSize,pdwSizeHigh) )
|
|
|
|
#define IWMDMOperation3_SetObjectTotalSize(This,dwSize,dwSizeHigh) \
|
|
( (This)->lpVtbl -> SetObjectTotalSize(This,dwSize,dwSizeHigh) )
|
|
|
|
#define IWMDMOperation3_TransferObjectData(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> TransferObjectData(This,pData,pdwSize,abMac) )
|
|
|
|
#define IWMDMOperation3_End(This,phCompletionCode,pNewObject) \
|
|
( (This)->lpVtbl -> End(This,phCompletionCode,pNewObject) )
|
|
|
|
|
|
#define IWMDMOperation3_TransferObjectDataOnClearChannel(This,pData,pdwSize) \
|
|
( (This)->lpVtbl -> TransferObjectDataOnClearChannel(This,pData,pdwSize) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMOperation3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMProgress_INTERFACE_DEFINED__
|
|
#define __IWMDMProgress_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMProgress */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMProgress;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A0C-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMProgress : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Begin(
|
|
/* [in] */ DWORD dwEstimatedTicks) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Progress(
|
|
/* [in] */ DWORD dwTranspiredTicks) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE End( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMProgressVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMProgress * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMProgress * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMProgress * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Begin )(
|
|
IWMDMProgress * This,
|
|
/* [in] */ DWORD dwEstimatedTicks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Progress )(
|
|
IWMDMProgress * This,
|
|
/* [in] */ DWORD dwTranspiredTicks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End )(
|
|
IWMDMProgress * This);
|
|
|
|
END_INTERFACE
|
|
} IWMDMProgressVtbl;
|
|
|
|
interface IWMDMProgress
|
|
{
|
|
CONST_VTBL struct IWMDMProgressVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMProgress_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMProgress_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMProgress_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMProgress_Begin(This,dwEstimatedTicks) \
|
|
( (This)->lpVtbl -> Begin(This,dwEstimatedTicks) )
|
|
|
|
#define IWMDMProgress_Progress(This,dwTranspiredTicks) \
|
|
( (This)->lpVtbl -> Progress(This,dwTranspiredTicks) )
|
|
|
|
#define IWMDMProgress_End(This) \
|
|
( (This)->lpVtbl -> End(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMProgress_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMProgress2_INTERFACE_DEFINED__
|
|
#define __IWMDMProgress2_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMProgress2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMProgress2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("3A43F550-B383-4e92-B04A-E6BBC660FEFC")
|
|
IWMDMProgress2 : public IWMDMProgress
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE End2(
|
|
/* [in] */ HRESULT hrCompletionCode) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMProgress2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMProgress2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMProgress2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMProgress2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Begin )(
|
|
IWMDMProgress2 * This,
|
|
/* [in] */ DWORD dwEstimatedTicks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Progress )(
|
|
IWMDMProgress2 * This,
|
|
/* [in] */ DWORD dwTranspiredTicks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End )(
|
|
IWMDMProgress2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End2 )(
|
|
IWMDMProgress2 * This,
|
|
/* [in] */ HRESULT hrCompletionCode);
|
|
|
|
END_INTERFACE
|
|
} IWMDMProgress2Vtbl;
|
|
|
|
interface IWMDMProgress2
|
|
{
|
|
CONST_VTBL struct IWMDMProgress2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMProgress2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMProgress2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMProgress2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMProgress2_Begin(This,dwEstimatedTicks) \
|
|
( (This)->lpVtbl -> Begin(This,dwEstimatedTicks) )
|
|
|
|
#define IWMDMProgress2_Progress(This,dwTranspiredTicks) \
|
|
( (This)->lpVtbl -> Progress(This,dwTranspiredTicks) )
|
|
|
|
#define IWMDMProgress2_End(This) \
|
|
( (This)->lpVtbl -> End(This) )
|
|
|
|
|
|
#define IWMDMProgress2_End2(This,hrCompletionCode) \
|
|
( (This)->lpVtbl -> End2(This,hrCompletionCode) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMProgress2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMProgress3_INTERFACE_DEFINED__
|
|
#define __IWMDMProgress3_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMProgress3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMProgress3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("21DE01CB-3BB4-4929-B21A-17AF3F80F658")
|
|
IWMDMProgress3 : public IWMDMProgress2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Begin3(
|
|
/* [in] */ GUID EventId,
|
|
/* [in] */ DWORD dwEstimatedTicks,
|
|
/* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Progress3(
|
|
/* [in] */ GUID EventId,
|
|
/* [in] */ DWORD dwTranspiredTicks,
|
|
/* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE End3(
|
|
/* [in] */ GUID EventId,
|
|
/* [in] */ HRESULT hrCompletionCode,
|
|
/* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMProgress3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMProgress3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMProgress3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMProgress3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Begin )(
|
|
IWMDMProgress3 * This,
|
|
/* [in] */ DWORD dwEstimatedTicks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Progress )(
|
|
IWMDMProgress3 * This,
|
|
/* [in] */ DWORD dwTranspiredTicks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End )(
|
|
IWMDMProgress3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End2 )(
|
|
IWMDMProgress3 * This,
|
|
/* [in] */ HRESULT hrCompletionCode);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Begin3 )(
|
|
IWMDMProgress3 * This,
|
|
/* [in] */ GUID EventId,
|
|
/* [in] */ DWORD dwEstimatedTicks,
|
|
/* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Progress3 )(
|
|
IWMDMProgress3 * This,
|
|
/* [in] */ GUID EventId,
|
|
/* [in] */ DWORD dwTranspiredTicks,
|
|
/* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *End3 )(
|
|
IWMDMProgress3 * This,
|
|
/* [in] */ GUID EventId,
|
|
/* [in] */ HRESULT hrCompletionCode,
|
|
/* [unique][out][in] */ __RPC__inout_opt OPAQUECOMMAND *pContext);
|
|
|
|
END_INTERFACE
|
|
} IWMDMProgress3Vtbl;
|
|
|
|
interface IWMDMProgress3
|
|
{
|
|
CONST_VTBL struct IWMDMProgress3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMProgress3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMProgress3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMProgress3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMProgress3_Begin(This,dwEstimatedTicks) \
|
|
( (This)->lpVtbl -> Begin(This,dwEstimatedTicks) )
|
|
|
|
#define IWMDMProgress3_Progress(This,dwTranspiredTicks) \
|
|
( (This)->lpVtbl -> Progress(This,dwTranspiredTicks) )
|
|
|
|
#define IWMDMProgress3_End(This) \
|
|
( (This)->lpVtbl -> End(This) )
|
|
|
|
|
|
#define IWMDMProgress3_End2(This,hrCompletionCode) \
|
|
( (This)->lpVtbl -> End2(This,hrCompletionCode) )
|
|
|
|
|
|
#define IWMDMProgress3_Begin3(This,EventId,dwEstimatedTicks,pContext) \
|
|
( (This)->lpVtbl -> Begin3(This,EventId,dwEstimatedTicks,pContext) )
|
|
|
|
#define IWMDMProgress3_Progress3(This,EventId,dwTranspiredTicks,pContext) \
|
|
( (This)->lpVtbl -> Progress3(This,EventId,dwTranspiredTicks,pContext) )
|
|
|
|
#define IWMDMProgress3_End3(This,EventId,hrCompletionCode,pContext) \
|
|
( (This)->lpVtbl -> End3(This,EventId,hrCompletionCode,pContext) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMProgress3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDevice_INTERFACE_DEFINED__
|
|
#define __IWMDMDevice_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMDevice */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMDevice;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A02-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMDevice : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetName(
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetManufacturer(
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetVersion(
|
|
/* [out] */ __RPC__out DWORD *pdwVersion) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetType(
|
|
/* [out] */ __RPC__out DWORD *pdwType) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPowerSource(
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatus(
|
|
/* [out] */ __RPC__out DWORD *pdwStatus) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDeviceIcon(
|
|
/* [out] */ __RPC__out ULONG *hIcon) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumStorage(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFormatSupport(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMDeviceVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMDevice * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMDevice * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMDevice * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IWMDMDevice * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
|
|
IWMDMDevice * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetVersion )(
|
|
IWMDMDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwVersion);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
|
IWMDMDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwType);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IWMDMDevice * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
|
|
IWMDMDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IWMDMDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
|
|
IWMDMDevice * This,
|
|
/* [out] */ __RPC__out ULONG *hIcon);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IWMDMDevice * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
|
|
IWMDMDevice * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IWMDMDevice * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
END_INTERFACE
|
|
} IWMDMDeviceVtbl;
|
|
|
|
interface IWMDMDevice
|
|
{
|
|
CONST_VTBL struct IWMDMDeviceVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMDevice_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMDevice_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMDevice_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMDevice_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMDevice_GetManufacturer(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMDevice_GetVersion(This,pdwVersion) \
|
|
( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
|
|
|
|
#define IWMDMDevice_GetType(This,pdwType) \
|
|
( (This)->lpVtbl -> GetType(This,pdwType) )
|
|
|
|
#define IWMDMDevice_GetSerialNumber(This,pSerialNumber,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
|
|
|
|
#define IWMDMDevice_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
|
|
( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
|
|
|
|
#define IWMDMDevice_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IWMDMDevice_GetDeviceIcon(This,hIcon) \
|
|
( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
|
|
|
|
#define IWMDMDevice_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IWMDMDevice_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
|
|
|
|
#define IWMDMDevice_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMDevice_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDevice2_INTERFACE_DEFINED__
|
|
#define __IWMDMDevice2_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMDevice2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMDevice2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("E34F3D37-9D67-4fc1-9252-62D28B2F8B55")
|
|
IWMDMDevice2 : public IWMDMDevice
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetStorage(
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFormatSupport2(
|
|
/* [in] */ DWORD dwFlags,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
|
|
/* [ref][out] */ __RPC__out UINT *pnFileTypeCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSpecifyPropertyPages(
|
|
/* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
|
|
/* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
|
|
/* [ref][out] */ __RPC__out ULONG *pcUnks) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
|
|
/* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMDevice2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMDevice2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMDevice2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMDevice2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IWMDMDevice2 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
|
|
IWMDMDevice2 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetVersion )(
|
|
IWMDMDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwVersion);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
|
IWMDMDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwType);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IWMDMDevice2 * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
|
|
IWMDMDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IWMDMDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
|
|
IWMDMDevice2 * This,
|
|
/* [out] */ __RPC__out ULONG *hIcon);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IWMDMDevice2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
|
|
IWMDMDevice2 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IWMDMDevice2 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IWMDMDevice2 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
|
|
IWMDMDevice2 * This,
|
|
/* [in] */ DWORD dwFlags,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
|
|
/* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
|
|
IWMDMDevice2 * This,
|
|
/* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
|
|
/* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
|
|
/* [ref][out] */ __RPC__out ULONG *pcUnks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
|
|
IWMDMDevice2 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
END_INTERFACE
|
|
} IWMDMDevice2Vtbl;
|
|
|
|
interface IWMDMDevice2
|
|
{
|
|
CONST_VTBL struct IWMDMDevice2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMDevice2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMDevice2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMDevice2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMDevice2_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMDevice2_GetManufacturer(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMDevice2_GetVersion(This,pdwVersion) \
|
|
( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
|
|
|
|
#define IWMDMDevice2_GetType(This,pdwType) \
|
|
( (This)->lpVtbl -> GetType(This,pdwType) )
|
|
|
|
#define IWMDMDevice2_GetSerialNumber(This,pSerialNumber,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
|
|
|
|
#define IWMDMDevice2_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
|
|
( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
|
|
|
|
#define IWMDMDevice2_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IWMDMDevice2_GetDeviceIcon(This,hIcon) \
|
|
( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
|
|
|
|
#define IWMDMDevice2_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IWMDMDevice2_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
|
|
|
|
#define IWMDMDevice2_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IWMDMDevice2_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IWMDMDevice2_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
|
|
|
|
#define IWMDMDevice2_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
|
|
( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
|
|
|
|
#define IWMDMDevice2_GetCanonicalName(This,pwszPnPName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMDevice2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDevice3_INTERFACE_DEFINED__
|
|
#define __IWMDMDevice3_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMDevice3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMDevice3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("6c03e4fe-05db-4dda-9e3c-06233a6d5d65")
|
|
IWMDMDevice3 : public IWMDMDevice2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetProperty(
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [out] */ __RPC__out PROPVARIANT *pValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProperty(
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [in] */ __RPC__in const PROPVARIANT *pValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFormatCapability(
|
|
/* [in] */ WMDM_FORMATCODE format,
|
|
/* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DeviceIoControl(
|
|
/* [in] */ DWORD dwIoControlCode,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
|
|
/* [in] */ DWORD nInBufferSize,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
|
|
/* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FindStorage(
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMDevice3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMDevice3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMDevice3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMDevice3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IWMDMDevice3 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
|
|
IWMDMDevice3 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetVersion )(
|
|
IWMDMDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwVersion);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
|
IWMDMDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwType);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IWMDMDevice3 * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
|
|
IWMDMDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IWMDMDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
|
|
IWMDMDevice3 * This,
|
|
/* [out] */ __RPC__out ULONG *hIcon);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IWMDMDevice3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
|
|
IWMDMDevice3 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **ppFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IWMDMDevice3 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IWMDMDevice3 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
|
|
IWMDMDevice3 * This,
|
|
/* [in] */ DWORD dwFlags,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
|
|
/* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
|
|
IWMDMDevice3 * This,
|
|
/* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
|
|
/* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
|
|
/* [ref][out] */ __RPC__out ULONG *pcUnks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
|
|
IWMDMDevice3 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetProperty )(
|
|
IWMDMDevice3 * This,
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [out] */ __RPC__out PROPVARIANT *pValue);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetProperty )(
|
|
IWMDMDevice3 * This,
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [in] */ __RPC__in const PROPVARIANT *pValue);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatCapability )(
|
|
IWMDMDevice3 * This,
|
|
/* [in] */ WMDM_FORMATCODE format,
|
|
/* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *DeviceIoControl )(
|
|
IWMDMDevice3 * This,
|
|
/* [in] */ DWORD dwIoControlCode,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
|
|
/* [in] */ DWORD nInBufferSize,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
|
|
/* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *FindStorage )(
|
|
IWMDMDevice3 * This,
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppStorage);
|
|
|
|
END_INTERFACE
|
|
} IWMDMDevice3Vtbl;
|
|
|
|
interface IWMDMDevice3
|
|
{
|
|
CONST_VTBL struct IWMDMDevice3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMDevice3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMDevice3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMDevice3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMDevice3_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMDevice3_GetManufacturer(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
|
|
|
|
#define IWMDMDevice3_GetVersion(This,pdwVersion) \
|
|
( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
|
|
|
|
#define IWMDMDevice3_GetType(This,pdwType) \
|
|
( (This)->lpVtbl -> GetType(This,pdwType) )
|
|
|
|
#define IWMDMDevice3_GetSerialNumber(This,pSerialNumber,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
|
|
|
|
#define IWMDMDevice3_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
|
|
( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
|
|
|
|
#define IWMDMDevice3_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IWMDMDevice3_GetDeviceIcon(This,hIcon) \
|
|
( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
|
|
|
|
#define IWMDMDevice3_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IWMDMDevice3_GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport(This,ppFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
|
|
|
|
#define IWMDMDevice3_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IWMDMDevice3_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IWMDMDevice3_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
|
|
|
|
#define IWMDMDevice3_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
|
|
( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
|
|
|
|
#define IWMDMDevice3_GetCanonicalName(This,pwszPnPName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
|
|
|
|
|
|
#define IWMDMDevice3_GetProperty(This,pwszPropName,pValue) \
|
|
( (This)->lpVtbl -> GetProperty(This,pwszPropName,pValue) )
|
|
|
|
#define IWMDMDevice3_SetProperty(This,pwszPropName,pValue) \
|
|
( (This)->lpVtbl -> SetProperty(This,pwszPropName,pValue) )
|
|
|
|
#define IWMDMDevice3_GetFormatCapability(This,format,pFormatSupport) \
|
|
( (This)->lpVtbl -> GetFormatCapability(This,format,pFormatSupport) )
|
|
|
|
#define IWMDMDevice3_DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) \
|
|
( (This)->lpVtbl -> DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) )
|
|
|
|
#define IWMDMDevice3_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
|
|
( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMDevice3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDeviceSession_INTERFACE_DEFINED__
|
|
#define __IWMDMDeviceSession_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMDeviceSession */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMDeviceSession;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("82af0a65-9d96-412c-83e5-3c43e4b06cc7")
|
|
IWMDMDeviceSession : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE BeginSession(
|
|
/* [in] */ WMDM_SESSION_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EndSession(
|
|
/* [in] */ WMDM_SESSION_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMDeviceSessionVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMDeviceSession * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMDeviceSession * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMDeviceSession * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginSession )(
|
|
IWMDMDeviceSession * This,
|
|
/* [in] */ WMDM_SESSION_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EndSession )(
|
|
IWMDMDeviceSession * This,
|
|
/* [in] */ WMDM_SESSION_TYPE type,
|
|
/* [unique][size_is][in] */ __RPC__in_ecount_full_opt(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx);
|
|
|
|
END_INTERFACE
|
|
} IWMDMDeviceSessionVtbl;
|
|
|
|
interface IWMDMDeviceSession
|
|
{
|
|
CONST_VTBL struct IWMDMDeviceSessionVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMDeviceSession_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMDeviceSession_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMDeviceSession_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMDeviceSession_BeginSession(This,type,pCtx,dwSizeCtx) \
|
|
( (This)->lpVtbl -> BeginSession(This,type,pCtx,dwSizeCtx) )
|
|
|
|
#define IWMDMDeviceSession_EndSession(This,type,pCtx,dwSizeCtx) \
|
|
( (This)->lpVtbl -> EndSession(This,type,pCtx,dwSizeCtx) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMDeviceSession_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMEnumDevice_INTERFACE_DEFINED__
|
|
#define __IWMDMEnumDevice_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMEnumDevice */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMEnumDevice;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A01-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMEnumDevice : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMDevice **ppDevice,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMEnumDeviceVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMEnumDevice * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMEnumDevice * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMEnumDevice * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Next )(
|
|
IWMDMEnumDevice * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMDevice **ppDevice,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
|
IWMDMEnumDevice * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
|
IWMDMEnumDevice * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
|
IWMDMEnumDevice * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumDevice **ppEnumDevice);
|
|
|
|
END_INTERFACE
|
|
} IWMDMEnumDeviceVtbl;
|
|
|
|
interface IWMDMEnumDevice
|
|
{
|
|
CONST_VTBL struct IWMDMEnumDeviceVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMEnumDevice_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMEnumDevice_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMEnumDevice_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMEnumDevice_Next(This,celt,ppDevice,pceltFetched) \
|
|
( (This)->lpVtbl -> Next(This,celt,ppDevice,pceltFetched) )
|
|
|
|
#define IWMDMEnumDevice_Skip(This,celt,pceltFetched) \
|
|
( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
|
|
|
|
#define IWMDMEnumDevice_Reset(This) \
|
|
( (This)->lpVtbl -> Reset(This) )
|
|
|
|
#define IWMDMEnumDevice_Clone(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> Clone(This,ppEnumDevice) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMEnumDevice_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMDeviceControl_INTERFACE_DEFINED__
|
|
#define __IWMDMDeviceControl_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMDeviceControl */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMDeviceControl;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A04-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMDeviceControl : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatus(
|
|
/* [out] */ __RPC__out DWORD *pdwStatus) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilitiesMask) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Record(
|
|
/* [in] */ __RPC__in _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Seek(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ int nOffset) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMDeviceControlVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMDeviceControl * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMDeviceControl * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IWMDMDeviceControl * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
|
|
IWMDMDeviceControl * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilitiesMask);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Play )(
|
|
IWMDMDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Record )(
|
|
IWMDMDeviceControl * This,
|
|
/* [in] */ __RPC__in _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Pause )(
|
|
IWMDMDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Resume )(
|
|
IWMDMDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Stop )(
|
|
IWMDMDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Seek )(
|
|
IWMDMDeviceControl * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ int nOffset);
|
|
|
|
END_INTERFACE
|
|
} IWMDMDeviceControlVtbl;
|
|
|
|
interface IWMDMDeviceControl
|
|
{
|
|
CONST_VTBL struct IWMDMDeviceControlVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMDeviceControl_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMDeviceControl_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMDeviceControl_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMDeviceControl_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IWMDMDeviceControl_GetCapabilities(This,pdwCapabilitiesMask) \
|
|
( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilitiesMask) )
|
|
|
|
#define IWMDMDeviceControl_Play(This) \
|
|
( (This)->lpVtbl -> Play(This) )
|
|
|
|
#define IWMDMDeviceControl_Record(This,pFormat) \
|
|
( (This)->lpVtbl -> Record(This,pFormat) )
|
|
|
|
#define IWMDMDeviceControl_Pause(This) \
|
|
( (This)->lpVtbl -> Pause(This) )
|
|
|
|
#define IWMDMDeviceControl_Resume(This) \
|
|
( (This)->lpVtbl -> Resume(This) )
|
|
|
|
#define IWMDMDeviceControl_Stop(This) \
|
|
( (This)->lpVtbl -> Stop(This) )
|
|
|
|
#define IWMDMDeviceControl_Seek(This,fuMode,nOffset) \
|
|
( (This)->lpVtbl -> Seek(This,fuMode,nOffset) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMDeviceControl_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMEnumStorage_INTERFACE_DEFINED__
|
|
#define __IWMDMEnumStorage_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMEnumStorage */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMEnumStorage;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A05-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMEnumStorage : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMStorage **ppStorage,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMEnumStorageVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMEnumStorage * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMEnumStorage * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMEnumStorage * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Next )(
|
|
IWMDMEnumStorage * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IWMDMStorage **ppStorage,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
|
IWMDMEnumStorage * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
|
IWMDMEnumStorage * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
|
IWMDMEnumStorage * This,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMEnumStorage **ppEnumStorage);
|
|
|
|
END_INTERFACE
|
|
} IWMDMEnumStorageVtbl;
|
|
|
|
interface IWMDMEnumStorage
|
|
{
|
|
CONST_VTBL struct IWMDMEnumStorageVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMEnumStorage_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMEnumStorage_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMEnumStorage_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMEnumStorage_Next(This,celt,ppStorage,pceltFetched) \
|
|
( (This)->lpVtbl -> Next(This,celt,ppStorage,pceltFetched) )
|
|
|
|
#define IWMDMEnumStorage_Skip(This,celt,pceltFetched) \
|
|
( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
|
|
|
|
#define IWMDMEnumStorage_Reset(This) \
|
|
( (This)->lpVtbl -> Reset(This) )
|
|
|
|
#define IWMDMEnumStorage_Clone(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> Clone(This,ppEnumStorage) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMEnumStorage_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageControl_INTERFACE_DEFINED__
|
|
#define __IWMDMStorageControl_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorageControl */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorageControl;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A08-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMStorageControl : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Insert(
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Delete(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Rename(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in LPWSTR pwszNewName,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Read(
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IWMDMOperation *pOperation) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Move(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorageControlVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorageControl * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorageControl * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorageControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Insert )(
|
|
IWMDMStorageControl * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
IWMDMStorageControl * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Rename )(
|
|
IWMDMStorageControl * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in LPWSTR pwszNewName,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Read )(
|
|
IWMDMStorageControl * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IWMDMOperation *pOperation);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Move )(
|
|
IWMDMStorageControl * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorageControlVtbl;
|
|
|
|
interface IWMDMStorageControl
|
|
{
|
|
CONST_VTBL struct IWMDMStorageControlVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorageControl_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorageControl_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorageControl_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorageControl_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
|
|
( (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) )
|
|
|
|
#define IWMDMStorageControl_Delete(This,fuMode,pProgress) \
|
|
( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
|
|
|
|
#define IWMDMStorageControl_Rename(This,fuMode,pwszNewName,pProgress) \
|
|
( (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress) )
|
|
|
|
#define IWMDMStorageControl_Read(This,fuMode,pwszFile,pProgress,pOperation) \
|
|
( (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation) )
|
|
|
|
#define IWMDMStorageControl_Move(This,fuMode,pTargetObject,pProgress) \
|
|
( (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorageControl_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageControl2_INTERFACE_DEFINED__
|
|
#define __IWMDMStorageControl2_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorageControl2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorageControl2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("972C2E88-BD6C-4125-8E09-84F837E637B6")
|
|
IWMDMStorageControl2 : public IWMDMStorageControl
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Insert2(
|
|
/* [in] */ UINT fuMode,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorageControl2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorageControl2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorageControl2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorageControl2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Insert )(
|
|
IWMDMStorageControl2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
IWMDMStorageControl2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Rename )(
|
|
IWMDMStorageControl2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in LPWSTR pwszNewName,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Read )(
|
|
IWMDMStorageControl2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IWMDMOperation *pOperation);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Move )(
|
|
IWMDMStorageControl2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Insert2 )(
|
|
IWMDMStorageControl2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorageControl2Vtbl;
|
|
|
|
interface IWMDMStorageControl2
|
|
{
|
|
CONST_VTBL struct IWMDMStorageControl2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorageControl2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorageControl2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorageControl2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorageControl2_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
|
|
( (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) )
|
|
|
|
#define IWMDMStorageControl2_Delete(This,fuMode,pProgress) \
|
|
( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
|
|
|
|
#define IWMDMStorageControl2_Rename(This,fuMode,pwszNewName,pProgress) \
|
|
( (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress) )
|
|
|
|
#define IWMDMStorageControl2_Read(This,fuMode,pwszFile,pProgress,pOperation) \
|
|
( (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation) )
|
|
|
|
#define IWMDMStorageControl2_Move(This,fuMode,pTargetObject,pProgress) \
|
|
( (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress) )
|
|
|
|
|
|
#define IWMDMStorageControl2_Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) \
|
|
( (This)->lpVtbl -> Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorageControl2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMStorageControl3_INTERFACE_DEFINED__
|
|
#define __IWMDMStorageControl3_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMStorageControl3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMStorageControl3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("B3266365-D4F3-4696-8D53-BD27EC60993A")
|
|
IWMDMStorageControl3 : public IWMDMStorageControl2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Insert3(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ UINT fuType,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMMetaData *pMetaData,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMStorageControl3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMStorageControl3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMStorageControl3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Insert )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [out] */ __RPC__deref_out_opt IWMDMStorage **ppNewObject);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Rename )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in LPWSTR pwszNewName,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Read )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [unique][in] */ __RPC__in_opt LPWSTR pwszFile,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IWMDMOperation *pOperation);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Move )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMStorage *pTargetObject,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Insert2 )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Insert3 )(
|
|
IWMDMStorageControl3 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ UINT fuType,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileSource,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszFileDest,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMOperation *pOperation,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [unique][in] */ __RPC__in_opt IWMDMMetaData *pMetaData,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IWMDMStorage **ppNewObject);
|
|
|
|
END_INTERFACE
|
|
} IWMDMStorageControl3Vtbl;
|
|
|
|
interface IWMDMStorageControl3
|
|
{
|
|
CONST_VTBL struct IWMDMStorageControl3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMStorageControl3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMStorageControl3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMStorageControl3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMStorageControl3_Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) \
|
|
( (This)->lpVtbl -> Insert(This,fuMode,pwszFile,pOperation,pProgress,ppNewObject) )
|
|
|
|
#define IWMDMStorageControl3_Delete(This,fuMode,pProgress) \
|
|
( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
|
|
|
|
#define IWMDMStorageControl3_Rename(This,fuMode,pwszNewName,pProgress) \
|
|
( (This)->lpVtbl -> Rename(This,fuMode,pwszNewName,pProgress) )
|
|
|
|
#define IWMDMStorageControl3_Read(This,fuMode,pwszFile,pProgress,pOperation) \
|
|
( (This)->lpVtbl -> Read(This,fuMode,pwszFile,pProgress,pOperation) )
|
|
|
|
#define IWMDMStorageControl3_Move(This,fuMode,pTargetObject,pProgress) \
|
|
( (This)->lpVtbl -> Move(This,fuMode,pTargetObject,pProgress) )
|
|
|
|
|
|
#define IWMDMStorageControl3_Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) \
|
|
( (This)->lpVtbl -> Insert2(This,fuMode,pwszFileSource,pwszFileDest,pOperation,pProgress,pUnknown,ppNewObject) )
|
|
|
|
|
|
#define IWMDMStorageControl3_Insert3(This,fuMode,fuType,pwszFileSource,pwszFileDest,pOperation,pProgress,pMetaData,pUnknown,ppNewObject) \
|
|
( (This)->lpVtbl -> Insert3(This,fuMode,fuType,pwszFileSource,pwszFileDest,pOperation,pProgress,pMetaData,pUnknown,ppNewObject) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMStorageControl3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMObjectInfo_INTERFACE_DEFINED__
|
|
#define __IWMDMObjectInfo_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMObjectInfo */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMObjectInfo;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A09-33ED-11d3-8470-00C04F79DBC0")
|
|
IWMDMObjectInfo : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetPlayLength(
|
|
/* [out] */ __RPC__out DWORD *pdwLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetPlayLength(
|
|
/* [in] */ DWORD dwLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPlayOffset(
|
|
/* [out] */ __RPC__out DWORD *pdwOffset) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetPlayOffset(
|
|
/* [in] */ DWORD dwOffset) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
|
|
/* [out] */ __RPC__out DWORD *pdwLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLastPlayPosition(
|
|
/* [out] */ __RPC__out DWORD *pdwLastPos) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLongestPlayPosition(
|
|
/* [out] */ __RPC__out DWORD *pdwLongestPos) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMObjectInfoVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMObjectInfo * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMObjectInfo * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMObjectInfo * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPlayLength )(
|
|
IWMDMObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetPlayLength )(
|
|
IWMDMObjectInfo * This,
|
|
/* [in] */ DWORD dwLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPlayOffset )(
|
|
IWMDMObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwOffset);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetPlayOffset )(
|
|
IWMDMObjectInfo * This,
|
|
/* [in] */ DWORD dwOffset);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalLength )(
|
|
IWMDMObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetLastPlayPosition )(
|
|
IWMDMObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLastPos);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetLongestPlayPosition )(
|
|
IWMDMObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLongestPos);
|
|
|
|
END_INTERFACE
|
|
} IWMDMObjectInfoVtbl;
|
|
|
|
interface IWMDMObjectInfo
|
|
{
|
|
CONST_VTBL struct IWMDMObjectInfoVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMObjectInfo_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMObjectInfo_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMObjectInfo_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMObjectInfo_GetPlayLength(This,pdwLength) \
|
|
( (This)->lpVtbl -> GetPlayLength(This,pdwLength) )
|
|
|
|
#define IWMDMObjectInfo_SetPlayLength(This,dwLength) \
|
|
( (This)->lpVtbl -> SetPlayLength(This,dwLength) )
|
|
|
|
#define IWMDMObjectInfo_GetPlayOffset(This,pdwOffset) \
|
|
( (This)->lpVtbl -> GetPlayOffset(This,pdwOffset) )
|
|
|
|
#define IWMDMObjectInfo_SetPlayOffset(This,dwOffset) \
|
|
( (This)->lpVtbl -> SetPlayOffset(This,dwOffset) )
|
|
|
|
#define IWMDMObjectInfo_GetTotalLength(This,pdwLength) \
|
|
( (This)->lpVtbl -> GetTotalLength(This,pdwLength) )
|
|
|
|
#define IWMDMObjectInfo_GetLastPlayPosition(This,pdwLastPos) \
|
|
( (This)->lpVtbl -> GetLastPlayPosition(This,pdwLastPos) )
|
|
|
|
#define IWMDMObjectInfo_GetLongestPlayPosition(This,pdwLongestPos) \
|
|
( (This)->lpVtbl -> GetLongestPlayPosition(This,pdwLongestPos) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMObjectInfo_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMRevoked_INTERFACE_DEFINED__
|
|
#define __IWMDMRevoked_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMRevoked */
|
|
/* [ref][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMRevoked;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("EBECCEDB-88EE-4e55-B6A4-8D9F07D696AA")
|
|
IWMDMRevoked : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetRevocationURL(
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwBufferLen,
|
|
/* [out] */ __RPC__out DWORD *pdwRevokedBitFlag) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMRevokedVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMRevoked * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMRevoked * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMRevoked * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRevocationURL )(
|
|
IWMDMRevoked * This,
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwBufferLen,
|
|
/* [out] */ __RPC__out DWORD *pdwRevokedBitFlag);
|
|
|
|
END_INTERFACE
|
|
} IWMDMRevokedVtbl;
|
|
|
|
interface IWMDMRevoked
|
|
{
|
|
CONST_VTBL struct IWMDMRevokedVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMRevoked_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMRevoked_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMRevoked_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMRevoked_GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen,pdwRevokedBitFlag) \
|
|
( (This)->lpVtbl -> GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen,pdwRevokedBitFlag) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMRevoked_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IWMDMNotification_INTERFACE_DEFINED__
|
|
#define __IWMDMNotification_INTERFACE_DEFINED__
|
|
|
|
/* interface IWMDMNotification */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IWMDMNotification;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("3F5E95C0-0F43-4ed4-93D2-C89A45D59B81")
|
|
IWMDMNotification : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE WMDMMessage(
|
|
/* [in] */ DWORD dwMessageType,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IWMDMNotificationVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IWMDMNotification * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IWMDMNotification * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IWMDMNotification * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *WMDMMessage )(
|
|
IWMDMNotification * This,
|
|
/* [in] */ DWORD dwMessageType,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszCanonicalName);
|
|
|
|
END_INTERFACE
|
|
} IWMDMNotificationVtbl;
|
|
|
|
interface IWMDMNotification
|
|
{
|
|
CONST_VTBL struct IWMDMNotificationVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IWMDMNotification_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IWMDMNotification_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IWMDMNotification_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IWMDMNotification_WMDMMessage(This,dwMessageType,pwszCanonicalName) \
|
|
( (This)->lpVtbl -> WMDMMessage(This,dwMessageType,pwszCanonicalName) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IWMDMNotification_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_mswmdm_0000_0028 */
|
|
/* [local] */
|
|
|
|
// WMDM constants for wellknown meta-data tags
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMFileName = L"WMDM/FileName";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMFormatCode = L"WMDM/FormatCode";
|
|
//Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
|
|
static const WCHAR *g_wszWMDMLastModifiedDate = L"WMDM/LastModifiedDate";
|
|
//Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
|
|
static const WCHAR *g_wszWMDMFileCreationDate = L"WMDM/FileCreationDate";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMFileSize = L"WMDM/FileSize";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMFileAttributes = L"WMDM/FileAttributes";
|
|
//Format code: WAVE Format
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszAudioWAVECodec = L"WMDM/AudioWAVECodec";
|
|
//Format code: FOURCC code
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszVideoFourCCCodec = L"WMDM/VideoFourCCCodec";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMTitle = L"WMDM/Title";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMAuthor = L"WMDM/Author";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMDescription = L"WMDM/Description";
|
|
//Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
|
|
static const WCHAR *g_wszWMDMIsProtected = L"WMDM/IsProtected";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMAlbumTitle = L"WMDM/AlbumTitle";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMAlbumArtist = L"WMDM/AlbumArtist";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMTrack = L"WMDM/Track";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMGenre = L"WMDM/Genre";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMTrackMood = L"WMDM/TrackMood";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMAlbumCoverFormat = L"WMDM/AlbumCoverFormat";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMAlbumCoverSize = L"WMDM/AlbumCoverSize";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMAlbumCoverHeight = L"WMDM/AlbumCoverHeight";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMAlbumCoverWidth = L"WMDM/AlbumCoverWidth";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMAlbumCoverDuration = L"WMDM/AlbumCoverDuration";
|
|
//Type: BYTE*, WMDM_TAG_DATATYPE: WMDM_TYPE_BINARY
|
|
static const WCHAR *g_wszWMDMAlbumCoverData = L"WMDM/AlbumCoverData";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMYear = L"WMDM/Year";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMComposer = L"WMDM/Composer";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMCodec = L"WMDM/Codec";
|
|
static const WCHAR *g_wszWMDMDRMId = L"WMDM/DRMId";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMBitrate = L"WMDM/Bitrate";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMBitRateType = L"WMDM/BitRateType";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMSampleRate = L"WMDM/SampleRate";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMNumChannels = L"WMDM/NumChannels";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMBlockAlignment = L"WMDM/BlockAlignment";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMAudioBitDepth = L"WMDM/AudioBitDepth";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMTotalBitrate = L"WMDM/TotalBitrate";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMVideoBitrate = L"WMDM/VideoBitrate";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMFrameRate = L"WMDM/FrameRate";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMScanType = L"WMDM/ScanType";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMKeyFrameDistance = L"WMDM/KeyFrameDistance";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMBufferSize = L"WMDM/BufferSize";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMQualitySetting = L"WMDM/QualitySetting";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMEncodingProfile = L"WMDM/EncodingProfile";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMDuration = L"WMDM/Duration";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMAlbumArt = L"WMDM/AlbumArt";
|
|
//Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
|
|
static const WCHAR *g_wszWMDMBuyNow = L"WMDM/BuyNow";
|
|
//Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
|
|
static const WCHAR *g_wszWMDMNonConsumable = L"WMDM/NonConsumable";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMediaClassPrimaryID = L"WMDM/MediaClassPrimaryID";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMMediaClassSecondaryID = L"WMDM/MediaClassSecondaryID";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMUserEffectiveRating = L"WMDM/UserEffectiveRating";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMUserRating = L"WMDM/UserRating";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMUserRatingOnDevice = L"WMDM/UserRatingOnDevice";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMPlayCount = L"WMDM/PlayCount";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMDevicePlayCount = L"WMDM/DevicePlayCount";
|
|
//Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
|
|
static const WCHAR *g_wszWMDMAuthorDate = L"WMDM/AuthorDate";
|
|
//Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
|
|
static const WCHAR *g_wszWMDMUserLastPlayTime = L"WMDM/UserLastPlayTime";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMSubTitle = L"WMDM/SubTitle";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMSubTitleDescription = L"WMDM/SubTitleDescription";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMMediaCredits = L"WMDM/MediaCredits";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMMediaStationName = L"WMDM/MediaStationName";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMMediaOriginalChannel = L"WMDM/MediaOriginalChannel";
|
|
//Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
|
|
static const WCHAR *g_wszWMDMMediaOriginalBroadcastDateTime = L"WMDM/MediaOriginalBroadcastDateTime";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMProviderCopyright = L"WMDM/ProviderCopyright";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMSyncID = L"WMDM/SyncID";
|
|
//Type: GUID, WMDM_TAG_DATATYPE: WMDM_TYPE_GUID
|
|
static const WCHAR *g_wszWMDMPersistentUniqueID = L"WMDM/PersistentUniqueID";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMWidth = L"WMDM/Width";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMHeight = L"WMDM/Height";
|
|
//Type: WMDMDATETIME, WMDM_TAG_DATATYPE: WMDM_TYPE_DATETIME
|
|
static const WCHAR *g_wszWMDMSyncTime = L"WMDM/SyncTime";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMParentalRating = L"WMDM/ParentalRating";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMMetaGenre = L"WMDM/MetaGenre";
|
|
//Type: BOOL, WMDM_TAG_DATATYPE: WMDM_TYPE_BOOL
|
|
static const WCHAR *g_wszWMDMIsRepeat = L"WMDM/IsRepeat";
|
|
// Device properties
|
|
//PROPVARIANT vt = VT_BSTR | VT_ARRAY
|
|
static const WCHAR *g_wszWMDMSupportedDeviceProperties = L"WMDM/SupportedDeviceProperties";
|
|
//PROPVARIANT vt = VT_BSTR
|
|
static const WCHAR *g_wszWMDMDeviceFriendlyName = L"WMDM/DeviceFriendlyName";
|
|
//PROPVARIANT vt = VT_UI4 | VT_ARRAY
|
|
static const WCHAR *g_wszWMDMFormatsSupported = L"WMDM/FormatsSupported";
|
|
//PROPVARIANT vt = VT_BOOL
|
|
static const WCHAR *g_wszWMDMFormatsSupportedAreOrdered = L"WMDM/FormatsSupportedAreOrdered";
|
|
//PROPVARIANT vt = VT_BSTR
|
|
static const WCHAR *g_wszWMDMSyncRelationshipID = L"WMDM/SyncRelationshipID";
|
|
//PROPVARIANT vt = VT_BSTR
|
|
static const WCHAR *g_wszWMDMDeviceModelName = L"WMDM/DeviceModelName";
|
|
//PROPVARIANT vt = VT_BSTR
|
|
static const WCHAR *g_wszWMDMDeviceFirmwareVersion = L"WMDM/DeviceFirmwareVersion";
|
|
//PROPVARIANT vt = VT_BSTR
|
|
static const WCHAR *g_wszWMDMDeviceVendorExtension = L"WMDM/DeviceVendorExtension";
|
|
//PROPVARIANT vt = VT_CLSID
|
|
static const WCHAR *g_wszWMDMDeviceProtocol = L"WMDM/DeviceProtocol";
|
|
//PROPVARIANT vt = VT_CLSID
|
|
static const WCHAR *g_wszWMDMDeviceServiceProviderVendor = L"WMDM/DeviceServiceProviderVendor";
|
|
//PROPVARIANT vt = VT_BSTR
|
|
static const WCHAR *g_wszWMDMDeviceRevocationInfo = L"WMDM/DeviceRevocationInfo";
|
|
//PROPVARIANT vt = VT_BSTR
|
|
static const WCHAR *g_wszWMDMCollectionID = L"WMDM/CollectionID";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMOwner = L"WMDM/Owner";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMEditor = L"WMDM/Editor";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMWebmaster = L"WMDM/Webmaster";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMSourceURL = L"WMDM/SourceURL";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMDestinationURL = L"WMDM/DestinationURL";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMCategory = L"WMDM/Category";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMTimeBookmark = L"WMDM/TimeBookmark";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMObjectBookmark = L"WMDM/ObjectBookmark";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMByteBookmark = L"WMDM/ByteBookmark";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMDataOffset = L"WMDM/DataOffset";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMDataLength = L"WMDM/DataLength";
|
|
//Type: DWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_DWORD
|
|
static const WCHAR *g_wszWMDMDataUnits = L"WMDM/DataUnits";
|
|
//Type: QWORD, WMDM_TAG_DATATYPE: WMDM_TYPE_QWORD
|
|
static const WCHAR *g_wszWMDMTimeToLive = L"WMDM/TimeToLive";
|
|
//Type: LPCWSTR, WMDM_TAG_DATATYPE: WMDM_TYPE_STRING
|
|
static const WCHAR *g_wszWMDMMediaGuid = L"WMDM/MediaGuid";
|
|
//Type: BYTE*, WMDM_TAG_DATATYPE: WMDM_TYPE_BINARY
|
|
static const WCHAR *g_wszWPDPassthroughPropertyValues = L"WPD/PassthroughPropertyValues";
|
|
#define CCH_WMDM_PROPNAME(sz) (sizeof(sz)/sizeof(sz[0]))
|
|
union WMDMDetermineMaxPropStringLen {
|
|
WCHAR sz001[CCH_WMDM_PROPNAME(L"WMDM/DeviceFirmwareVersion")];
|
|
WCHAR sz002[CCH_WMDM_PROPNAME(L"WMDM/SupportedDeviceProperties")];
|
|
WCHAR sz003[CCH_WMDM_PROPNAME(L"WMDM/FileName")];
|
|
WCHAR sz004[CCH_WMDM_PROPNAME(L"WMDM/FormatCode")];
|
|
WCHAR sz005[CCH_WMDM_PROPNAME(L"WMDM/LastModifiedDate")];
|
|
WCHAR sz006[CCH_WMDM_PROPNAME(L"WMDM/FileSize")];
|
|
WCHAR sz007[CCH_WMDM_PROPNAME(L"WMDM/FileAttributes")];
|
|
WCHAR sz008[CCH_WMDM_PROPNAME(L"WMDM/AudioWAVECodec")];
|
|
WCHAR sz009[CCH_WMDM_PROPNAME(L"WMDM/VideoFourCCCodec")];
|
|
WCHAR sz010[CCH_WMDM_PROPNAME(L"WMDM/Title")];
|
|
WCHAR sz011[CCH_WMDM_PROPNAME(L"WMDM/Author")];
|
|
WCHAR sz012[CCH_WMDM_PROPNAME(L"WMDM/Description")];
|
|
WCHAR sz013[CCH_WMDM_PROPNAME(L"WMDM/IsProtected")];
|
|
WCHAR sz014[CCH_WMDM_PROPNAME(L"WMDM/AlbumTitle")];
|
|
WCHAR sz015[CCH_WMDM_PROPNAME(L"WMDM/AlbumArtist")];
|
|
WCHAR sz016[CCH_WMDM_PROPNAME(L"WMDM/Track")];
|
|
WCHAR sz017[CCH_WMDM_PROPNAME(L"WMDM/Genre")];
|
|
WCHAR sz018[CCH_WMDM_PROPNAME(L"WMDM/TrackMood")];
|
|
WCHAR sz019[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverFormat")];
|
|
WCHAR sz020[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverSize")];
|
|
WCHAR sz021[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverHeight")];
|
|
WCHAR sz022[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverWidth")];
|
|
WCHAR sz023[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverDuration")];
|
|
WCHAR sz024[CCH_WMDM_PROPNAME(L"WMDM/AlbumCoverData")];
|
|
WCHAR sz025[CCH_WMDM_PROPNAME(L"WMDM/Year")];
|
|
WCHAR sz026[CCH_WMDM_PROPNAME(L"WMDM/Composer")];
|
|
WCHAR sz027[CCH_WMDM_PROPNAME(L"WMDM/Codec")];
|
|
WCHAR sz028[CCH_WMDM_PROPNAME(L"WMDM/DRMId")];
|
|
WCHAR sz029[CCH_WMDM_PROPNAME(L"WMDM/Bitrate")];
|
|
WCHAR sz030[CCH_WMDM_PROPNAME(L"WMDM/BitRateType")];
|
|
WCHAR sz031[CCH_WMDM_PROPNAME(L"WMDM/SampleRate")];
|
|
WCHAR sz032[CCH_WMDM_PROPNAME(L"WMDM/NumChannels")];
|
|
WCHAR sz033[CCH_WMDM_PROPNAME(L"WMDM/BlockAlignment")];
|
|
WCHAR sz034[CCH_WMDM_PROPNAME(L"WMDM/AudioBitDepth")];
|
|
WCHAR sz035[CCH_WMDM_PROPNAME(L"WMDM/TotalBitrate")];
|
|
WCHAR sz036[CCH_WMDM_PROPNAME(L"WMDM/VideoBitrate")];
|
|
WCHAR sz037[CCH_WMDM_PROPNAME(L"WMDM/FrameRate")];
|
|
WCHAR sz041[CCH_WMDM_PROPNAME(L"WMDM/ScanType")];
|
|
WCHAR sz043[CCH_WMDM_PROPNAME(L"WMDM/KeyFrameDistance")];
|
|
WCHAR sz044[CCH_WMDM_PROPNAME(L"WMDM/BufferSize")];
|
|
WCHAR sz045[CCH_WMDM_PROPNAME(L"WMDM/QualitySetting")];
|
|
WCHAR sz046[CCH_WMDM_PROPNAME(L"WMDM/Duration")];
|
|
WCHAR sz047[CCH_WMDM_PROPNAME(L"WMDM/AlbumArt")];
|
|
WCHAR sz048[CCH_WMDM_PROPNAME(L"WMDM/BuyNow")];
|
|
WCHAR sz049[CCH_WMDM_PROPNAME(L"WMDM/MediaClassPrimaryID")];
|
|
WCHAR sz050[CCH_WMDM_PROPNAME(L"WMDM/MediaClassSecondayID")];
|
|
WCHAR sz051[CCH_WMDM_PROPNAME(L"WMDM/UserEffectiveRating")];
|
|
WCHAR sz052[CCH_WMDM_PROPNAME(L"WMDM/UserRating")];
|
|
WCHAR sz053[CCH_WMDM_PROPNAME(L"WMDM/UserRatingOnDevice")];
|
|
WCHAR sz054[CCH_WMDM_PROPNAME(L"WMDM/PlayCount")];
|
|
WCHAR sz055[CCH_WMDM_PROPNAME(L"WMDM/DevicePlayCount")];
|
|
WCHAR sz056[CCH_WMDM_PROPNAME(L"WMDM/AuthorDate")];
|
|
WCHAR sz057[CCH_WMDM_PROPNAME(L"WMDM/UserLastPlayTime")];
|
|
WCHAR sz058[CCH_WMDM_PROPNAME(L"WMDM/SubTitle")];
|
|
WCHAR sz059[CCH_WMDM_PROPNAME(L"WMDM/SubTitleDescription")];
|
|
WCHAR sz060[CCH_WMDM_PROPNAME(L"WMDM/MediaCredits")];
|
|
WCHAR sz061[CCH_WMDM_PROPNAME(L"WMDM/MediaStationName")];
|
|
WCHAR sz062[CCH_WMDM_PROPNAME(L"WMDM/MediaOriginalChannel")];
|
|
WCHAR sz063[CCH_WMDM_PROPNAME(L"WMDM/MediaOriginalBroadcastDateTime")];
|
|
WCHAR sz064[CCH_WMDM_PROPNAME(L"WMDM/ProviderCopyright")];
|
|
WCHAR sz065[CCH_WMDM_PROPNAME(L"WMDM/SyncID")];
|
|
WCHAR sz066[CCH_WMDM_PROPNAME(L"WMDM/PersistentUniqueID")];
|
|
WCHAR sz067[CCH_WMDM_PROPNAME(L"WMDM/Width")];
|
|
WCHAR sz068[CCH_WMDM_PROPNAME(L"WMDM/Height")];
|
|
WCHAR sz069[CCH_WMDM_PROPNAME(L"WMDM/SyncTime")];
|
|
WCHAR sz070[CCH_WMDM_PROPNAME(L"WMDM/ParentalRating")];
|
|
WCHAR sz071[CCH_WMDM_PROPNAME(L"WMDM/MetaGenre")];
|
|
WCHAR sz072[CCH_WMDM_PROPNAME(L"WMDM/IsRepeat")];
|
|
WCHAR sz073[CCH_WMDM_PROPNAME(L"WMDM/SupportedDeviceProperties")];
|
|
WCHAR sz074[CCH_WMDM_PROPNAME(L"WMDM/DeviceFriendlyName")];
|
|
WCHAR sz075[CCH_WMDM_PROPNAME(L"WMDM/FormatsSupported")];
|
|
WCHAR sz076[CCH_WMDM_PROPNAME(L"WMDM/SyncRelationshipID")];
|
|
WCHAR sz077[CCH_WMDM_PROPNAME(L"WMDM/DeviceModelName")];
|
|
WCHAR sz078[CCH_WMDM_PROPNAME(L"WMDM/DeviceFirmwareVersion")];
|
|
WCHAR sz079[CCH_WMDM_PROPNAME(L"WMDM/DeviceVendorExtension")];
|
|
WCHAR sz080[CCH_WMDM_PROPNAME(L"WMDM/DeviceProtocol")];
|
|
WCHAR sz081[CCH_WMDM_PROPNAME(L"WMDM/DeviceServiceProviderVendor")];
|
|
WCHAR sz082[CCH_WMDM_PROPNAME(L"WMDM/EncodingProfile")];
|
|
WCHAR sz083[CCH_WMDM_PROPNAME(L"WMDM/FormatsSupportedAreOrdered")];
|
|
WCHAR sz084[CCH_WMDM_PROPNAME(L"WMDM/DeviceRevocationInfo")];
|
|
WCHAR sz085[CCH_WMDM_PROPNAME(L"WMDM/CollectionID")];
|
|
WCHAR sz086[CCH_WMDM_PROPNAME(L"WPD/PassthroughPropertyValues")];
|
|
};
|
|
#define WMDM_MAXLEN_PROPERTYNAME (sizeof(WMDMDetermineMaxPropStringLen)/sizeof(WCHAR))
|
|
// Open Mode Flags
|
|
#define MDSP_READ 0x00000001
|
|
#define MDSP_WRITE 0x00000002
|
|
// Seek Flags
|
|
#define MDSP_SEEK_BOF 0x00000001
|
|
#define MDSP_SEEK_CUR 0x00000002
|
|
#define MDSP_SEEK_EOF 0x00000004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0028_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0028_v0_0_s_ifspec;
|
|
|
|
#ifndef __IMDServiceProvider_INTERFACE_DEFINED__
|
|
#define __IMDServiceProvider_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDServiceProvider */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDServiceProvider;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A10-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDServiceProvider : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetDeviceCount(
|
|
/* [out] */ __RPC__out DWORD *pdwCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumDevices(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDServiceProviderVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDServiceProvider * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDServiceProvider * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDServiceProvider * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
|
|
IMDServiceProvider * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
|
|
IMDServiceProvider * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
|
|
|
|
END_INTERFACE
|
|
} IMDServiceProviderVtbl;
|
|
|
|
interface IMDServiceProvider
|
|
{
|
|
CONST_VTBL struct IMDServiceProviderVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDServiceProvider_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDServiceProvider_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDServiceProvider_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDServiceProvider_GetDeviceCount(This,pdwCount) \
|
|
( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
|
|
|
|
#define IMDServiceProvider_EnumDevices(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDServiceProvider_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDServiceProvider2_INTERFACE_DEFINED__
|
|
#define __IMDServiceProvider2_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDServiceProvider2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDServiceProvider2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("B2FA24B7-CDA3-4694-9862-413AE1A34819")
|
|
IMDServiceProvider2 : public IMDServiceProvider
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE CreateDevice(
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszDevicePath,
|
|
/* [out] */ __RPC__out DWORD *pdwCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwCount) IMDSPDevice ***pppDeviceArray) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDServiceProvider2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDServiceProvider2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDServiceProvider2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDServiceProvider2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
|
|
IMDServiceProvider2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
|
|
IMDServiceProvider2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
|
|
IMDServiceProvider2 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszDevicePath,
|
|
/* [out] */ __RPC__out DWORD *pdwCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwCount) IMDSPDevice ***pppDeviceArray);
|
|
|
|
END_INTERFACE
|
|
} IMDServiceProvider2Vtbl;
|
|
|
|
interface IMDServiceProvider2
|
|
{
|
|
CONST_VTBL struct IMDServiceProvider2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDServiceProvider2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDServiceProvider2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDServiceProvider2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDServiceProvider2_GetDeviceCount(This,pdwCount) \
|
|
( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
|
|
|
|
#define IMDServiceProvider2_EnumDevices(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
|
|
|
|
|
|
#define IMDServiceProvider2_CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) \
|
|
( (This)->lpVtbl -> CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDServiceProvider2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDServiceProvider3_INTERFACE_DEFINED__
|
|
#define __IMDServiceProvider3_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDServiceProvider3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDServiceProvider3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("4ed13ef3-a971-4d19-9f51-0e1826b2da57")
|
|
IMDServiceProvider3 : public IMDServiceProvider2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetDeviceEnumPreference(
|
|
/* [in] */ DWORD dwEnumPref) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDServiceProvider3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDServiceProvider3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDServiceProvider3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDServiceProvider3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceCount )(
|
|
IMDServiceProvider3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
|
|
IMDServiceProvider3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateDevice )(
|
|
IMDServiceProvider3 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pwszDevicePath,
|
|
/* [out] */ __RPC__out DWORD *pdwCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwCount) IMDSPDevice ***pppDeviceArray);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetDeviceEnumPreference )(
|
|
IMDServiceProvider3 * This,
|
|
/* [in] */ DWORD dwEnumPref);
|
|
|
|
END_INTERFACE
|
|
} IMDServiceProvider3Vtbl;
|
|
|
|
interface IMDServiceProvider3
|
|
{
|
|
CONST_VTBL struct IMDServiceProvider3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDServiceProvider3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDServiceProvider3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDServiceProvider3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDServiceProvider3_GetDeviceCount(This,pdwCount) \
|
|
( (This)->lpVtbl -> GetDeviceCount(This,pdwCount) )
|
|
|
|
#define IMDServiceProvider3_EnumDevices(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> EnumDevices(This,ppEnumDevice) )
|
|
|
|
|
|
#define IMDServiceProvider3_CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) \
|
|
( (This)->lpVtbl -> CreateDevice(This,pwszDevicePath,pdwCount,pppDeviceArray) )
|
|
|
|
|
|
#define IMDServiceProvider3_SetDeviceEnumPreference(This,dwEnumPref) \
|
|
( (This)->lpVtbl -> SetDeviceEnumPreference(This,dwEnumPref) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDServiceProvider3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPEnumDevice_INTERFACE_DEFINED__
|
|
#define __IMDSPEnumDevice_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPEnumDevice */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPEnumDevice;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A11-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPEnumDevice : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPDevice **ppDevice,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPEnumDeviceVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPEnumDevice * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPEnumDevice * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPEnumDevice * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Next )(
|
|
IMDSPEnumDevice * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPDevice **ppDevice,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
|
IMDSPEnumDevice * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
|
IMDSPEnumDevice * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
|
IMDSPEnumDevice * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumDevice **ppEnumDevice);
|
|
|
|
END_INTERFACE
|
|
} IMDSPEnumDeviceVtbl;
|
|
|
|
interface IMDSPEnumDevice
|
|
{
|
|
CONST_VTBL struct IMDSPEnumDeviceVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPEnumDevice_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPEnumDevice_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPEnumDevice_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPEnumDevice_Next(This,celt,ppDevice,pceltFetched) \
|
|
( (This)->lpVtbl -> Next(This,celt,ppDevice,pceltFetched) )
|
|
|
|
#define IMDSPEnumDevice_Skip(This,celt,pceltFetched) \
|
|
( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
|
|
|
|
#define IMDSPEnumDevice_Reset(This) \
|
|
( (This)->lpVtbl -> Reset(This) )
|
|
|
|
#define IMDSPEnumDevice_Clone(This,ppEnumDevice) \
|
|
( (This)->lpVtbl -> Clone(This,ppEnumDevice) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPEnumDevice_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDevice_INTERFACE_DEFINED__
|
|
#define __IMDSPDevice_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPDevice */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPDevice;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A12-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPDevice : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetName(
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetManufacturer(
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetVersion(
|
|
/* [out] */ __RPC__out DWORD *pdwVersion) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetType(
|
|
/* [out] */ __RPC__out DWORD *pdwType) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPowerSource(
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatus(
|
|
/* [out] */ __RPC__out DWORD *pdwStatus) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDeviceIcon(
|
|
/* [out] */ __RPC__out ULONG *hIcon) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumStorage(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFormatSupport(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPDeviceVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPDevice * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPDevice * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPDevice * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IMDSPDevice * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
|
|
IMDSPDevice * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetVersion )(
|
|
IMDSPDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwVersion);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
|
IMDSPDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwType);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IMDSPDevice * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
|
|
IMDSPDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IMDSPDevice * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
|
|
IMDSPDevice * This,
|
|
/* [out] */ __RPC__out ULONG *hIcon);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IMDSPDevice * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
|
|
IMDSPDevice * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IMDSPDevice * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
END_INTERFACE
|
|
} IMDSPDeviceVtbl;
|
|
|
|
interface IMDSPDevice
|
|
{
|
|
CONST_VTBL struct IMDSPDeviceVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPDevice_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPDevice_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPDevice_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPDevice_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPDevice_GetManufacturer(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPDevice_GetVersion(This,pdwVersion) \
|
|
( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
|
|
|
|
#define IMDSPDevice_GetType(This,pdwType) \
|
|
( (This)->lpVtbl -> GetType(This,pdwType) )
|
|
|
|
#define IMDSPDevice_GetSerialNumber(This,pSerialNumber,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
|
|
|
|
#define IMDSPDevice_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
|
|
( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
|
|
|
|
#define IMDSPDevice_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IMDSPDevice_GetDeviceIcon(This,hIcon) \
|
|
( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
|
|
|
|
#define IMDSPDevice_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IMDSPDevice_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
|
|
|
|
#define IMDSPDevice_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPDevice_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDevice2_INTERFACE_DEFINED__
|
|
#define __IMDSPDevice2_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPDevice2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPDevice2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("420D16AD-C97D-4e00-82AA-00E9F4335DDD")
|
|
IMDSPDevice2 : public IMDSPDevice
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetStorage(
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFormatSupport2(
|
|
/* [in] */ DWORD dwFlags,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
|
|
/* [ref][out] */ __RPC__out UINT *pnFileTypeCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSpecifyPropertyPages(
|
|
/* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
|
|
/* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
|
|
/* [ref][out] */ __RPC__out ULONG *pcUnks) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
|
|
/* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPDevice2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPDevice2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPDevice2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPDevice2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IMDSPDevice2 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
|
|
IMDSPDevice2 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetVersion )(
|
|
IMDSPDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwVersion);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
|
IMDSPDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwType);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IMDSPDevice2 * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
|
|
IMDSPDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IMDSPDevice2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
|
|
IMDSPDevice2 * This,
|
|
/* [out] */ __RPC__out ULONG *hIcon);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IMDSPDevice2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
|
|
IMDSPDevice2 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IMDSPDevice2 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IMDSPDevice2 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
|
|
IMDSPDevice2 * This,
|
|
/* [in] */ DWORD dwFlags,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
|
|
/* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
|
|
IMDSPDevice2 * This,
|
|
/* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
|
|
/* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
|
|
/* [ref][out] */ __RPC__out ULONG *pcUnks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
|
|
IMDSPDevice2 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
END_INTERFACE
|
|
} IMDSPDevice2Vtbl;
|
|
|
|
interface IMDSPDevice2
|
|
{
|
|
CONST_VTBL struct IMDSPDevice2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPDevice2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPDevice2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPDevice2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPDevice2_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPDevice2_GetManufacturer(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPDevice2_GetVersion(This,pdwVersion) \
|
|
( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
|
|
|
|
#define IMDSPDevice2_GetType(This,pdwType) \
|
|
( (This)->lpVtbl -> GetType(This,pdwType) )
|
|
|
|
#define IMDSPDevice2_GetSerialNumber(This,pSerialNumber,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
|
|
|
|
#define IMDSPDevice2_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
|
|
( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
|
|
|
|
#define IMDSPDevice2_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IMDSPDevice2_GetDeviceIcon(This,hIcon) \
|
|
( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
|
|
|
|
#define IMDSPDevice2_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IMDSPDevice2_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
|
|
|
|
#define IMDSPDevice2_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IMDSPDevice2_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IMDSPDevice2_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
|
|
|
|
#define IMDSPDevice2_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
|
|
( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
|
|
|
|
#define IMDSPDevice2_GetCanonicalName(This,pwszPnPName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPDevice2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDevice3_INTERFACE_DEFINED__
|
|
#define __IMDSPDevice3_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPDevice3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPDevice3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1a839845-fc55-487c-976f-ee38ac0e8c4e")
|
|
IMDSPDevice3 : public IMDSPDevice2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetProperty(
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [out] */ __RPC__out PROPVARIANT *pValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProperty(
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [in] */ __RPC__in const PROPVARIANT *pValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFormatCapability(
|
|
/* [in] */ WMDM_FORMATCODE format,
|
|
/* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DeviceIoControl(
|
|
/* [in] */ DWORD dwIoControlCode,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
|
|
/* [in] */ DWORD nInBufferSize,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
|
|
/* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FindStorage(
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPDevice3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPDevice3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPDevice3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPDevice3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IMDSPDevice3 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetManufacturer )(
|
|
IMDSPDevice3 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetVersion )(
|
|
IMDSPDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwVersion);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
|
IMDSPDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwType);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IMDSPDevice3 * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNumber,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPowerSource )(
|
|
IMDSPDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwPowerSource,
|
|
/* [out] */ __RPC__out DWORD *pdwPercentRemaining);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IMDSPDevice3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDeviceIcon )(
|
|
IMDSPDevice3 * This,
|
|
/* [out] */ __RPC__out ULONG *hIcon);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IMDSPDevice3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport )(
|
|
IMDSPDevice3 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFormatCount) _WAVEFORMATEX **pFormatEx,
|
|
/* [out] */ __RPC__out UINT *pnFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnMimeTypeCount) LPWSTR **pppwszMimeType,
|
|
/* [out] */ __RPC__out UINT *pnMimeTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IMDSPDevice3 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IMDSPDevice3 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatSupport2 )(
|
|
IMDSPDevice3 * This,
|
|
/* [in] */ DWORD dwFlags,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnAudioFormatCount) _WAVEFORMATEX **ppAudioFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnAudioFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnVideoFormatCount) _VIDEOINFOHEADER **ppVideoFormatEx,
|
|
/* [ref][out] */ __RPC__out UINT *pnVideoFormatCount,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnFileTypeCount) WMFILECAPABILITIES **ppFileType,
|
|
/* [ref][out] */ __RPC__out UINT *pnFileTypeCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSpecifyPropertyPages )(
|
|
IMDSPDevice3 * This,
|
|
/* [ref][out] */ __RPC__deref_out_opt ISpecifyPropertyPages **ppSpecifyPropPages,
|
|
/* [size_is][size_is][ref][out] */ __RPC__deref_out_ecount_full_opt(*pcUnks) IUnknown ***pppUnknowns,
|
|
/* [ref][out] */ __RPC__out ULONG *pcUnks);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
|
|
IMDSPDevice3 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(nMaxChars) LPWSTR pwszPnPName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetProperty )(
|
|
IMDSPDevice3 * This,
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [out] */ __RPC__out PROPVARIANT *pValue);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetProperty )(
|
|
IMDSPDevice3 * This,
|
|
/* [in] */ __RPC__in LPCWSTR pwszPropName,
|
|
/* [in] */ __RPC__in const PROPVARIANT *pValue);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetFormatCapability )(
|
|
IMDSPDevice3 * This,
|
|
/* [in] */ WMDM_FORMATCODE format,
|
|
/* [out] */ __RPC__out WMDM_FORMAT_CAPABILITY *pFormatSupport);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *DeviceIoControl )(
|
|
IMDSPDevice3 * This,
|
|
/* [in] */ DWORD dwIoControlCode,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(nInBufferSize) BYTE *lpInBuffer,
|
|
/* [in] */ DWORD nInBufferSize,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pnOutBufferSize) BYTE *lpOutBuffer,
|
|
/* [out][in] */ __RPC__inout LPDWORD pnOutBufferSize);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *FindStorage )(
|
|
IMDSPDevice3 * This,
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
END_INTERFACE
|
|
} IMDSPDevice3Vtbl;
|
|
|
|
interface IMDSPDevice3
|
|
{
|
|
CONST_VTBL struct IMDSPDevice3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPDevice3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPDevice3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPDevice3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPDevice3_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPDevice3_GetManufacturer(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetManufacturer(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPDevice3_GetVersion(This,pdwVersion) \
|
|
( (This)->lpVtbl -> GetVersion(This,pdwVersion) )
|
|
|
|
#define IMDSPDevice3_GetType(This,pdwType) \
|
|
( (This)->lpVtbl -> GetType(This,pdwType) )
|
|
|
|
#define IMDSPDevice3_GetSerialNumber(This,pSerialNumber,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNumber,abMac) )
|
|
|
|
#define IMDSPDevice3_GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) \
|
|
( (This)->lpVtbl -> GetPowerSource(This,pdwPowerSource,pdwPercentRemaining) )
|
|
|
|
#define IMDSPDevice3_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IMDSPDevice3_GetDeviceIcon(This,hIcon) \
|
|
( (This)->lpVtbl -> GetDeviceIcon(This,hIcon) )
|
|
|
|
#define IMDSPDevice3_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IMDSPDevice3_GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport(This,pFormatEx,pnFormatCount,pppwszMimeType,pnMimeTypeCount) )
|
|
|
|
#define IMDSPDevice3_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IMDSPDevice3_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IMDSPDevice3_GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) \
|
|
( (This)->lpVtbl -> GetFormatSupport2(This,dwFlags,ppAudioFormatEx,pnAudioFormatCount,ppVideoFormatEx,pnVideoFormatCount,ppFileType,pnFileTypeCount) )
|
|
|
|
#define IMDSPDevice3_GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) \
|
|
( (This)->lpVtbl -> GetSpecifyPropertyPages(This,ppSpecifyPropPages,pppUnknowns,pcUnks) )
|
|
|
|
#define IMDSPDevice3_GetCanonicalName(This,pwszPnPName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetCanonicalName(This,pwszPnPName,nMaxChars) )
|
|
|
|
|
|
#define IMDSPDevice3_GetProperty(This,pwszPropName,pValue) \
|
|
( (This)->lpVtbl -> GetProperty(This,pwszPropName,pValue) )
|
|
|
|
#define IMDSPDevice3_SetProperty(This,pwszPropName,pValue) \
|
|
( (This)->lpVtbl -> SetProperty(This,pwszPropName,pValue) )
|
|
|
|
#define IMDSPDevice3_GetFormatCapability(This,format,pFormatSupport) \
|
|
( (This)->lpVtbl -> GetFormatCapability(This,format,pFormatSupport) )
|
|
|
|
#define IMDSPDevice3_DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) \
|
|
( (This)->lpVtbl -> DeviceIoControl(This,dwIoControlCode,lpInBuffer,nInBufferSize,lpOutBuffer,pnOutBufferSize) )
|
|
|
|
#define IMDSPDevice3_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
|
|
( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPDevice3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDeviceControl_INTERFACE_DEFINED__
|
|
#define __IMDSPDeviceControl_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPDeviceControl */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPDeviceControl;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A14-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPDeviceControl : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetDCStatus(
|
|
/* [out] */ __RPC__out DWORD *pdwStatus) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilitiesMask) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Record(
|
|
/* [in] */ __RPC__in _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Seek(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ int nOffset) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPDeviceControlVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPDeviceControl * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPDeviceControl * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDCStatus )(
|
|
IMDSPDeviceControl * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
|
|
IMDSPDeviceControl * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilitiesMask);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Play )(
|
|
IMDSPDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Record )(
|
|
IMDSPDeviceControl * This,
|
|
/* [in] */ __RPC__in _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Pause )(
|
|
IMDSPDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Resume )(
|
|
IMDSPDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Stop )(
|
|
IMDSPDeviceControl * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Seek )(
|
|
IMDSPDeviceControl * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ int nOffset);
|
|
|
|
END_INTERFACE
|
|
} IMDSPDeviceControlVtbl;
|
|
|
|
interface IMDSPDeviceControl
|
|
{
|
|
CONST_VTBL struct IMDSPDeviceControlVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPDeviceControl_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPDeviceControl_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPDeviceControl_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPDeviceControl_GetDCStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetDCStatus(This,pdwStatus) )
|
|
|
|
#define IMDSPDeviceControl_GetCapabilities(This,pdwCapabilitiesMask) \
|
|
( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilitiesMask) )
|
|
|
|
#define IMDSPDeviceControl_Play(This) \
|
|
( (This)->lpVtbl -> Play(This) )
|
|
|
|
#define IMDSPDeviceControl_Record(This,pFormat) \
|
|
( (This)->lpVtbl -> Record(This,pFormat) )
|
|
|
|
#define IMDSPDeviceControl_Pause(This) \
|
|
( (This)->lpVtbl -> Pause(This) )
|
|
|
|
#define IMDSPDeviceControl_Resume(This) \
|
|
( (This)->lpVtbl -> Resume(This) )
|
|
|
|
#define IMDSPDeviceControl_Stop(This) \
|
|
( (This)->lpVtbl -> Stop(This) )
|
|
|
|
#define IMDSPDeviceControl_Seek(This,fuMode,nOffset) \
|
|
( (This)->lpVtbl -> Seek(This,fuMode,nOffset) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPDeviceControl_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPEnumStorage_INTERFACE_DEFINED__
|
|
#define __IMDSPEnumStorage_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPEnumStorage */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPEnumStorage;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A15-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPEnumStorage : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPStorage **ppStorage,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPEnumStorageVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPEnumStorage * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPEnumStorage * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPEnumStorage * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Next )(
|
|
IMDSPEnumStorage * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) IMDSPStorage **ppStorage,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
|
IMDSPEnumStorage * This,
|
|
/* [in] */ ULONG celt,
|
|
/* [out] */ __RPC__out ULONG *pceltFetched);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
|
IMDSPEnumStorage * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
|
IMDSPEnumStorage * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
END_INTERFACE
|
|
} IMDSPEnumStorageVtbl;
|
|
|
|
interface IMDSPEnumStorage
|
|
{
|
|
CONST_VTBL struct IMDSPEnumStorageVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPEnumStorage_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPEnumStorage_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPEnumStorage_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPEnumStorage_Next(This,celt,ppStorage,pceltFetched) \
|
|
( (This)->lpVtbl -> Next(This,celt,ppStorage,pceltFetched) )
|
|
|
|
#define IMDSPEnumStorage_Skip(This,celt,pceltFetched) \
|
|
( (This)->lpVtbl -> Skip(This,celt,pceltFetched) )
|
|
|
|
#define IMDSPEnumStorage_Reset(This) \
|
|
( (This)->lpVtbl -> Reset(This) )
|
|
|
|
#define IMDSPEnumStorage_Clone(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> Clone(This,ppEnumStorage) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPEnumStorage_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage_INTERFACE_DEFINED__
|
|
#define __IMDSPStorage_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPStorage */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPStorage;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A16-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPStorage : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetAttributes(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStorageGlobals(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributes(
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetName(
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDate(
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSize(
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetRights(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateStorage(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumStorage(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SendOpaqueCommand(
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPStorageVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPStorage * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPStorage * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPStorage * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IMDSPStorage * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IMDSPStorage * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IMDSPStorage * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IMDSPStorage * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IMDSPStorage * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IMDSPStorage * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IMDSPStorage * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
|
|
IMDSPStorage * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IMDSPStorage * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IMDSPStorage * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
END_INTERFACE
|
|
} IMDSPStorageVtbl;
|
|
|
|
interface IMDSPStorage
|
|
{
|
|
CONST_VTBL struct IMDSPStorageVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPStorage_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPStorage_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPStorage_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPStorage_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IMDSPStorage_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPStorage_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IMDSPStorage_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IMDSPStorage_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IMDSPStorage_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
|
|
|
|
#define IMDSPStorage_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IMDSPStorage_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPStorage_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage2_INTERFACE_DEFINED__
|
|
#define __IMDSPStorage2_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPStorage2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPStorage2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("0A5E07A5-6454-4451-9C36-1C6AE7E2B1D6")
|
|
IMDSPStorage2 : public IMDSPStorage
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetStorage(
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateStorage2(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [in] */ ULONGLONG qwFileSize,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetAttributes2(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributes2(
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPStorage2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPStorage2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPStorage2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPStorage2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IMDSPStorage2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IMDSPStorage2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IMDSPStorage2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IMDSPStorage2 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IMDSPStorage2 * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IMDSPStorage2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IMDSPStorage2 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
|
|
IMDSPStorage2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IMDSPStorage2 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IMDSPStorage2 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IMDSPStorage2 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorage2 )(
|
|
IMDSPStorage2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [in] */ ULONGLONG qwFileSize,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
|
|
IMDSPStorage2 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
|
|
IMDSPStorage2 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
END_INTERFACE
|
|
} IMDSPStorage2Vtbl;
|
|
|
|
interface IMDSPStorage2
|
|
{
|
|
CONST_VTBL struct IMDSPStorage2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPStorage2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPStorage2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPStorage2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPStorage2_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage2_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IMDSPStorage2_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage2_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPStorage2_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IMDSPStorage2_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IMDSPStorage2_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IMDSPStorage2_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
|
|
|
|
#define IMDSPStorage2_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IMDSPStorage2_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IMDSPStorage2_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IMDSPStorage2_CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) )
|
|
|
|
#define IMDSPStorage2_SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
#define IMDSPStorage2_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPStorage2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage3_INTERFACE_DEFINED__
|
|
#define __IMDSPStorage3_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPStorage3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPStorage3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("6C669867-97ED-4a67-9706-1C5529D2A414")
|
|
IMDSPStorage3 : public IMDSPStorage2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetMetadata(
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMetadata(
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPStorage3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPStorage3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPStorage3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPStorage3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IMDSPStorage3 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IMDSPStorage3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IMDSPStorage3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IMDSPStorage3 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IMDSPStorage3 * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IMDSPStorage3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IMDSPStorage3 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
|
|
IMDSPStorage3 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IMDSPStorage3 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IMDSPStorage3 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IMDSPStorage3 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorage2 )(
|
|
IMDSPStorage3 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [in] */ ULONGLONG qwFileSize,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
|
|
IMDSPStorage3 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
|
|
IMDSPStorage3 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
|
|
IMDSPStorage3 * This,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
|
|
IMDSPStorage3 * This,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
|
|
|
|
END_INTERFACE
|
|
} IMDSPStorage3Vtbl;
|
|
|
|
interface IMDSPStorage3
|
|
{
|
|
CONST_VTBL struct IMDSPStorage3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPStorage3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPStorage3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPStorage3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPStorage3_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage3_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IMDSPStorage3_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage3_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPStorage3_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IMDSPStorage3_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IMDSPStorage3_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IMDSPStorage3_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
|
|
|
|
#define IMDSPStorage3_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IMDSPStorage3_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IMDSPStorage3_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IMDSPStorage3_CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) )
|
|
|
|
#define IMDSPStorage3_SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
#define IMDSPStorage3_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
|
|
#define IMDSPStorage3_GetMetadata(This,pMetadata) \
|
|
( (This)->lpVtbl -> GetMetadata(This,pMetadata) )
|
|
|
|
#define IMDSPStorage3_SetMetadata(This,pMetadata) \
|
|
( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPStorage3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorage4_INTERFACE_DEFINED__
|
|
#define __IMDSPStorage4_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPStorage4 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPStorage4;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("3133b2c4-515c-481b-b1ce-39327ecb4f74")
|
|
IMDSPStorage4 : public IMDSPStorage3
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SetReferences(
|
|
/* [in] */ DWORD dwRefs,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IMDSPStorage **ppISPStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetReferences(
|
|
/* [out] */ __RPC__out DWORD *pdwRefs,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IMDSPStorage ***pppISPStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateStorageWithMetadata(
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ __RPC__in LPCWSTR pwszName,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata,
|
|
/* [in] */ ULONGLONG qwFileSize,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSpecifiedMetadata(
|
|
/* [in] */ DWORD cProperties,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FindStorage(
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetParent(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPStorage4Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPStorage4 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPStorage4 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorageGlobals )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorageGlobals **ppStorageGlobals);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetName )(
|
|
IMDSPStorage4 * This,
|
|
/* [size_is][string][out] */ __RPC__out_ecount_full_string(nMaxChars) LPWSTR pwszName,
|
|
/* [in] */ UINT nMaxChars);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDate )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__out PWMDMDATETIME pDateTimeUTC);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSize )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
IMDSPStorage4 * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorage )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EnumStorage )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPEnumStorage **ppEnumStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SendOpaqueCommand )(
|
|
IMDSPStorage4 * This,
|
|
/* [out][in] */ __RPC__inout OPAQUECOMMAND *pCommand);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStorage )(
|
|
IMDSPStorage4 * This,
|
|
/* [string][in] */ __RPC__in LPCWSTR pszStorageName,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorage2 )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat,
|
|
/* [in] */ __RPC__in LPWSTR pwszName,
|
|
/* [in] */ ULONGLONG qwFileSize,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetAttributes2 )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ DWORD dwAttributesEx,
|
|
/* [unique][in] */ __RPC__in_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][in] */ __RPC__in_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetAttributes2 )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributes,
|
|
/* [out] */ __RPC__out DWORD *pdwAttributesEx,
|
|
/* [unique][out][in] */ __RPC__inout_opt _WAVEFORMATEX *pAudioFormat,
|
|
/* [unique][out][in] */ __RPC__inout_opt _VIDEOINFOHEADER *pVideoFormat);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetMetadata )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetMetadata )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetReferences )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ DWORD dwRefs,
|
|
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(dwRefs) IMDSPStorage **ppISPStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetReferences )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__out DWORD *pdwRefs,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwRefs) IMDSPStorage ***pppISPStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *CreateStorageWithMetadata )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ DWORD dwAttributes,
|
|
/* [in] */ __RPC__in LPCWSTR pwszName,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata,
|
|
/* [in] */ ULONGLONG qwFileSize,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSpecifiedMetadata )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ DWORD cProperties,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(cProperties) LPCWSTR *ppwszPropNames,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pMetadata);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *FindStorage )(
|
|
IMDSPStorage4 * This,
|
|
/* [in] */ WMDM_FIND_SCOPE findScope,
|
|
/* [in] */ __RPC__in LPCWSTR pwszUniqueID,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetParent )(
|
|
IMDSPStorage4 * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppStorage);
|
|
|
|
END_INTERFACE
|
|
} IMDSPStorage4Vtbl;
|
|
|
|
interface IMDSPStorage4
|
|
{
|
|
CONST_VTBL struct IMDSPStorage4Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPStorage4_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPStorage4_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPStorage4_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPStorage4_SetAttributes(This,dwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> SetAttributes(This,dwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage4_GetStorageGlobals(This,ppStorageGlobals) \
|
|
( (This)->lpVtbl -> GetStorageGlobals(This,ppStorageGlobals) )
|
|
|
|
#define IMDSPStorage4_GetAttributes(This,pdwAttributes,pFormat) \
|
|
( (This)->lpVtbl -> GetAttributes(This,pdwAttributes,pFormat) )
|
|
|
|
#define IMDSPStorage4_GetName(This,pwszName,nMaxChars) \
|
|
( (This)->lpVtbl -> GetName(This,pwszName,nMaxChars) )
|
|
|
|
#define IMDSPStorage4_GetDate(This,pDateTimeUTC) \
|
|
( (This)->lpVtbl -> GetDate(This,pDateTimeUTC) )
|
|
|
|
#define IMDSPStorage4_GetSize(This,pdwSizeLow,pdwSizeHigh) \
|
|
( (This)->lpVtbl -> GetSize(This,pdwSizeLow,pdwSizeHigh) )
|
|
|
|
#define IMDSPStorage4_GetRights(This,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,ppRights,pnRightsCount,abMac) )
|
|
|
|
#define IMDSPStorage4_CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorage(This,dwAttributes,pFormat,pwszName,ppNewStorage) )
|
|
|
|
#define IMDSPStorage4_EnumStorage(This,ppEnumStorage) \
|
|
( (This)->lpVtbl -> EnumStorage(This,ppEnumStorage) )
|
|
|
|
#define IMDSPStorage4_SendOpaqueCommand(This,pCommand) \
|
|
( (This)->lpVtbl -> SendOpaqueCommand(This,pCommand) )
|
|
|
|
|
|
#define IMDSPStorage4_GetStorage(This,pszStorageName,ppStorage) \
|
|
( (This)->lpVtbl -> GetStorage(This,pszStorageName,ppStorage) )
|
|
|
|
#define IMDSPStorage4_CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorage2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat,pwszName,qwFileSize,ppNewStorage) )
|
|
|
|
#define IMDSPStorage4_SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> SetAttributes2(This,dwAttributes,dwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
#define IMDSPStorage4_GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) \
|
|
( (This)->lpVtbl -> GetAttributes2(This,pdwAttributes,pdwAttributesEx,pAudioFormat,pVideoFormat) )
|
|
|
|
|
|
#define IMDSPStorage4_GetMetadata(This,pMetadata) \
|
|
( (This)->lpVtbl -> GetMetadata(This,pMetadata) )
|
|
|
|
#define IMDSPStorage4_SetMetadata(This,pMetadata) \
|
|
( (This)->lpVtbl -> SetMetadata(This,pMetadata) )
|
|
|
|
|
|
#define IMDSPStorage4_SetReferences(This,dwRefs,ppISPStorage) \
|
|
( (This)->lpVtbl -> SetReferences(This,dwRefs,ppISPStorage) )
|
|
|
|
#define IMDSPStorage4_GetReferences(This,pdwRefs,pppISPStorage) \
|
|
( (This)->lpVtbl -> GetReferences(This,pdwRefs,pppISPStorage) )
|
|
|
|
#define IMDSPStorage4_CreateStorageWithMetadata(This,dwAttributes,pwszName,pMetadata,qwFileSize,ppNewStorage) \
|
|
( (This)->lpVtbl -> CreateStorageWithMetadata(This,dwAttributes,pwszName,pMetadata,qwFileSize,ppNewStorage) )
|
|
|
|
#define IMDSPStorage4_GetSpecifiedMetadata(This,cProperties,ppwszPropNames,pMetadata) \
|
|
( (This)->lpVtbl -> GetSpecifiedMetadata(This,cProperties,ppwszPropNames,pMetadata) )
|
|
|
|
#define IMDSPStorage4_FindStorage(This,findScope,pwszUniqueID,ppStorage) \
|
|
( (This)->lpVtbl -> FindStorage(This,findScope,pwszUniqueID,ppStorage) )
|
|
|
|
#define IMDSPStorage4_GetParent(This,ppStorage) \
|
|
( (This)->lpVtbl -> GetParent(This,ppStorage) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPStorage4_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPStorageGlobals_INTERFACE_DEFINED__
|
|
#define __IMDSPStorageGlobals_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPStorageGlobals */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPStorageGlobals;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A17-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPStorageGlobals : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilities) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSerialNumber(
|
|
/* [out] */ __RPC__out PWMDMID pSerialNum,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalSize(
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalFree(
|
|
/* [out] */ __RPC__out DWORD *pdwFreeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwFreeHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalBad(
|
|
/* [out] */ __RPC__out DWORD *pdwBadLow,
|
|
/* [out] */ __RPC__out DWORD *pdwBadHigh) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatus(
|
|
/* [out] */ __RPC__out DWORD *pdwStatus) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Initialize(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDevice(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPDevice **ppDevice) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetRootStorage(
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppRoot) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPStorageGlobalsVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPStorageGlobals * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPStorageGlobals * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwCapabilities);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSerialNumber )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__out PWMDMID pSerialNum,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalSize )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwTotalSizeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalFree )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwFreeLow,
|
|
/* [out] */ __RPC__out DWORD *pdwFreeHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalBad )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwBadLow,
|
|
/* [out] */ __RPC__out DWORD *pdwBadHigh);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetStatus )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__out DWORD *pdwStatus);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Initialize )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDevice )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPDevice **ppDevice);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRootStorage )(
|
|
IMDSPStorageGlobals * This,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppRoot);
|
|
|
|
END_INTERFACE
|
|
} IMDSPStorageGlobalsVtbl;
|
|
|
|
interface IMDSPStorageGlobals
|
|
{
|
|
CONST_VTBL struct IMDSPStorageGlobalsVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPStorageGlobals_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPStorageGlobals_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPStorageGlobals_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPStorageGlobals_GetCapabilities(This,pdwCapabilities) \
|
|
( (This)->lpVtbl -> GetCapabilities(This,pdwCapabilities) )
|
|
|
|
#define IMDSPStorageGlobals_GetSerialNumber(This,pSerialNum,abMac) \
|
|
( (This)->lpVtbl -> GetSerialNumber(This,pSerialNum,abMac) )
|
|
|
|
#define IMDSPStorageGlobals_GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) \
|
|
( (This)->lpVtbl -> GetTotalSize(This,pdwTotalSizeLow,pdwTotalSizeHigh) )
|
|
|
|
#define IMDSPStorageGlobals_GetTotalFree(This,pdwFreeLow,pdwFreeHigh) \
|
|
( (This)->lpVtbl -> GetTotalFree(This,pdwFreeLow,pdwFreeHigh) )
|
|
|
|
#define IMDSPStorageGlobals_GetTotalBad(This,pdwBadLow,pdwBadHigh) \
|
|
( (This)->lpVtbl -> GetTotalBad(This,pdwBadLow,pdwBadHigh) )
|
|
|
|
#define IMDSPStorageGlobals_GetStatus(This,pdwStatus) \
|
|
( (This)->lpVtbl -> GetStatus(This,pdwStatus) )
|
|
|
|
#define IMDSPStorageGlobals_Initialize(This,fuMode,pProgress) \
|
|
( (This)->lpVtbl -> Initialize(This,fuMode,pProgress) )
|
|
|
|
#define IMDSPStorageGlobals_GetDevice(This,ppDevice) \
|
|
( (This)->lpVtbl -> GetDevice(This,ppDevice) )
|
|
|
|
#define IMDSPStorageGlobals_GetRootStorage(This,ppRoot) \
|
|
( (This)->lpVtbl -> GetRootStorage(This,ppRoot) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPStorageGlobals_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPObjectInfo_INTERFACE_DEFINED__
|
|
#define __IMDSPObjectInfo_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPObjectInfo */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPObjectInfo;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A19-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPObjectInfo : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetPlayLength(
|
|
/* [out] */ __RPC__out DWORD *pdwLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetPlayLength(
|
|
/* [in] */ DWORD dwLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPlayOffset(
|
|
/* [out] */ __RPC__out DWORD *pdwOffset) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetPlayOffset(
|
|
/* [in] */ DWORD dwOffset) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
|
|
/* [out] */ __RPC__out DWORD *pdwLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLastPlayPosition(
|
|
/* [out] */ __RPC__out DWORD *pdwLastPos) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLongestPlayPosition(
|
|
/* [out] */ __RPC__out DWORD *pdwLongestPos) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPObjectInfoVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPObjectInfo * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPObjectInfo * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPObjectInfo * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPlayLength )(
|
|
IMDSPObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetPlayLength )(
|
|
IMDSPObjectInfo * This,
|
|
/* [in] */ DWORD dwLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetPlayOffset )(
|
|
IMDSPObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwOffset);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SetPlayOffset )(
|
|
IMDSPObjectInfo * This,
|
|
/* [in] */ DWORD dwOffset);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetTotalLength )(
|
|
IMDSPObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLength);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetLastPlayPosition )(
|
|
IMDSPObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLastPos);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetLongestPlayPosition )(
|
|
IMDSPObjectInfo * This,
|
|
/* [out] */ __RPC__out DWORD *pdwLongestPos);
|
|
|
|
END_INTERFACE
|
|
} IMDSPObjectInfoVtbl;
|
|
|
|
interface IMDSPObjectInfo
|
|
{
|
|
CONST_VTBL struct IMDSPObjectInfoVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPObjectInfo_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPObjectInfo_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPObjectInfo_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPObjectInfo_GetPlayLength(This,pdwLength) \
|
|
( (This)->lpVtbl -> GetPlayLength(This,pdwLength) )
|
|
|
|
#define IMDSPObjectInfo_SetPlayLength(This,dwLength) \
|
|
( (This)->lpVtbl -> SetPlayLength(This,dwLength) )
|
|
|
|
#define IMDSPObjectInfo_GetPlayOffset(This,pdwOffset) \
|
|
( (This)->lpVtbl -> GetPlayOffset(This,pdwOffset) )
|
|
|
|
#define IMDSPObjectInfo_SetPlayOffset(This,dwOffset) \
|
|
( (This)->lpVtbl -> SetPlayOffset(This,dwOffset) )
|
|
|
|
#define IMDSPObjectInfo_GetTotalLength(This,pdwLength) \
|
|
( (This)->lpVtbl -> GetTotalLength(This,pdwLength) )
|
|
|
|
#define IMDSPObjectInfo_GetLastPlayPosition(This,pdwLastPos) \
|
|
( (This)->lpVtbl -> GetLastPlayPosition(This,pdwLastPos) )
|
|
|
|
#define IMDSPObjectInfo_GetLongestPlayPosition(This,pdwLongestPos) \
|
|
( (This)->lpVtbl -> GetLongestPlayPosition(This,pdwLongestPos) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPObjectInfo_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPObject_INTERFACE_DEFINED__
|
|
#define __IMDSPObject_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPObject */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPObject;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A18-33ED-11d3-8470-00C04F79DBC0")
|
|
IMDSPObject : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE Open(
|
|
/* [in] */ UINT fuMode) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Read(
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Write(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Delete(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Seek(
|
|
/* [in] */ UINT fuFlags,
|
|
/* [in] */ DWORD dwOffset) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Rename(
|
|
/* [in] */ __RPC__in LPWSTR pwszNewName,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Move(
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IMDSPStorage *pTarget) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPObjectVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPObject * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPObject * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPObject * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Open )(
|
|
IMDSPObject * This,
|
|
/* [in] */ UINT fuMode);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Read )(
|
|
IMDSPObject * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Write )(
|
|
IMDSPObject * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
IMDSPObject * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Seek )(
|
|
IMDSPObject * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [in] */ DWORD dwOffset);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Rename )(
|
|
IMDSPObject * This,
|
|
/* [in] */ __RPC__in LPWSTR pwszNewName,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Move )(
|
|
IMDSPObject * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IMDSPStorage *pTarget);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Close )(
|
|
IMDSPObject * This);
|
|
|
|
END_INTERFACE
|
|
} IMDSPObjectVtbl;
|
|
|
|
interface IMDSPObject
|
|
{
|
|
CONST_VTBL struct IMDSPObjectVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPObject_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPObject_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPObject_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPObject_Open(This,fuMode) \
|
|
( (This)->lpVtbl -> Open(This,fuMode) )
|
|
|
|
#define IMDSPObject_Read(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> Read(This,pData,pdwSize,abMac) )
|
|
|
|
#define IMDSPObject_Write(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> Write(This,pData,pdwSize,abMac) )
|
|
|
|
#define IMDSPObject_Delete(This,fuMode,pProgress) \
|
|
( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
|
|
|
|
#define IMDSPObject_Seek(This,fuFlags,dwOffset) \
|
|
( (This)->lpVtbl -> Seek(This,fuFlags,dwOffset) )
|
|
|
|
#define IMDSPObject_Rename(This,pwszNewName,pProgress) \
|
|
( (This)->lpVtbl -> Rename(This,pwszNewName,pProgress) )
|
|
|
|
#define IMDSPObject_Move(This,fuMode,pProgress,pTarget) \
|
|
( (This)->lpVtbl -> Move(This,fuMode,pProgress,pTarget) )
|
|
|
|
#define IMDSPObject_Close(This) \
|
|
( (This)->lpVtbl -> Close(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPObject_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPObject2_INTERFACE_DEFINED__
|
|
#define __IMDSPObject2_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPObject2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPObject2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("3f34cd3e-5907-4341-9af9-97f4187c3aa5")
|
|
IMDSPObject2 : public IMDSPObject
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE ReadOnClearChannel(
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE WriteOnClearChannel(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPObject2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPObject2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPObject2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPObject2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Open )(
|
|
IMDSPObject2 * This,
|
|
/* [in] */ UINT fuMode);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Read )(
|
|
IMDSPObject2 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Write )(
|
|
IMDSPObject2 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Delete )(
|
|
IMDSPObject2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Seek )(
|
|
IMDSPObject2 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [in] */ DWORD dwOffset);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Rename )(
|
|
IMDSPObject2 * This,
|
|
/* [in] */ __RPC__in LPWSTR pwszNewName,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Move )(
|
|
IMDSPObject2 * This,
|
|
/* [in] */ UINT fuMode,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pProgress,
|
|
/* [in] */ __RPC__in_opt IMDSPStorage *pTarget);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *Close )(
|
|
IMDSPObject2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *ReadOnClearChannel )(
|
|
IMDSPObject2 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *WriteOnClearChannel )(
|
|
IMDSPObject2 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize);
|
|
|
|
END_INTERFACE
|
|
} IMDSPObject2Vtbl;
|
|
|
|
interface IMDSPObject2
|
|
{
|
|
CONST_VTBL struct IMDSPObject2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPObject2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPObject2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPObject2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPObject2_Open(This,fuMode) \
|
|
( (This)->lpVtbl -> Open(This,fuMode) )
|
|
|
|
#define IMDSPObject2_Read(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> Read(This,pData,pdwSize,abMac) )
|
|
|
|
#define IMDSPObject2_Write(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> Write(This,pData,pdwSize,abMac) )
|
|
|
|
#define IMDSPObject2_Delete(This,fuMode,pProgress) \
|
|
( (This)->lpVtbl -> Delete(This,fuMode,pProgress) )
|
|
|
|
#define IMDSPObject2_Seek(This,fuFlags,dwOffset) \
|
|
( (This)->lpVtbl -> Seek(This,fuFlags,dwOffset) )
|
|
|
|
#define IMDSPObject2_Rename(This,pwszNewName,pProgress) \
|
|
( (This)->lpVtbl -> Rename(This,pwszNewName,pProgress) )
|
|
|
|
#define IMDSPObject2_Move(This,fuMode,pProgress,pTarget) \
|
|
( (This)->lpVtbl -> Move(This,fuMode,pProgress,pTarget) )
|
|
|
|
#define IMDSPObject2_Close(This) \
|
|
( (This)->lpVtbl -> Close(This) )
|
|
|
|
|
|
#define IMDSPObject2_ReadOnClearChannel(This,pData,pdwSize) \
|
|
( (This)->lpVtbl -> ReadOnClearChannel(This,pData,pdwSize) )
|
|
|
|
#define IMDSPObject2_WriteOnClearChannel(This,pData,pdwSize) \
|
|
( (This)->lpVtbl -> WriteOnClearChannel(This,pData,pdwSize) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPObject2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPDirectTransfer_INTERFACE_DEFINED__
|
|
#define __IMDSPDirectTransfer_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPDirectTransfer */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPDirectTransfer;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("c2fe57a8-9304-478c-9ee4-47e397b912d7")
|
|
IMDSPDirectTransfer : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE TransferToDevice(
|
|
/* [string][unique][in] */ __RPC__in_opt LPCWSTR pwszSourceFilePath,
|
|
/* [in] */ __RPC__in_opt IWMDMOperation *pSourceOperation,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszDestinationName,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pSourceMetaData,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pTransferProgress,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewObject) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPDirectTransferVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPDirectTransfer * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPDirectTransfer * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPDirectTransfer * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferToDevice )(
|
|
IMDSPDirectTransfer * This,
|
|
/* [string][unique][in] */ __RPC__in_opt LPCWSTR pwszSourceFilePath,
|
|
/* [in] */ __RPC__in_opt IWMDMOperation *pSourceOperation,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [string][unique][in] */ __RPC__in_opt LPWSTR pwszDestinationName,
|
|
/* [in] */ __RPC__in_opt IWMDMMetaData *pSourceMetaData,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress *pTransferProgress,
|
|
/* [out] */ __RPC__deref_out_opt IMDSPStorage **ppNewObject);
|
|
|
|
END_INTERFACE
|
|
} IMDSPDirectTransferVtbl;
|
|
|
|
interface IMDSPDirectTransfer
|
|
{
|
|
CONST_VTBL struct IMDSPDirectTransferVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPDirectTransfer_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPDirectTransfer_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPDirectTransfer_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPDirectTransfer_TransferToDevice(This,pwszSourceFilePath,pSourceOperation,fuFlags,pwszDestinationName,pSourceMetaData,pTransferProgress,ppNewObject) \
|
|
( (This)->lpVtbl -> TransferToDevice(This,pwszSourceFilePath,pSourceOperation,fuFlags,pwszDestinationName,pSourceMetaData,pTransferProgress,ppNewObject) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPDirectTransfer_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __IMDSPRevoked_INTERFACE_DEFINED__
|
|
#define __IMDSPRevoked_INTERFACE_DEFINED__
|
|
|
|
/* interface IMDSPRevoked */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IMDSPRevoked;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("A4E8F2D4-3F31-464d-B53D-4FC335998184")
|
|
IMDSPRevoked : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetRevocationURL(
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwBufferLen) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IMDSPRevokedVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IMDSPRevoked * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IMDSPRevoked * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IMDSPRevoked * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRevocationURL )(
|
|
IMDSPRevoked * This,
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwBufferLen) LPWSTR *ppwszRevocationURL,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwBufferLen);
|
|
|
|
END_INTERFACE
|
|
} IMDSPRevokedVtbl;
|
|
|
|
interface IMDSPRevoked
|
|
{
|
|
CONST_VTBL struct IMDSPRevokedVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IMDSPRevoked_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IMDSPRevoked_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IMDSPRevoked_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IMDSPRevoked_GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen) \
|
|
( (This)->lpVtbl -> GetRevocationURL(This,ppwszRevocationURL,pdwBufferLen) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IMDSPRevoked_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_mswmdm_0000_0047 */
|
|
/* [local] */
|
|
|
|
// SCP Data Flags
|
|
#define WMDM_SCP_EXAMINE_EXTENSION 0x00000001L
|
|
#define WMDM_SCP_EXAMINE_DATA 0x00000002L
|
|
#define WMDM_SCP_DECIDE_DATA 0x00000008L
|
|
#define WMDM_SCP_PROTECTED_OUTPUT 0x00000010L
|
|
#define WMDM_SCP_UNPROTECTED_OUTPUT 0x00000020L
|
|
#define WMDM_SCP_RIGHTS_DATA 0x00000040L
|
|
// SCP Transfer Flags
|
|
#define WMDM_SCP_TRANSFER_OBJECTDATA 0x00000020L
|
|
#define WMDM_SCP_NO_MORE_CHANGES 0x00000040L
|
|
// SCP DRMINFO Flags
|
|
#define WMDM_SCP_DRMINFO_NOT_DRMPROTECTED 0x00000000L
|
|
#define WMDM_SCP_DRMINFO_V1HEADER 0x00000001L
|
|
#define WMDM_SCP_DRMINFO_V2HEADER 0x00000002L
|
|
#ifndef _DEFINE_SCP_EVENTID
|
|
#define _DEFINE_SCP_EVENTID
|
|
// {86248CC9-4A59-43e2-9146-48A7F3F4140C}
|
|
// this event ID is used when SCP is acquiring secure clock from server
|
|
DEFINE_GUID(SCP_EVENTID_ACQSECURECLOCK,
|
|
0x86248cc9, 0x4a59, 0x43e2, 0x91, 0x46, 0x48, 0xa7, 0xf3, 0xf4, 0x14, 0xc);
|
|
//
|
|
// {87A507C7-B469-4386-B976-D5D1CE538A6F}
|
|
DEFINE_GUID(SCP_EVENTID_NEEDTOINDIV,
|
|
0x87a507c7, 0xb469, 0x4386, 0xb9, 0x76, 0xd5, 0xd1, 0xce, 0x53, 0x8a, 0x6f);
|
|
// this event ID is used to notify the player the version DRM header found in the content
|
|
// {213DD287-41D2-432b-9E3F-3B4F7B3581DD}
|
|
DEFINE_GUID(SCP_EVENTID_DRMINFO,
|
|
0x213dd287, 0x41d2, 0x432b, 0x9e, 0x3f, 0x3b, 0x4f, 0x7b, 0x35, 0x81, 0xdd);
|
|
// this parameter ID is used when notifying SCP_EVENTID_DRMINFO message
|
|
// {41D0155D-7CC7-4217-ADA9-005074624DA4}
|
|
DEFINE_GUID(SCP_PARAMID_DRMVERSION,
|
|
0x41d0155d, 0x7cc7, 0x4217, 0xad, 0xa9, 0x00, 0x50, 0x74, 0x62, 0x4d, 0xa4);
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0047_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0047_v0_0_s_ifspec;
|
|
|
|
#ifndef __ISCPSecureAuthenticate_INTERFACE_DEFINED__
|
|
#define __ISCPSecureAuthenticate_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureAuthenticate */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureAuthenticate;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A0F-33ED-11d3-8470-00C04F79DBC0")
|
|
ISCPSecureAuthenticate : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetSecureQuery(
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureAuthenticateVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureAuthenticate * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureAuthenticate * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureAuthenticate * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSecureQuery )(
|
|
ISCPSecureAuthenticate * This,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureAuthenticateVtbl;
|
|
|
|
interface ISCPSecureAuthenticate
|
|
{
|
|
CONST_VTBL struct ISCPSecureAuthenticateVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureAuthenticate_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureAuthenticate_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureAuthenticate_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureAuthenticate_GetSecureQuery(This,ppSecureQuery) \
|
|
( (This)->lpVtbl -> GetSecureQuery(This,ppSecureQuery) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureAuthenticate_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureAuthenticate2_INTERFACE_DEFINED__
|
|
#define __ISCPSecureAuthenticate2_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureAuthenticate2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureAuthenticate2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("B580CFAE-1672-47e2-ACAA-44BBECBCAE5B")
|
|
ISCPSecureAuthenticate2 : public ISCPSecureAuthenticate
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetSCPSession(
|
|
/* [out] */ __RPC__deref_out_opt ISCPSession **ppSCPSession) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureAuthenticate2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureAuthenticate2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureAuthenticate2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureAuthenticate2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSecureQuery )(
|
|
ISCPSecureAuthenticate2 * This,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSCPSession )(
|
|
ISCPSecureAuthenticate2 * This,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSession **ppSCPSession);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureAuthenticate2Vtbl;
|
|
|
|
interface ISCPSecureAuthenticate2
|
|
{
|
|
CONST_VTBL struct ISCPSecureAuthenticate2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureAuthenticate2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureAuthenticate2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureAuthenticate2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureAuthenticate2_GetSecureQuery(This,ppSecureQuery) \
|
|
( (This)->lpVtbl -> GetSecureQuery(This,ppSecureQuery) )
|
|
|
|
|
|
#define ISCPSecureAuthenticate2_GetSCPSession(This,ppSCPSession) \
|
|
( (This)->lpVtbl -> GetSCPSession(This,ppSCPSession) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureAuthenticate2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureQuery_INTERFACE_DEFINED__
|
|
#define __ISCPSecureQuery_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureQuery */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureQuery;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A0D-33ED-11d3-8470-00C04F79DBC0")
|
|
ISCPSecureQuery : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetDataDemands(
|
|
/* [out] */ __RPC__out UINT *pfuFlags,
|
|
/* [out] */ __RPC__out DWORD *pdwMinRightsData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinExamineData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinDecideData,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ExamineData(
|
|
/* [in] */ UINT fuFlags,
|
|
/* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE MakeDecision(
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetRights(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureQueryVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureQuery * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureQuery * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureQuery * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDataDemands )(
|
|
ISCPSecureQuery * This,
|
|
/* [out] */ __RPC__out UINT *pfuFlags,
|
|
/* [out] */ __RPC__out DWORD *pdwMinRightsData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinExamineData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinDecideData,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *ExamineData )(
|
|
ISCPSecureQuery * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *MakeDecision )(
|
|
ISCPSecureQuery * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
ISCPSecureQuery * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureQueryVtbl;
|
|
|
|
interface ISCPSecureQuery
|
|
{
|
|
CONST_VTBL struct ISCPSecureQueryVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureQuery_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureQuery_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureQuery_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureQuery_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
|
|
( (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) )
|
|
|
|
#define ISCPSecureQuery_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
|
|
( (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) )
|
|
|
|
#define ISCPSecureQuery_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
|
|
( (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) )
|
|
|
|
#define ISCPSecureQuery_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureQuery_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureQuery2_INTERFACE_DEFINED__
|
|
#define __ISCPSecureQuery2_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureQuery2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureQuery2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("EBE17E25-4FD7-4632-AF46-6D93D4FCC72E")
|
|
ISCPSecureQuery2 : public ISCPSecureQuery
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE MakeDecision2(
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
|
|
/* [in] */ DWORD dwAppCertAppLen,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
|
|
/* [in] */ DWORD dwAppCertSPLen,
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
|
|
/* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
|
|
/* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
|
|
/* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureQuery2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureQuery2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureQuery2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureQuery2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDataDemands )(
|
|
ISCPSecureQuery2 * This,
|
|
/* [out] */ __RPC__out UINT *pfuFlags,
|
|
/* [out] */ __RPC__out DWORD *pdwMinRightsData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinExamineData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinDecideData,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *ExamineData )(
|
|
ISCPSecureQuery2 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *MakeDecision )(
|
|
ISCPSecureQuery2 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
ISCPSecureQuery2 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *MakeDecision2 )(
|
|
ISCPSecureQuery2 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
|
|
/* [in] */ DWORD dwAppCertAppLen,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
|
|
/* [in] */ DWORD dwAppCertSPLen,
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
|
|
/* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
|
|
/* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
|
|
/* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureQuery2Vtbl;
|
|
|
|
interface ISCPSecureQuery2
|
|
{
|
|
CONST_VTBL struct ISCPSecureQuery2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureQuery2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureQuery2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureQuery2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureQuery2_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
|
|
( (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) )
|
|
|
|
#define ISCPSecureQuery2_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
|
|
( (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) )
|
|
|
|
#define ISCPSecureQuery2_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
|
|
( (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) )
|
|
|
|
#define ISCPSecureQuery2_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) )
|
|
|
|
|
|
#define ISCPSecureQuery2_MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) \
|
|
( (This)->lpVtbl -> MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureQuery2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureExchange_INTERFACE_DEFINED__
|
|
#define __ISCPSecureExchange_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureExchange */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureExchange;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("1DCB3A0E-33ED-11d3-8470-00C04F79DBC0")
|
|
ISCPSecureExchange : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE TransferContainerData(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ObjectData(
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE TransferComplete( void) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureExchangeVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureExchange * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureExchange * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureExchange * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferContainerData )(
|
|
ISCPSecureExchange * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *ObjectData )(
|
|
ISCPSecureExchange * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferComplete )(
|
|
ISCPSecureExchange * This);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureExchangeVtbl;
|
|
|
|
interface ISCPSecureExchange
|
|
{
|
|
CONST_VTBL struct ISCPSecureExchangeVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureExchange_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureExchange_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureExchange_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureExchange_TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) \
|
|
( (This)->lpVtbl -> TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) )
|
|
|
|
#define ISCPSecureExchange_ObjectData(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> ObjectData(This,pData,pdwSize,abMac) )
|
|
|
|
#define ISCPSecureExchange_TransferComplete(This) \
|
|
( (This)->lpVtbl -> TransferComplete(This) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureExchange_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureExchange2_INTERFACE_DEFINED__
|
|
#define __ISCPSecureExchange2_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureExchange2 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureExchange2;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("6C62FC7B-2690-483F-9D44-0A20CB35577C")
|
|
ISCPSecureExchange2 : public ISCPSecureExchange
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE TransferContainerData2(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureExchange2Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureExchange2 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureExchange2 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureExchange2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferContainerData )(
|
|
ISCPSecureExchange2 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *ObjectData )(
|
|
ISCPSecureExchange2 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferComplete )(
|
|
ISCPSecureExchange2 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferContainerData2 )(
|
|
ISCPSecureExchange2 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureExchange2Vtbl;
|
|
|
|
interface ISCPSecureExchange2
|
|
{
|
|
CONST_VTBL struct ISCPSecureExchange2Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureExchange2_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureExchange2_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureExchange2_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureExchange2_TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) \
|
|
( (This)->lpVtbl -> TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) )
|
|
|
|
#define ISCPSecureExchange2_ObjectData(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> ObjectData(This,pData,pdwSize,abMac) )
|
|
|
|
#define ISCPSecureExchange2_TransferComplete(This) \
|
|
( (This)->lpVtbl -> TransferComplete(This) )
|
|
|
|
|
|
#define ISCPSecureExchange2_TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) \
|
|
( (This)->lpVtbl -> TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureExchange2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureExchange3_INTERFACE_DEFINED__
|
|
#define __ISCPSecureExchange3_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureExchange3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureExchange3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("ab4e77e4-8908-4b17-bd2a-b1dbe6dd69e1")
|
|
ISCPSecureExchange3 : public ISCPSecureExchange2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE TransferContainerDataOnClearChannel(
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetObjectDataOnClearChannel(
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE TransferCompleteForDevice(
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pDevice) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureExchange3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureExchange3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureExchange3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureExchange3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferContainerData )(
|
|
ISCPSecureExchange3 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *ObjectData )(
|
|
ISCPSecureExchange3 * This,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferComplete )(
|
|
ISCPSecureExchange3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferContainerData2 )(
|
|
ISCPSecureExchange3 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferContainerDataOnClearChannel )(
|
|
ISCPSecureExchange3 * This,
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [out] */ __RPC__out UINT *pfuReadyFlags);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetObjectDataOnClearChannel )(
|
|
ISCPSecureExchange3 * This,
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pDevice,
|
|
/* [size_is][out] */ __RPC__out_ecount_full(*pdwSize) BYTE *pData,
|
|
/* [out][in] */ __RPC__inout DWORD *pdwSize);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *TransferCompleteForDevice )(
|
|
ISCPSecureExchange3 * This,
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pDevice);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureExchange3Vtbl;
|
|
|
|
interface ISCPSecureExchange3
|
|
{
|
|
CONST_VTBL struct ISCPSecureExchange3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureExchange3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureExchange3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureExchange3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureExchange3_TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) \
|
|
( (This)->lpVtbl -> TransferContainerData(This,pData,dwSize,pfuReadyFlags,abMac) )
|
|
|
|
#define ISCPSecureExchange3_ObjectData(This,pData,pdwSize,abMac) \
|
|
( (This)->lpVtbl -> ObjectData(This,pData,pdwSize,abMac) )
|
|
|
|
#define ISCPSecureExchange3_TransferComplete(This) \
|
|
( (This)->lpVtbl -> TransferComplete(This) )
|
|
|
|
|
|
#define ISCPSecureExchange3_TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) \
|
|
( (This)->lpVtbl -> TransferContainerData2(This,pData,dwSize,pProgressCallback,pfuReadyFlags,abMac) )
|
|
|
|
|
|
#define ISCPSecureExchange3_TransferContainerDataOnClearChannel(This,pDevice,pData,dwSize,pProgressCallback,pfuReadyFlags) \
|
|
( (This)->lpVtbl -> TransferContainerDataOnClearChannel(This,pDevice,pData,dwSize,pProgressCallback,pfuReadyFlags) )
|
|
|
|
#define ISCPSecureExchange3_GetObjectDataOnClearChannel(This,pDevice,pData,pdwSize) \
|
|
( (This)->lpVtbl -> GetObjectDataOnClearChannel(This,pDevice,pData,pdwSize) )
|
|
|
|
#define ISCPSecureExchange3_TransferCompleteForDevice(This,pDevice) \
|
|
( (This)->lpVtbl -> TransferCompleteForDevice(This,pDevice) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureExchange3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSession_INTERFACE_DEFINED__
|
|
#define __ISCPSession_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSession */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSession;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("88a3e6ed-eee4-4619-bbb3-fd4fb62715d1")
|
|
ISCPSession : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE BeginSession(
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pIDevice,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EndSession(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSecureQuery(
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSessionVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSession * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSession * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSession * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *BeginSession )(
|
|
ISCPSession * This,
|
|
/* [in] */ __RPC__in_opt IMDSPDevice *pIDevice,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *EndSession )(
|
|
ISCPSession * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSizeCtx) BYTE *pCtx,
|
|
/* [in] */ DWORD dwSizeCtx);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetSecureQuery )(
|
|
ISCPSession * This,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureQuery **ppSecureQuery);
|
|
|
|
END_INTERFACE
|
|
} ISCPSessionVtbl;
|
|
|
|
interface ISCPSession
|
|
{
|
|
CONST_VTBL struct ISCPSessionVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSession_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSession_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSession_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSession_BeginSession(This,pIDevice,pCtx,dwSizeCtx) \
|
|
( (This)->lpVtbl -> BeginSession(This,pIDevice,pCtx,dwSizeCtx) )
|
|
|
|
#define ISCPSession_EndSession(This,pCtx,dwSizeCtx) \
|
|
( (This)->lpVtbl -> EndSession(This,pCtx,dwSizeCtx) )
|
|
|
|
#define ISCPSession_GetSecureQuery(This,ppSecureQuery) \
|
|
( (This)->lpVtbl -> GetSecureQuery(This,ppSecureQuery) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSession_INTERFACE_DEFINED__ */
|
|
|
|
|
|
#ifndef __ISCPSecureQuery3_INTERFACE_DEFINED__
|
|
#define __ISCPSecureQuery3_INTERFACE_DEFINED__
|
|
|
|
/* interface ISCPSecureQuery3 */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_ISCPSecureQuery3;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("B7EDD1A2-4DAB-484b-B3C5-AD39B8B4C0B1")
|
|
ISCPSecureQuery3 : public ISCPSecureQuery2
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE GetRightsOnClearChannel(
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE MakeDecisionOnClearChannel(
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
|
|
/* [in] */ DWORD dwAppCertAppLen,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
|
|
/* [in] */ DWORD dwAppCertSPLen,
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
|
|
/* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
|
|
/* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
|
|
/* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct ISCPSecureQuery3Vtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
ISCPSecureQuery3 * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
ISCPSecureQuery3 * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetDataDemands )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [out] */ __RPC__out UINT *pfuFlags,
|
|
/* [out] */ __RPC__out DWORD *pdwMinRightsData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinExamineData,
|
|
/* [out] */ __RPC__out DWORD *pdwMinDecideData,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *ExamineData )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [unique][string][in] */ __RPC__in_opt LPWSTR pwszExtension,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *MakeDecision )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRights )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *MakeDecision2 )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
|
|
/* [in] */ DWORD dwAppCertAppLen,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
|
|
/* [in] */ DWORD dwAppCertSPLen,
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
|
|
/* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
|
|
/* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
|
|
/* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange,
|
|
/* [out][in] */ __RPC__inout_ecount_full(WMDM_MAC_LENGTH) BYTE abMac[ 8 ]);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *GetRightsOnClearChannel )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStgGlobals,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pnRightsCount) PWMDMRIGHTS *ppRights,
|
|
/* [out] */ __RPC__out UINT *pnRightsCount);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *MakeDecisionOnClearChannel )(
|
|
ISCPSecureQuery3 * This,
|
|
/* [in] */ UINT fuFlags,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSize) BYTE *pData,
|
|
/* [in] */ DWORD dwSize,
|
|
/* [in] */ DWORD dwAppSec,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwSessionKeyLen) BYTE *pbSPSessionKey,
|
|
/* [in] */ DWORD dwSessionKeyLen,
|
|
/* [in] */ __RPC__in_opt IMDSPStorageGlobals *pStorageGlobals,
|
|
/* [in] */ __RPC__in_opt IWMDMProgress3 *pProgressCallback,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertAppLen) BYTE *pAppCertApp,
|
|
/* [in] */ DWORD dwAppCertAppLen,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwAppCertSPLen) BYTE *pAppCertSP,
|
|
/* [in] */ DWORD dwAppCertSPLen,
|
|
/* [size_is][size_is][string][out][in] */ __RPC__deref_inout_ecount_full_opt_string(*pdwRevocationURLLen) LPWSTR *pszRevocationURL,
|
|
/* [ref][out][in] */ __RPC__inout DWORD *pdwRevocationURLLen,
|
|
/* [out] */ __RPC__out DWORD *pdwRevocationBitFlag,
|
|
/* [unique][out][in] */ __RPC__inout_opt ULONGLONG *pqwFileSize,
|
|
/* [in] */ __RPC__in_opt IUnknown *pUnknown,
|
|
/* [out] */ __RPC__deref_out_opt ISCPSecureExchange **ppExchange);
|
|
|
|
END_INTERFACE
|
|
} ISCPSecureQuery3Vtbl;
|
|
|
|
interface ISCPSecureQuery3
|
|
{
|
|
CONST_VTBL struct ISCPSecureQuery3Vtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define ISCPSecureQuery3_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define ISCPSecureQuery3_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define ISCPSecureQuery3_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define ISCPSecureQuery3_GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) \
|
|
( (This)->lpVtbl -> GetDataDemands(This,pfuFlags,pdwMinRightsData,pdwMinExamineData,pdwMinDecideData,abMac) )
|
|
|
|
#define ISCPSecureQuery3_ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) \
|
|
( (This)->lpVtbl -> ExamineData(This,fuFlags,pwszExtension,pData,dwSize,abMac) )
|
|
|
|
#define ISCPSecureQuery3_MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) \
|
|
( (This)->lpVtbl -> MakeDecision(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,ppExchange,abMac) )
|
|
|
|
#define ISCPSecureQuery3_GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) \
|
|
( (This)->lpVtbl -> GetRights(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,ppRights,pnRightsCount,abMac) )
|
|
|
|
|
|
#define ISCPSecureQuery3_MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) \
|
|
( (This)->lpVtbl -> MakeDecision2(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange,abMac) )
|
|
|
|
|
|
#define ISCPSecureQuery3_GetRightsOnClearChannel(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,pProgressCallback,ppRights,pnRightsCount) \
|
|
( (This)->lpVtbl -> GetRightsOnClearChannel(This,pData,dwSize,pbSPSessionKey,dwSessionKeyLen,pStgGlobals,pProgressCallback,ppRights,pnRightsCount) )
|
|
|
|
#define ISCPSecureQuery3_MakeDecisionOnClearChannel(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pProgressCallback,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange) \
|
|
( (This)->lpVtbl -> MakeDecisionOnClearChannel(This,fuFlags,pData,dwSize,dwAppSec,pbSPSessionKey,dwSessionKeyLen,pStorageGlobals,pProgressCallback,pAppCertApp,dwAppCertAppLen,pAppCertSP,dwAppCertSPLen,pszRevocationURL,pdwRevocationURLLen,pdwRevocationBitFlag,pqwFileSize,pUnknown,ppExchange) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __ISCPSecureQuery3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_mswmdm_0000_0056 */
|
|
/* [local] */
|
|
|
|
#define SAC_MAC_LEN 8
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0056_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0056_v0_0_s_ifspec;
|
|
|
|
#ifndef __IComponentAuthenticate_INTERFACE_DEFINED__
|
|
#define __IComponentAuthenticate_INTERFACE_DEFINED__
|
|
|
|
/* interface IComponentAuthenticate */
|
|
/* [unique][uuid][object] */
|
|
|
|
|
|
EXTERN_C const IID IID_IComponentAuthenticate;
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
MIDL_INTERFACE("A9889C00-6D2B-11d3-8496-00C04F79DBC0")
|
|
IComponentAuthenticate : public IUnknown
|
|
{
|
|
public:
|
|
virtual HRESULT STDMETHODCALLTYPE SACAuth(
|
|
/* [in] */ DWORD dwProtocolID,
|
|
/* [in] */ DWORD dwPass,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwDataInLen) BYTE *pbDataIn,
|
|
/* [in] */ DWORD dwDataInLen,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwDataOutLen) BYTE **ppbDataOut,
|
|
/* [out] */ __RPC__out DWORD *pdwDataOutLen) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SACGetProtocols(
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwProtocolCount) DWORD **ppdwProtocols,
|
|
/* [out] */ __RPC__out DWORD *pdwProtocolCount) = 0;
|
|
|
|
};
|
|
|
|
#else /* C style interface */
|
|
|
|
typedef struct IComponentAuthenticateVtbl
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
|
IComponentAuthenticate * This,
|
|
/* [in] */ __RPC__in REFIID riid,
|
|
/* [iid_is][out] */
|
|
__RPC__deref_out void **ppvObject);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
|
IComponentAuthenticate * This);
|
|
|
|
ULONG ( STDMETHODCALLTYPE *Release )(
|
|
IComponentAuthenticate * This);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SACAuth )(
|
|
IComponentAuthenticate * This,
|
|
/* [in] */ DWORD dwProtocolID,
|
|
/* [in] */ DWORD dwPass,
|
|
/* [size_is][in] */ __RPC__in_ecount_full(dwDataInLen) BYTE *pbDataIn,
|
|
/* [in] */ DWORD dwDataInLen,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwDataOutLen) BYTE **ppbDataOut,
|
|
/* [out] */ __RPC__out DWORD *pdwDataOutLen);
|
|
|
|
HRESULT ( STDMETHODCALLTYPE *SACGetProtocols )(
|
|
IComponentAuthenticate * This,
|
|
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pdwProtocolCount) DWORD **ppdwProtocols,
|
|
/* [out] */ __RPC__out DWORD *pdwProtocolCount);
|
|
|
|
END_INTERFACE
|
|
} IComponentAuthenticateVtbl;
|
|
|
|
interface IComponentAuthenticate
|
|
{
|
|
CONST_VTBL struct IComponentAuthenticateVtbl *lpVtbl;
|
|
};
|
|
|
|
|
|
|
|
#ifdef COBJMACROS
|
|
|
|
|
|
#define IComponentAuthenticate_QueryInterface(This,riid,ppvObject) \
|
|
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
|
|
|
#define IComponentAuthenticate_AddRef(This) \
|
|
( (This)->lpVtbl -> AddRef(This) )
|
|
|
|
#define IComponentAuthenticate_Release(This) \
|
|
( (This)->lpVtbl -> Release(This) )
|
|
|
|
|
|
#define IComponentAuthenticate_SACAuth(This,dwProtocolID,dwPass,pbDataIn,dwDataInLen,ppbDataOut,pdwDataOutLen) \
|
|
( (This)->lpVtbl -> SACAuth(This,dwProtocolID,dwPass,pbDataIn,dwDataInLen,ppbDataOut,pdwDataOutLen) )
|
|
|
|
#define IComponentAuthenticate_SACGetProtocols(This,ppdwProtocols,pdwProtocolCount) \
|
|
( (This)->lpVtbl -> SACGetProtocols(This,ppdwProtocols,pdwProtocolCount) )
|
|
|
|
#endif /* COBJMACROS */
|
|
|
|
|
|
#endif /* C style interface */
|
|
|
|
|
|
|
|
|
|
#endif /* __IComponentAuthenticate_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/* interface __MIDL_itf_mswmdm_0000_0057 */
|
|
/* [local] */
|
|
|
|
const GUID EVENT_WMDM_CONTENT_TRANSFER = { 0x339C9BF4, 0xBCFE, 0x4ED8, { 0x94, 0xDF, 0xEA, 0xF8, 0xC2, 0x6A, 0xB6, 0x1B } };
|
|
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0057_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_mswmdm_0000_0057_v0_0_s_ifspec;
|
|
|
|
|
|
#ifndef __MSWMDMLib_LIBRARY_DEFINED__
|
|
#define __MSWMDMLib_LIBRARY_DEFINED__
|
|
|
|
/* library MSWMDMLib */
|
|
/* [helpstring][version][uuid] */
|
|
|
|
|
|
EXTERN_C const IID LIBID_MSWMDMLib;
|
|
|
|
EXTERN_C const CLSID CLSID_MediaDevMgrClassFactory;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class DECLSPEC_UUID("50040C1D-BDBF-4924-B873-F14D6C5BFD66")
|
|
MediaDevMgrClassFactory;
|
|
#endif
|
|
|
|
EXTERN_C const CLSID CLSID_MediaDevMgr;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class DECLSPEC_UUID("25BAAD81-3560-11D3-8471-00C04F79DBC0")
|
|
MediaDevMgr;
|
|
#endif
|
|
|
|
EXTERN_C const CLSID CLSID_WMDMDevice;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class DECLSPEC_UUID("807B3CDF-357A-11d3-8471-00C04F79DBC0")
|
|
WMDMDevice;
|
|
#endif
|
|
|
|
EXTERN_C const CLSID CLSID_WMDMStorage;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class DECLSPEC_UUID("807B3CE0-357A-11d3-8471-00C04F79DBC0")
|
|
WMDMStorage;
|
|
#endif
|
|
|
|
EXTERN_C const CLSID CLSID_WMDMStorageGlobal;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class DECLSPEC_UUID("807B3CE1-357A-11d3-8471-00C04F79DBC0")
|
|
WMDMStorageGlobal;
|
|
#endif
|
|
|
|
EXTERN_C const CLSID CLSID_WMDMDeviceEnum;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class DECLSPEC_UUID("430E35AF-3971-11D3-8474-00C04F79DBC0")
|
|
WMDMDeviceEnum;
|
|
#endif
|
|
|
|
EXTERN_C const CLSID CLSID_WMDMStorageEnum;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class DECLSPEC_UUID("EB401A3B-3AF7-11d3-8474-00C04F79DBC0")
|
|
WMDMStorageEnum;
|
|
#endif
|
|
#endif /* __MSWMDMLib_LIBRARY_DEFINED__ */
|
|
|
|
/* Additional Prototypes for ALL interfaces */
|
|
|
|
unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
|
|
unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
|
|
unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
|
|
void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
|
|
|
|
unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
|
|
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
|
|
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
|
|
void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
|
|
|
|
/* end of Additional Prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|