mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-21 06:45:39 -06:00
bazaar: plugin/portaudio, Sound, SoundExample: Initial release
git-svn-id: svn://ultimatepp.org/upp/trunk@2930 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
f1409e8a35
commit
879433b74d
132 changed files with 83547 additions and 0 deletions
|
|
@ -0,0 +1,94 @@
|
|||
//
|
||||
// AudioSessionTypes.h -- Copyright Microsoft Corporation, All Rights Reserved.
|
||||
//
|
||||
// Description: Type definitions used by the audio session manager RPC/COM interfaces
|
||||
//
|
||||
#pragma once
|
||||
|
||||
#ifndef __AUDIOSESSIONTYPES__
|
||||
#define __AUDIOSESSIONTYPES__
|
||||
|
||||
#if defined(__midl)
|
||||
#define MIDL_SIZE_IS(x) [size_is(x)]
|
||||
#define MIDL_STRING [string]
|
||||
#define MIDL_ANYSIZE_ARRAY
|
||||
#else // !defined(__midl)
|
||||
#define MIDL_SIZE_IS(x)
|
||||
#define MIDL_STRING
|
||||
#define MIDL_ANYSIZE_ARRAY ANYSIZE_ARRAY
|
||||
#endif // defined(__midl)
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Description: AudioClient share mode
|
||||
//
|
||||
// AUDCLNT_SHAREMODE_SHARED - The device will be opened in shared mode and use the
|
||||
// WAS format.
|
||||
// AUDCLNT_SHAREMODE_EXCLUSIVE - The device will be opened in exclusive mode and use the
|
||||
// application specified format.
|
||||
//
|
||||
typedef enum _AUDCLNT_SHAREMODE
|
||||
{
|
||||
AUDCLNT_SHAREMODE_SHARED,
|
||||
AUDCLNT_SHAREMODE_EXCLUSIVE
|
||||
} AUDCLNT_SHAREMODE;
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Description: AudioClient stream flags
|
||||
//
|
||||
// Can be a combination of AUDCLNT_STREAMFLAGS and AUDCLNT_SYSFXFLAGS:
|
||||
//
|
||||
// AUDCLNT_STREAMFLAGS (this group of flags uses the high word, w/exception of high-bit which is reserved, 0x7FFF0000):
|
||||
//
|
||||
// AUDCLNT_STREAMFLAGS_CROSSPROCESS - Audio policy control for this stream will be shared with
|
||||
// with other process sessions that use the same audio session
|
||||
// GUID.
|
||||
// AUDCLNT_STREAMFLAGS_LOOPBACK - Initializes a renderer endpoint for a loopback audio application.
|
||||
// In this mode, a capture stream will be opened on the specified
|
||||
// renderer endpoint. Shared mode and a renderer endpoint is required.
|
||||
// Otherwise the IAudioClient::Initialize call will fail. If the
|
||||
// initialize is successful, a capture stream will be available
|
||||
// from the IAudioClient object.
|
||||
//
|
||||
// AUDCLNT_STREAMFLAGS_EVENTCALLBACK - An exclusive mode client will supply an event handle that will be
|
||||
// signaled when an IRP completes (or a waveRT buffer completes) telling
|
||||
// it to fill the next buffer
|
||||
//
|
||||
// AUDCLNT_STREAMFLAGS_NOPERSIST - Session state will not be persisted
|
||||
//
|
||||
// AUDCLNT_SYSFXFLAGS (these flags use low word 0x0000FFFF):
|
||||
//
|
||||
// none defined currently
|
||||
//
|
||||
#define AUDCLNT_STREAMFLAGS_CROSSPROCESS 0x00010000
|
||||
#define AUDCLNT_STREAMFLAGS_LOOPBACK 0x00020000
|
||||
#define AUDCLNT_STREAMFLAGS_EVENTCALLBACK 0x00040000
|
||||
#define AUDCLNT_STREAMFLAGS_NOPERSIST 0x00080000
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Description: Device share mode - sharing mode for the audio device.
|
||||
//
|
||||
// DeviceShared - The device can be shared with other processes.
|
||||
// DeviceExclusive - The device will only be used by this process.
|
||||
//
|
||||
typedef enum _DeviceShareMode
|
||||
{
|
||||
DeviceShared,
|
||||
DeviceExclusive
|
||||
} DeviceShareMode;
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Description: AudioSession State.
|
||||
//
|
||||
// AudioSessionStateInactive - The session has no active audio streams.
|
||||
// AudioSessionStateActive - The session has active audio streams.
|
||||
// AudioSessionStateExpired - The session is dormant.
|
||||
typedef enum _AudioSessionState
|
||||
{
|
||||
AudioSessionStateInactive = 0,
|
||||
AudioSessionStateActive = 1,
|
||||
AudioSessionStateExpired = 2
|
||||
} AudioSessionState;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
@ -0,0 +1,186 @@
|
|||
|
||||
/*++
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Module Name:
|
||||
|
||||
devpkey.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Defines property keys for the Plug and Play Device Property API.
|
||||
|
||||
Author:
|
||||
|
||||
Jim Cavalaris (jamesca) 10-14-2003
|
||||
|
||||
Environment:
|
||||
|
||||
User-mode only.
|
||||
|
||||
Revision History:
|
||||
|
||||
14-October-2003 jamesca
|
||||
|
||||
Creation and initial implementation.
|
||||
|
||||
20-June-2006 dougb
|
||||
|
||||
Copied Jim's version replaced "DEFINE_DEVPROPKEY(DEVPKEY_" with "DEFINE_PROPERTYKEY(PKEY_"
|
||||
|
||||
--*/
|
||||
|
||||
//#include <devpropdef.h>
|
||||
|
||||
//
|
||||
// _NAME
|
||||
//
|
||||
|
||||
DEFINE_PROPERTYKEY(PKEY_NAME, 0xb725f130, 0x47ef, 0x101a, 0xa5, 0xf1, 0x02, 0x60, 0x8c, 0x9e, 0xeb, 0xac, 10); // DEVPROP_TYPE_STRING
|
||||
|
||||
//
|
||||
// Device properties
|
||||
// These PKEYs correspond to the old setupapi SPDRP_XXX properties
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DeviceDesc, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 2); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_HardwareIds, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 3); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_CompatibleIds, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 4); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Service, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 6); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Class, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 9); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_ClassGuid, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 10); // DEVPROP_TYPE_GUID
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Driver, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 11); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_ConfigFlags, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 12); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Manufacturer, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 13); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_FriendlyName, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 14); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_LocationInfo, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 15); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_PDOName, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 16); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Capabilities, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 17); // DEVPROP_TYPE_UNINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_UINumber, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 18); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_UpperFilters, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 19); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_LowerFilters, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 20); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_BusTypeGuid, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 21); // DEVPROP_TYPE_GUID
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_LegacyBusType, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 22); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_BusNumber, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 23); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_EnumeratorName, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 24); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Security, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 25); // DEVPROP_TYPE_SECURITY_DESCRIPTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_SecuritySDS, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 26); // DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DevType, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 27); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Exclusive, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 28); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Characteristics, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 29); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Address, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 30); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_UINumberDescFormat, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 31); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_PowerData, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 32); // DEVPROP_TYPE_BINARY
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_RemovalPolicy, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 33); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_RemovalPolicyDefault, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 34); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_RemovalPolicyOverride, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 35); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_InstallState, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 36); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_LocationPaths, 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 37); // DEVPROP_TYPE_STRING_LIST
|
||||
|
||||
//
|
||||
// Device properties
|
||||
// These PKEYs correspond to a device's status and problem code
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DevNodeStatus, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 2); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_ProblemCode, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 3); // DEVPROP_TYPE_UINT32
|
||||
|
||||
//
|
||||
// Device properties
|
||||
// These PKEYs correspond to device relations
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_EjectionRelations, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 4); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_RemovalRelations, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 5); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_PowerRelations, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 6); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_BusRelations, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 7); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Parent, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 8); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Children, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 9); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Siblings, 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 10); // DEVPROP_TYPE_STRING_LIST
|
||||
|
||||
//
|
||||
// Other Device properties
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Reported, 0x80497100, 0x8c73, 0x48b9, 0xaa, 0xd9, 0xce, 0x38, 0x7e, 0x19, 0xc5, 0x6e, 2); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_Legacy, 0x80497100, 0x8c73, 0x48b9, 0xaa, 0xd9, 0xce, 0x38, 0x7e, 0x19, 0xc5, 0x6e, 3); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_InstanceId, 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 256); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Numa_Proximity_Domain, 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 1); // DEVPROP_TYPE_UINT32
|
||||
|
||||
//
|
||||
// Device driver properties
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverDate, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 2); // DEVPROP_TYPE_FILETIME
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverVersion, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 3); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverDesc, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 4); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverInfPath, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 5); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverInfSection, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 6); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverInfSectionExt, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 7); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_MatchingDeviceId, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 8); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverProvider, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 9); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverPropPageProvider, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 10); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverCoInstallers, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 11); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_ResourcePickerTags, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 12); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_ResourcePickerExceptions, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 13); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverRank, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 14); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_DriverLogoLevel, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 15); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_NoConnectSound, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 17); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_GenericDriverInstalled, 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 18); // DEVPROP_TYPE_BOOLEAN
|
||||
|
||||
|
||||
//
|
||||
// Device properties that were set by the driver package that was installed
|
||||
// on the device.
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_DrvPkg_Model, 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 2); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DrvPkg_VendorWebSite, 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 3); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DrvPkg_DetailedDescription, 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 4); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DrvPkg_DocumentationLink, 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 5); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DrvPkg_Icon, 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 6); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_DrvPkg_BrandingIcon, 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 7); // DEVPROP_TYPE_STRING_LIST
|
||||
|
||||
//
|
||||
// Device setup class properties
|
||||
// These PKEYs correspond to the old setupapi SPCRP_XXX properties
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_UpperFilters, 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 19); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_LowerFilters, 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 20); // DEVPROP_TYPE_STRING_LIST
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_Security, 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 25); // DEVPROP_TYPE_SECURITY_DESCRIPTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_SecuritySDS, 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 26); // DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_DevType, 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 27); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_Exclusive, 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 28); // DEVPROP_TYPE_UINT32
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_Characteristics, 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 29); // DEVPROP_TYPE_UINT32
|
||||
|
||||
//
|
||||
// Device setup class properties
|
||||
// These PKEYs correspond to registry values under the device class GUID key
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_Name, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 2); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_ClassName, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 3); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_Icon, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 4); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_ClassInstaller, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 5); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_PropPageProvider, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 6); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_NoInstallClass, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 7); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_NoDisplayClass, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 8); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_SilentInstall, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 9); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_NoUseClass, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 10); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_DefaultService, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 11); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_IconPath, 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 12); // DEVPROP_TYPE_STRING_LIST
|
||||
|
||||
//
|
||||
// Other Device setup class properties
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceClass_ClassCoInstallers, 0x713d1703, 0xa2e2, 0x49f5, 0x92, 0x14, 0x56, 0x47, 0x2e, 0xf3, 0xda, 0x5c, 2); // DEVPROP_TYPE_STRING_LIST
|
||||
|
||||
//
|
||||
// Device interface properties
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceInterface_FriendlyName, 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 2); // DEVPROP_TYPE_STRING
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceInterface_Enabled, 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 3); // DEVPROP_TYPE_BOOLEAN
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceInterface_ClassGuid, 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 4); // DEVPROP_TYPE_GUID
|
||||
|
||||
//
|
||||
// Device interface class properties
|
||||
//
|
||||
DEFINE_PROPERTYKEY(PKEY_DeviceInterfaceClass_DefaultInterface, 0x14c83a99, 0x0b3f, 0x44b7, 0xbe, 0x4c, 0xa1, 0x78, 0xd3, 0x99, 0x05, 0x64, 2); // DEVPROP_TYPE_STRING
|
||||
|
||||
|
||||
|
||||
|
||||
1177
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/audioclient.h
Normal file
1177
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/audioclient.h
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,620 @@
|
|||
|
||||
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 7.00.0499 */
|
||||
/* Compiler settings for endpointvolume.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__ 500
|
||||
#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 __endpointvolume_h__
|
||||
#define __endpointvolume_h__
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
/* Forward Declarations */
|
||||
|
||||
#ifndef __IAudioEndpointVolumeCallback_FWD_DEFINED__
|
||||
#define __IAudioEndpointVolumeCallback_FWD_DEFINED__
|
||||
typedef interface IAudioEndpointVolumeCallback IAudioEndpointVolumeCallback;
|
||||
#endif /* __IAudioEndpointVolumeCallback_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IAudioEndpointVolume_FWD_DEFINED__
|
||||
#define __IAudioEndpointVolume_FWD_DEFINED__
|
||||
typedef interface IAudioEndpointVolume IAudioEndpointVolume;
|
||||
#endif /* __IAudioEndpointVolume_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IAudioMeterInformation_FWD_DEFINED__
|
||||
#define __IAudioMeterInformation_FWD_DEFINED__
|
||||
typedef interface IAudioMeterInformation IAudioMeterInformation;
|
||||
#endif /* __IAudioMeterInformation_FWD_DEFINED__ */
|
||||
|
||||
|
||||
/* header files for imported files */
|
||||
#include "unknwn.h"
|
||||
#include "devicetopology.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"{
|
||||
#endif
|
||||
|
||||
|
||||
/* interface __MIDL_itf_endpointvolume_0000_0000 */
|
||||
/* [local] */
|
||||
|
||||
typedef struct AUDIO_VOLUME_NOTIFICATION_DATA
|
||||
{
|
||||
GUID guidEventContext;
|
||||
BOOL bMuted;
|
||||
float fMasterVolume;
|
||||
UINT nChannels;
|
||||
float afChannelVolumes[ 1 ];
|
||||
} AUDIO_VOLUME_NOTIFICATION_DATA;
|
||||
|
||||
typedef struct AUDIO_VOLUME_NOTIFICATION_DATA *PAUDIO_VOLUME_NOTIFICATION_DATA;
|
||||
|
||||
#define ENDPOINT_HARDWARE_SUPPORT_VOLUME 0x00000001
|
||||
#define ENDPOINT_HARDWARE_SUPPORT_MUTE 0x00000002
|
||||
#define ENDPOINT_HARDWARE_SUPPORT_METER 0x00000004
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_endpointvolume_0000_0000_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_endpointvolume_0000_0000_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
|
||||
#define __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IAudioEndpointVolumeCallback */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IAudioEndpointVolumeCallback;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("657804FA-D6AD-4496-8A60-352752AF4F89")
|
||||
IAudioEndpointVolumeCallback : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual HRESULT STDMETHODCALLTYPE OnNotify(
|
||||
PAUDIO_VOLUME_NOTIFICATION_DATA pNotify) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IAudioEndpointVolumeCallbackVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IAudioEndpointVolumeCallback * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IAudioEndpointVolumeCallback * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IAudioEndpointVolumeCallback * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *OnNotify )(
|
||||
IAudioEndpointVolumeCallback * This,
|
||||
PAUDIO_VOLUME_NOTIFICATION_DATA pNotify);
|
||||
|
||||
END_INTERFACE
|
||||
} IAudioEndpointVolumeCallbackVtbl;
|
||||
|
||||
interface IAudioEndpointVolumeCallback
|
||||
{
|
||||
CONST_VTBL struct IAudioEndpointVolumeCallbackVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IAudioEndpointVolumeCallback_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IAudioEndpointVolumeCallback_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IAudioEndpointVolumeCallback_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IAudioEndpointVolumeCallback_OnNotify(This,pNotify) \
|
||||
( (This)->lpVtbl -> OnNotify(This,pNotify) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IAudioEndpointVolumeCallback_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IAudioEndpointVolume_INTERFACE_DEFINED__
|
||||
#define __IAudioEndpointVolume_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IAudioEndpointVolume */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IAudioEndpointVolume;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("5CDF2C82-841E-4546-9722-0CF74078229A")
|
||||
IAudioEndpointVolume : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterControlChangeNotify(
|
||||
/* [in] */
|
||||
__in IAudioEndpointVolumeCallback *pNotify) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterControlChangeNotify(
|
||||
/* [in] */
|
||||
__in IAudioEndpointVolumeCallback *pNotify) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelCount(
|
||||
/* [out] */
|
||||
__out UINT *pnChannelCount) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevel(
|
||||
/* [in] */
|
||||
__in float fLevelDB,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMasterVolumeLevelScalar(
|
||||
/* [in] */
|
||||
__in float fLevel,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevel(
|
||||
/* [out] */
|
||||
__out float *pfLevelDB) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMasterVolumeLevelScalar(
|
||||
/* [out] */
|
||||
__out float *pfLevel) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetChannelVolumeLevel(
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
float fLevelDB,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetChannelVolumeLevelScalar(
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
float fLevel,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelVolumeLevel(
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
/* [out] */
|
||||
__out float *pfLevelDB) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelVolumeLevelScalar(
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
/* [out] */
|
||||
__out float *pfLevel) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMute(
|
||||
/* [in] */
|
||||
__in BOOL bMute,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMute(
|
||||
/* [out] */
|
||||
__out BOOL *pbMute) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolumeStepInfo(
|
||||
/* [out] */
|
||||
__out UINT *pnStep,
|
||||
/* [out] */
|
||||
__out UINT *pnStepCount) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VolumeStepUp(
|
||||
/* [unique][in] */ LPCGUID pguidEventContext) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VolumeStepDown(
|
||||
/* [unique][in] */ LPCGUID pguidEventContext) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHardwareSupport(
|
||||
/* [out] */
|
||||
__out DWORD *pdwHardwareSupportMask) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVolumeRange(
|
||||
/* [out] */
|
||||
__out float *pflVolumeMindB,
|
||||
/* [out] */
|
||||
__out float *pflVolumeMaxdB,
|
||||
/* [out] */
|
||||
__out float *pflVolumeIncrementdB) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IAudioEndpointVolumeVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IAudioEndpointVolume * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IAudioEndpointVolume * This);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterControlChangeNotify )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in IAudioEndpointVolumeCallback *pNotify);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterControlChangeNotify )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in IAudioEndpointVolumeCallback *pNotify);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [out] */
|
||||
__out UINT *pnChannelCount);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevel )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in float fLevelDB,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMasterVolumeLevelScalar )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in float fLevel,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevel )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [out] */
|
||||
__out float *pfLevelDB);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMasterVolumeLevelScalar )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [out] */
|
||||
__out float *pfLevel);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevel )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
float fLevelDB,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetChannelVolumeLevelScalar )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
float fLevel,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevel )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
/* [out] */
|
||||
__out float *pfLevelDB);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelVolumeLevelScalar )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in UINT nChannel,
|
||||
/* [out] */
|
||||
__out float *pfLevel);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMute )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [in] */
|
||||
__in BOOL bMute,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMute )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [out] */
|
||||
__out BOOL *pbMute);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolumeStepInfo )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [out] */
|
||||
__out UINT *pnStep,
|
||||
/* [out] */
|
||||
__out UINT *pnStepCount);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VolumeStepUp )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VolumeStepDown )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [unique][in] */ LPCGUID pguidEventContext);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [out] */
|
||||
__out DWORD *pdwHardwareSupportMask);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVolumeRange )(
|
||||
IAudioEndpointVolume * This,
|
||||
/* [out] */
|
||||
__out float *pflVolumeMindB,
|
||||
/* [out] */
|
||||
__out float *pflVolumeMaxdB,
|
||||
/* [out] */
|
||||
__out float *pflVolumeIncrementdB);
|
||||
|
||||
END_INTERFACE
|
||||
} IAudioEndpointVolumeVtbl;
|
||||
|
||||
interface IAudioEndpointVolume
|
||||
{
|
||||
CONST_VTBL struct IAudioEndpointVolumeVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IAudioEndpointVolume_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IAudioEndpointVolume_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IAudioEndpointVolume_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IAudioEndpointVolume_RegisterControlChangeNotify(This,pNotify) \
|
||||
( (This)->lpVtbl -> RegisterControlChangeNotify(This,pNotify) )
|
||||
|
||||
#define IAudioEndpointVolume_UnregisterControlChangeNotify(This,pNotify) \
|
||||
( (This)->lpVtbl -> UnregisterControlChangeNotify(This,pNotify) )
|
||||
|
||||
#define IAudioEndpointVolume_GetChannelCount(This,pnChannelCount) \
|
||||
( (This)->lpVtbl -> GetChannelCount(This,pnChannelCount) )
|
||||
|
||||
#define IAudioEndpointVolume_SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) \
|
||||
( (This)->lpVtbl -> SetMasterVolumeLevel(This,fLevelDB,pguidEventContext) )
|
||||
|
||||
#define IAudioEndpointVolume_SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) \
|
||||
( (This)->lpVtbl -> SetMasterVolumeLevelScalar(This,fLevel,pguidEventContext) )
|
||||
|
||||
#define IAudioEndpointVolume_GetMasterVolumeLevel(This,pfLevelDB) \
|
||||
( (This)->lpVtbl -> GetMasterVolumeLevel(This,pfLevelDB) )
|
||||
|
||||
#define IAudioEndpointVolume_GetMasterVolumeLevelScalar(This,pfLevel) \
|
||||
( (This)->lpVtbl -> GetMasterVolumeLevelScalar(This,pfLevel) )
|
||||
|
||||
#define IAudioEndpointVolume_SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) \
|
||||
( (This)->lpVtbl -> SetChannelVolumeLevel(This,nChannel,fLevelDB,pguidEventContext) )
|
||||
|
||||
#define IAudioEndpointVolume_SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) \
|
||||
( (This)->lpVtbl -> SetChannelVolumeLevelScalar(This,nChannel,fLevel,pguidEventContext) )
|
||||
|
||||
#define IAudioEndpointVolume_GetChannelVolumeLevel(This,nChannel,pfLevelDB) \
|
||||
( (This)->lpVtbl -> GetChannelVolumeLevel(This,nChannel,pfLevelDB) )
|
||||
|
||||
#define IAudioEndpointVolume_GetChannelVolumeLevelScalar(This,nChannel,pfLevel) \
|
||||
( (This)->lpVtbl -> GetChannelVolumeLevelScalar(This,nChannel,pfLevel) )
|
||||
|
||||
#define IAudioEndpointVolume_SetMute(This,bMute,pguidEventContext) \
|
||||
( (This)->lpVtbl -> SetMute(This,bMute,pguidEventContext) )
|
||||
|
||||
#define IAudioEndpointVolume_GetMute(This,pbMute) \
|
||||
( (This)->lpVtbl -> GetMute(This,pbMute) )
|
||||
|
||||
#define IAudioEndpointVolume_GetVolumeStepInfo(This,pnStep,pnStepCount) \
|
||||
( (This)->lpVtbl -> GetVolumeStepInfo(This,pnStep,pnStepCount) )
|
||||
|
||||
#define IAudioEndpointVolume_VolumeStepUp(This,pguidEventContext) \
|
||||
( (This)->lpVtbl -> VolumeStepUp(This,pguidEventContext) )
|
||||
|
||||
#define IAudioEndpointVolume_VolumeStepDown(This,pguidEventContext) \
|
||||
( (This)->lpVtbl -> VolumeStepDown(This,pguidEventContext) )
|
||||
|
||||
#define IAudioEndpointVolume_QueryHardwareSupport(This,pdwHardwareSupportMask) \
|
||||
( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) )
|
||||
|
||||
#define IAudioEndpointVolume_GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) \
|
||||
( (This)->lpVtbl -> GetVolumeRange(This,pflVolumeMindB,pflVolumeMaxdB,pflVolumeIncrementdB) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IAudioEndpointVolume_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IAudioMeterInformation_INTERFACE_DEFINED__
|
||||
#define __IAudioMeterInformation_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IAudioMeterInformation */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IAudioMeterInformation;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("C02216F6-8C67-4B5B-9D00-D008E73E0064")
|
||||
IAudioMeterInformation : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPeakValue(
|
||||
/* [out] */ float *pfPeak) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMeteringChannelCount(
|
||||
/* [out] */
|
||||
__out UINT *pnChannelCount) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChannelsPeakValues(
|
||||
/* [in] */ UINT32 u32ChannelCount,
|
||||
/* [size_is][out] */ float *afPeakValues) = 0;
|
||||
|
||||
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryHardwareSupport(
|
||||
/* [out] */
|
||||
__out DWORD *pdwHardwareSupportMask) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IAudioMeterInformationVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IAudioMeterInformation * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IAudioMeterInformation * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IAudioMeterInformation * This);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPeakValue )(
|
||||
IAudioMeterInformation * This,
|
||||
/* [out] */ float *pfPeak);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMeteringChannelCount )(
|
||||
IAudioMeterInformation * This,
|
||||
/* [out] */
|
||||
__out UINT *pnChannelCount);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChannelsPeakValues )(
|
||||
IAudioMeterInformation * This,
|
||||
/* [in] */ UINT32 u32ChannelCount,
|
||||
/* [size_is][out] */ float *afPeakValues);
|
||||
|
||||
/* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryHardwareSupport )(
|
||||
IAudioMeterInformation * This,
|
||||
/* [out] */
|
||||
__out DWORD *pdwHardwareSupportMask);
|
||||
|
||||
END_INTERFACE
|
||||
} IAudioMeterInformationVtbl;
|
||||
|
||||
interface IAudioMeterInformation
|
||||
{
|
||||
CONST_VTBL struct IAudioMeterInformationVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IAudioMeterInformation_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IAudioMeterInformation_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IAudioMeterInformation_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IAudioMeterInformation_GetPeakValue(This,pfPeak) \
|
||||
( (This)->lpVtbl -> GetPeakValue(This,pfPeak) )
|
||||
|
||||
#define IAudioMeterInformation_GetMeteringChannelCount(This,pnChannelCount) \
|
||||
( (This)->lpVtbl -> GetMeteringChannelCount(This,pnChannelCount) )
|
||||
|
||||
#define IAudioMeterInformation_GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) \
|
||||
( (This)->lpVtbl -> GetChannelsPeakValues(This,u32ChannelCount,afPeakValues) )
|
||||
|
||||
#define IAudioMeterInformation_QueryHardwareSupport(This,pdwHardwareSupportMask) \
|
||||
( (This)->lpVtbl -> QueryHardwareSupport(This,pdwHardwareSupportMask) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IAudioMeterInformation_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
/* end of Additional Prototypes */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
#pragma once
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifndef DEFINE_API_PKEY
|
||||
#include <propkey.h>
|
||||
#endif
|
||||
|
||||
#include <FunctionDiscoveryKeys_devpkey.h>
|
||||
|
||||
// FMTID_FD = {904b03a2-471d-423c-a584-f3483238a146}
|
||||
DEFINE_GUID(FMTID_FD, 0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46);
|
||||
DEFINE_API_PKEY(PKEY_FD_Visibility, VisibilityFlags, 0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46, 0x00000001); // VT_UINT
|
||||
#define FD_Visibility_Default 0
|
||||
#define FD_Visibility_Hidden 1
|
||||
|
||||
// FMTID_Device = {78C34FC8-104A-4aca-9EA4-524D52996E57}
|
||||
DEFINE_GUID(FMTID_Device, 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57);
|
||||
|
||||
DEFINE_API_PKEY(PKEY_Device_NotPresent, DeviceNotPresent , 0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46, 0x00000002); // VT_UINT
|
||||
DEFINE_API_PKEY(PKEY_Device_QueueSize, DeviceQueueSize , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00000024); // VT_UI4
|
||||
DEFINE_API_PKEY(PKEY_Device_Status, DeviceStatus , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00000025); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_Device_Comment, DeviceComment , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00000026); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_Device_Model, DeviceModel , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00000027); // VT_LPWSTR
|
||||
|
||||
// Name: System.Device.BIOSVersion -- PKEY_Device_BIOSVersion
|
||||
// Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_BSTR.
|
||||
// FormatID: EAEE7F1D-6A33-44D1-9441-5F46DEF23198, 9
|
||||
DEFINE_PROPERTYKEY(PKEY_Device_BIOSVersion, 0xEAEE7F1D, 0x6A33, 0x44D1, 0x94, 0x41, 0x5F, 0x46, 0xDE, 0xF2, 0x31, 0x98, 9);
|
||||
|
||||
DEFINE_API_PKEY(PKEY_Write_Time, WriteTime , 0xf53b7e1c, 0x77e0, 0x4450, 0x8c, 0x5f, 0xa7, 0x6c, 0xc7, 0xfd, 0xe0, 0x58, 0x00000100); // VT_FILETIME
|
||||
|
||||
#ifdef FD_XP
|
||||
DEFINE_API_PKEY(PKEY_Device_InstanceId, DeviceInstanceId , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00000100); // VT_LPWSTR
|
||||
#endif
|
||||
DEFINE_API_PKEY(PKEY_Device_Interface, DeviceInterface , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00000101); // VT_CLSID
|
||||
|
||||
DEFINE_API_PKEY(PKEY_ExposedIIDs, ExposedIIDs , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00003002); // VT_VECTOR | VT_CLSID
|
||||
DEFINE_API_PKEY(PKEY_ExposedCLSIDs, ExposedCLSIDs , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00003003); // VT_VECTOR | VT_CLSID
|
||||
DEFINE_API_PKEY(PKEY_InstanceValidatorClsid,InstanceValidator , 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 0x00003004); // VT_CLSID
|
||||
|
||||
// FMTID_WSD = {92506491-FF95-4724-A05A-5B81885A7C92}
|
||||
DEFINE_GUID(FMTID_WSD, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92);
|
||||
|
||||
DEFINE_API_PKEY(PKEY_WSD_AddressURI, WSD_AddressURI, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00001000); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_WSD_Types, WSD_Types, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00001001); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_WSD_Scopes, WSD_Scopes, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00001002); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_WSD_MetadataVersion, WSD_MetadataVersion, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00001003); //VT_UI8
|
||||
DEFINE_API_PKEY(PKEY_WSD_AppSeqInstanceID, WSD_AppSeqInstanceID, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00001004); // VT_UI8
|
||||
DEFINE_API_PKEY(PKEY_WSD_AppSeqSessionID, WSD_AppSeqSessionID, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00001005); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_WSD_AppSeqMessageNumber, WSD_AppSeqMessageNumber, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00001006); // VT_UI8
|
||||
DEFINE_API_PKEY(PKEY_WSD_XAddrs, WSD_XAddrs, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00002000); // VT_LPWSTR or VT_VECTOR | VT_LPWSTR
|
||||
|
||||
DEFINE_API_PKEY(PKEY_WSD_MetadataClean, WSD_MetadataClean, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00000001); // VT_BOOL
|
||||
DEFINE_API_PKEY(PKEY_WSD_ServiceInfo, WSD_ServiceInfo, 0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92, 0x00000002); // VT_VECTOR|VT_VARIANT (variants are VT_UNKNOWN)
|
||||
|
||||
DEFINE_API_PKEY(PKEY_PUBSVCS_TYPE, PUBSVCS_TYPE, 0xF1B88AD3, 0x109C, 0x4FD2, 0xBA, 0x3F, 0x53, 0x5A, 0x76, 0x5F, 0x82, 0xF4, 0x00005001); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_PUBSVCS_SCOPE, PUBSVCS_SCOPE, 0x2AE2B567, 0xEECB, 0x4A3E, 0xB7, 0x53, 0x54, 0xC7, 0x25, 0x49, 0x43, 0x66, 0x00005002); // VT_LPWSTR | VT_VECTOR
|
||||
DEFINE_API_PKEY(PKEY_PUBSVCS_METADATA, PUBSVCS_METADATA, 0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59, 0x00005003); // VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_PUBSVCS_METADATA_VERSION, PUBSVCS_METADATA_VERSION, 0xC0C96C15, 0x1823, 0x4E5B, 0x93, 0x48, 0xE8, 0x25, 0x19, 0x92, 0x3F, 0x04, 0x00005004); // VT_UI8
|
||||
DEFINE_API_PKEY(PKEY_PUBSVCS_NETWORK_PROFILES_ALLOWED, PUBSVCS_NETWORK_PROFILES_ALLOWED, 0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59, 0x00005005); // VT_VECTOR | VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_PUBSVCS_NETWORK_PROFILES_DENIED, PUBSVCS_NETWORK_PROFILES_DENIED, 0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59, 0x00005006); // VT_VECTOR | VT_LPWSTR
|
||||
DEFINE_API_PKEY(PKEY_PUBSVCS_NETWORK_PROFILES_DEFAULT, PUBSVCS_NETWORK_PROFILES_DEFAULT, 0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59, 0x00005007); // VT_BOOL
|
||||
|
||||
// FMTID_PNPX = {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}
|
||||
DEFINE_GUID(FMTID_PNPX, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD);
|
||||
// from Discovery messages
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_GlobalIdentity, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001000); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_Types, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001001); // VT_LPWSTR | VT_VECTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_Scopes, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001002); // VT_LPWSTR | VT_VECTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_XAddrs, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001003); // VT_LPWSTR | VT_VECTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_MetadataVersion, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001004); // VT_UI8
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ID, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001005); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_RootProxy, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001006); // VT_BOOL
|
||||
|
||||
// for Directed Discovery
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_RemoteAddress, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00001006); // VT_LPWSTR
|
||||
|
||||
// from ThisModel metadata
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_Manufacturer, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00002000); // VT_LPWSTR (localizable)
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ManufacturerUrl, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00002001); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ModelName, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00002002); // VT_LPWSTR (localizable)
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ModelNumber, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00002003); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ModelUrl, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00002004); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_Upc, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00002005); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_PresentationUrl, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00002006); // VT_LPWSTR
|
||||
// from ThisDevice metadata
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_FriendlyName, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003000); // VT_LPWSTR (localizable)
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_FirmwareVersion, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003001); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_SerialNumber, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003002); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_DeviceCategory, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003004); // VT_LPWSTR | VT_VECTOR
|
||||
// DeviceCategory values
|
||||
#define PNPX_DEVICECATEGORY_COMPUTER L"Computers"
|
||||
#define PNPX_DEVICECATEGORY_INPUTDEVICE L"Input"
|
||||
#define PNPX_DEVICECATEGORY_PRINTER L"Printers"
|
||||
#define PNPX_DEVICECATEGORY_SCANNER L"Scanners"
|
||||
#define PNPX_DEVICECATEGORY_FAX L"FAX"
|
||||
#define PNPX_DEVICECATEGORY_MFP L"MFP"
|
||||
#define PNPX_DEVICECATEGORY_CAMERA L"Cameras"
|
||||
#define PNPX_DEVICECATEGORY_STORAGE L"Storage"
|
||||
#define PNPX_DEVICECATEGORY_NETWORK_INFRASTRUCTURE L"NetworkInfrastructure"
|
||||
#define PNPX_DEVICECATEGORY_DISPLAYS L"Displays"
|
||||
#define PNPX_DEVICECATEGORY_MULTIMEDIA_DEVICE L"MediaDevices"
|
||||
#define PNPX_DEVICECATEGORY_GAMING_DEVICE L"Gaming"
|
||||
#define PNPX_DEVICECATEGORY_TELEPHONE L"Phones"
|
||||
#define PNPX_DEVICECATEGORY_HOME_AUTOMATION_SYSTEM L"HomeAutomation"
|
||||
#define PNPX_DEVICECATEGORY_HOME_SECURITY_SYSTEM L"HomeSecurity"
|
||||
#define PNPX_DEVICECATEGORY_OTHER L"Other"
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_DeviceCategory_Desc, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003005); // VT_LPWSTR | VT_VECTOR
|
||||
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_PhysicalAddress, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003006); // VT_UI1 | VT_VECTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_NetworkInterfaceLuid, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003007); // VT_UI8
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_NetworkInterfaceGuid, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003008); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_IpAddress, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00003009); // VT_LPWSTR | VT_VECTOR
|
||||
// from Relationship metadata
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ServiceAddress, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00004000); // VT_LPWSTR | VT_VECTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ServiceId, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00004001); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ServiceTypes, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00004002); // VT_LPWSTR | VT_VECTOR
|
||||
// Association DB PKEYs
|
||||
DEFINE_API_PKEY(PKEY_PNPX_Devnode, PnPXDevNode, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00000001); // VT_BOOL
|
||||
DEFINE_API_PKEY(PKEY_PNPX_AssociationState, AssociationState, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00000002); // VT_UINT
|
||||
DEFINE_API_PKEY(PKEY_PNPX_AssociatedInstanceId, AssociatedInstanceId, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00000003); // VT_LPWSTR
|
||||
// for Computer Discovery
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_DomainName, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00005000); // VT_LPWSTR
|
||||
// Use PKEY_ComputerName (propkey.h) DEFINE_PROPERTYKEY(PKEY_PNPX_MachineName, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00005001); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_ShareName, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00005002); // VT_LPWSTR
|
||||
|
||||
// SSDP Provider custom properties
|
||||
DEFINE_PROPERTYKEY(PKEY_SSDP_AltLocationInfo, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00006000); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_SSDP_DevLifeTime, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00006001); // VT_UI4
|
||||
DEFINE_PROPERTYKEY(PKEY_SSDP_NetworkInterface, 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 0x00006002); // VT_BOOL
|
||||
|
||||
// FMTID_PNPXDynamicProperty = {4FC5077E-B686-44BE-93E3-86CAFE368CCD}
|
||||
DEFINE_GUID(FMTID_PNPXDynamicProperty, 0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD);
|
||||
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_Installable, 0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD, 0x00000001); // VT_BOOL
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_Associated, 0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD, 0x00000002); // VT_BOOL
|
||||
// PKEY_PNPX_Installed to be deprecated in Longhorn Server timeframe
|
||||
// this PKEY really represents Associated state
|
||||
#define PKEY_PNPX_Installed PKEY_PNPX_Associated // Deprecated! Please use PKEY_PNPX_Associated
|
||||
DEFINE_PROPERTYKEY(PKEY_PNPX_CompatibleTypes, 0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD, 0x00000003); // VT_LPWSTR | VT_VECTOR
|
||||
|
||||
// WNET Provider properties
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_Scope, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000001); // VT_UINT
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_Type, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000002); // VT_UINT
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_DisplayType, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000003); // VT_UINT
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_Usage, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000004); // VT_UINT
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_LocalName, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000005); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_RemoteName, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000006); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_Comment, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000007); // VT_LPWSTR
|
||||
DEFINE_PROPERTYKEY(PKEY_WNET_Provider, 0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab, 0x00000008); // VT_LPWSTR
|
||||
|
||||
|
||||
// WCN Provider properties
|
||||
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_Version, 0x88190b80, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000001); // VT_UI1
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_RequestType, 0x88190b81, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000002); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_AuthType, 0x88190b82, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000003); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_EncryptType, 0x88190b83, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000004); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_ConnType, 0x88190b84, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000005); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_ConfigMethods, 0x88190b85, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000006); // VT_INT
|
||||
// map WCN DeviceType to PKEY_PNPX_DeviceCategory
|
||||
//DEFINE_PROPERTYKEY(PKEY_WCN_DeviceType, 0x88190b86, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000007); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_RfBand, 0x88190b87, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000008); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_AssocState, 0x88190b88, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x00000009); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_ConfigError, 0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x0000000a); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_ConfigState, 0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x0000000b); // VT_UI1
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_DevicePasswordId, 0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x0000000c); // VT_INT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_OSVersion, 0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x0000000d); // VT_UINT
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_VendorExtension, 0x88190b8a, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x0000000e); // VT_UI1 | VT_VECTOR
|
||||
DEFINE_PROPERTYKEY(PKEY_WCN_RegistrarType, 0x88190b8b, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81, 0x0000000f); // VT_INT
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// DriverPackage properties
|
||||
|
||||
#define PKEY_DriverPackage_Model PKEY_DrvPkg_Model
|
||||
#define PKEY_DriverPackage_VendorWebSite PKEY_DrvPkg_VendorWebSite
|
||||
#define PKEY_DriverPackage_DetailedDescription PKEY_DrvPkg_DetailedDescription
|
||||
#define PKEY_DriverPackage_DocumentationLink PKEY_DrvPkg_DocumentationLink
|
||||
#define PKEY_DriverPackage_Icon PKEY_DrvPkg_Icon
|
||||
#define PKEY_DriverPackage_BrandingIcon PKEY_DrvPkg_BrandingIcon
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Hardware properties
|
||||
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Devinst, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 4097);
|
||||
|
||||
// Name: System.Hardware.DisplayAttribute -- PKEY_Hardware_DisplayAttribute
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 5
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_DisplayAttribute, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 5);
|
||||
|
||||
// Name: System.Hardware.DriverDate -- PKEY_Hardware_DriverDate
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 11
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_DriverDate, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 11);
|
||||
|
||||
// Name: System.Hardware.DriverProvider -- PKEY_Hardware_DriverProvider
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 10
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_DriverProvider, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 10);
|
||||
|
||||
// Name: System.Hardware.DriverVersion -- PKEY_Hardware_DriverVersion
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 9
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_DriverVersion, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 9);
|
||||
|
||||
// Name: System.Hardware.Function -- PKEY_Hardware_Function
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4099
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Function, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 4099);
|
||||
|
||||
// Name: System.Hardware.Icon -- PKEY_Hardware_Icon
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 3
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Icon, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 3);
|
||||
|
||||
// Name: System.Hardware.Image -- PKEY_Hardware_Image
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4098
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Image, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 4098);
|
||||
|
||||
// Name: System.Hardware.Manufacturer -- PKEY_Hardware_Manufacturer
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 6
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Manufacturer, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 6);
|
||||
|
||||
// Name: System.Hardware.Model -- PKEY_Hardware_Model
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 7
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Model, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 7);
|
||||
|
||||
// Name: System.Hardware.Name -- PKEY_Hardware_Name
|
||||
// Type: String -- VT_LPWSTR (For variants: VT_BSTR)
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 2
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Name, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 2);
|
||||
|
||||
// Name: System.Hardware.SerialNumber -- PKEY_Hardware_SerialNumber
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 8
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_SerialNumber, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 8);
|
||||
|
||||
// Name: System.Hardware.ShellAttributes -- PKEY_Hardware_ShellAttributes
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4100
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_ShellAttributes, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 4100);
|
||||
|
||||
// Name: System.Hardware.Status -- PKEY_Hardware_Status
|
||||
// Type: Unspecified -- VT_NULL
|
||||
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4096
|
||||
DEFINE_PROPERTYKEY(PKEY_Hardware_Status, 0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53, 4096);
|
||||
|
||||
|
||||
3666
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ks.h
Normal file
3666
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ks.h
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
#define INITGUID
|
||||
#include <guiddef.h>
|
||||
|
||||
#ifndef DECLSPEC_SELECTANY
|
||||
#define DECLSPEC_SELECTANY __declspec(selectany)
|
||||
#endif
|
||||
|
||||
#ifdef DEFINE_GUIDEX
|
||||
#undef DEFINE_GUIDEX
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID DECLSPEC_SELECTANY name = { STATICGUIDOF(name) }
|
||||
#else
|
||||
#define DEFINE_GUIDEX(name) const CDECL GUID DECLSPEC_SELECTANY name = { STATICGUIDOF(name) }
|
||||
#endif
|
||||
#ifndef STATICGUIDOF
|
||||
#define STATICGUIDOF(guid) STATIC_##guid
|
||||
#endif
|
||||
|
||||
#ifndef DEFINE_WAVEFORMATEX_GUID
|
||||
#define DEFINE_WAVEFORMATEX_GUID(x) (USHORT)(x),0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71
|
||||
#endif
|
||||
4551
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ksmedia.h
Normal file
4551
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ksmedia.h
Normal file
File diff suppressed because it is too large
Load diff
639
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ksproxy.h
Normal file
639
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ksproxy.h
Normal file
|
|
@ -0,0 +1,639 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
#ifndef __KSPROXY__
|
||||
#define __KSPROXY__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#undef KSDDKAPI
|
||||
#ifdef _KSDDK_
|
||||
#define KSDDKAPI
|
||||
#else
|
||||
#define KSDDKAPI DECLSPEC_IMPORT
|
||||
#endif
|
||||
|
||||
#define STATIC_IID_IKsObject \
|
||||
0x423c13a2L,0x2070,0x11d0,0x9e,0xf7,0x00,0xaa,0x00,0xa2,0x16,0xa1
|
||||
|
||||
#define STATIC_IID_IKsPinEx \
|
||||
0x7bb38260L,0xd19c,0x11d2,0xb3,0x8a,0x00,0xa0,0xc9,0x5e,0xc2,0x2e
|
||||
|
||||
#define STATIC_IID_IKsPin \
|
||||
0xb61178d1L,0xa2d9,0x11cf,0x9e,0x53,0x00,0xaa,0x00,0xa2,0x16,0xa1
|
||||
|
||||
#define STATIC_IID_IKsPinPipe \
|
||||
0xe539cd90L,0xa8b4,0x11d1,0x81,0x89,0x00,0xa0,0xc9,0x06,0x28,0x02
|
||||
|
||||
#define STATIC_IID_IKsDataTypeHandler \
|
||||
0x5ffbaa02L,0x49a3,0x11d0,0x9f,0x36,0x00,0xaa,0x00,0xa2,0x16,0xa1
|
||||
|
||||
#define STATIC_IID_IKsDataTypeCompletion \
|
||||
0x827D1A0EL,0x0F73,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96
|
||||
|
||||
#define STATIC_IID_IKsInterfaceHandler \
|
||||
0xD3ABC7E0L,0x9A61,0x11D0,0xA4,0x0D,0x00,0xA0,0xC9,0x22,0x31,0x96
|
||||
|
||||
#define STATIC_IID_IKsClockPropertySet \
|
||||
0x5C5CBD84L,0xE755,0x11D0,0xAC,0x18,0x00,0xA0,0xC9,0x22,0x31,0x96
|
||||
|
||||
#define STATIC_IID_IKsAllocator \
|
||||
0x8da64899L,0xc0d9,0x11d0,0x84,0x13,0x00,0x00,0xf8,0x22,0xfe,0x8a
|
||||
|
||||
#define STATIC_IID_IKsAllocatorEx \
|
||||
0x091bb63aL,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02
|
||||
|
||||
#ifndef STATIC_IID_IKsPropertySet
|
||||
#define STATIC_IID_IKsPropertySet \
|
||||
0x31EFAC30L,0x515C,0x11d0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93
|
||||
#endif
|
||||
|
||||
#define STATIC_IID_IKsTopology \
|
||||
0x28F54683L,0x06FD,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96
|
||||
|
||||
#ifndef STATIC_IID_IKsControl
|
||||
#define STATIC_IID_IKsControl \
|
||||
0x28F54685L,0x06FD,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96
|
||||
#endif
|
||||
|
||||
#define STATIC_IID_IKsAggregateControl \
|
||||
0x7F40EAC0L,0x3947,0x11D2,0x87,0x4E,0x00,0xA0,0xC9,0x22,0x31,0x96
|
||||
|
||||
#define STATIC_CLSID_Proxy \
|
||||
0x17CCA71BL,0xECD7,0x11D0,0xB9,0x08,0x00,0xA0,0xC9,0x22,0x31,0x96
|
||||
|
||||
#ifdef _KS_
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsObject);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsPin);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsPinEx);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsPinPipe);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsDataTypeHandler);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsDataTypeCompletion);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsInterfaceHandler);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsClockPropertySet);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsAllocator);
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsAllocatorEx);
|
||||
|
||||
#define IID_IKsQualityForwarder KSCATEGORY_QUALITY
|
||||
#define STATIC_IID_IKsQualityForwarder STATIC_KSCATEGORY_QUALITY
|
||||
|
||||
typedef enum {
|
||||
KsAllocatorMode_User,
|
||||
KsAllocatorMode_Kernel
|
||||
} KSALLOCATORMODE;
|
||||
|
||||
typedef enum {
|
||||
FramingProp_Uninitialized,
|
||||
FramingProp_None,
|
||||
FramingProp_Old,
|
||||
FramingProp_Ex
|
||||
} FRAMING_PROP;
|
||||
|
||||
typedef FRAMING_PROP *PFRAMING_PROP;
|
||||
|
||||
typedef enum {
|
||||
Framing_Cache_Update,
|
||||
Framing_Cache_ReadLast,
|
||||
Framing_Cache_ReadOrig,
|
||||
Framing_Cache_Write
|
||||
} FRAMING_CACHE_OPS;
|
||||
|
||||
typedef struct {
|
||||
LONGLONG MinTotalNominator;
|
||||
LONGLONG MaxTotalNominator;
|
||||
LONGLONG TotalDenominator;
|
||||
} OPTIMAL_WEIGHT_TOTALS;
|
||||
|
||||
typedef struct IPin IPin;
|
||||
typedef struct IKsPin IKsPin;
|
||||
typedef struct IKsAllocator IKsAllocator;
|
||||
typedef struct IKsAllocatorEx IKsAllocatorEx;
|
||||
|
||||
#define AllocatorStrategy_DontCare 0
|
||||
#define AllocatorStrategy_MinimizeNumberOfFrames 0x00000001
|
||||
#define AllocatorStrategy_MinimizeFrameSize 0x00000002
|
||||
#define AllocatorStrategy_MinimizeNumberOfAllocators 0x00000004
|
||||
#define AllocatorStrategy_MaximizeSpeed 0x00000008
|
||||
|
||||
#define PipeFactor_None 0
|
||||
#define PipeFactor_UserModeUpstream 0x00000001
|
||||
#define PipeFactor_UserModeDownstream 0x00000002
|
||||
#define PipeFactor_MemoryTypes 0x00000004
|
||||
#define PipeFactor_Flags 0x00000008
|
||||
#define PipeFactor_PhysicalRanges 0x00000010
|
||||
#define PipeFactor_OptimalRanges 0x00000020
|
||||
#define PipeFactor_FixedCompression 0x00000040
|
||||
#define PipeFactor_UnknownCompression 0x00000080
|
||||
|
||||
#define PipeFactor_Buffers 0x00000100
|
||||
#define PipeFactor_Align 0x00000200
|
||||
#define PipeFactor_PhysicalEnd 0x00000400
|
||||
#define PipeFactor_LogicalEnd 0x00000800
|
||||
|
||||
typedef enum {
|
||||
PipeState_DontCare,
|
||||
PipeState_RangeNotFixed,
|
||||
PipeState_RangeFixed,
|
||||
PipeState_CompressionUnknown,
|
||||
PipeState_Finalized
|
||||
} PIPE_STATE;
|
||||
|
||||
typedef struct _PIPE_DIMENSIONS {
|
||||
KS_COMPRESSION AllocatorPin;
|
||||
KS_COMPRESSION MaxExpansionPin;
|
||||
KS_COMPRESSION EndPin;
|
||||
} PIPE_DIMENSIONS,*PPIPE_DIMENSIONS;
|
||||
|
||||
typedef enum {
|
||||
Pipe_Allocator_None,
|
||||
Pipe_Allocator_FirstPin,
|
||||
Pipe_Allocator_LastPin,
|
||||
Pipe_Allocator_MiddlePin
|
||||
} PIPE_ALLOCATOR_PLACE;
|
||||
|
||||
typedef PIPE_ALLOCATOR_PLACE *PPIPE_ALLOCATOR_PLACE;
|
||||
|
||||
typedef enum {
|
||||
KS_MemoryTypeDontCare = 0,
|
||||
KS_MemoryTypeKernelPaged,
|
||||
KS_MemoryTypeKernelNonPaged,
|
||||
KS_MemoryTypeDeviceHostMapped,
|
||||
KS_MemoryTypeDeviceSpecific,
|
||||
KS_MemoryTypeUser,
|
||||
KS_MemoryTypeAnyHost
|
||||
} KS_LogicalMemoryType;
|
||||
|
||||
typedef KS_LogicalMemoryType *PKS_LogicalMemoryType;
|
||||
|
||||
typedef struct _PIPE_TERMINATION {
|
||||
ULONG Flags;
|
||||
ULONG OutsideFactors;
|
||||
ULONG Weigth;
|
||||
KS_FRAMING_RANGE PhysicalRange;
|
||||
KS_FRAMING_RANGE_WEIGHTED OptimalRange;
|
||||
KS_COMPRESSION Compression;
|
||||
} PIPE_TERMINATION;
|
||||
|
||||
typedef struct _ALLOCATOR_PROPERTIES_EX
|
||||
{
|
||||
long cBuffers;
|
||||
long cbBuffer;
|
||||
long cbAlign;
|
||||
long cbPrefix;
|
||||
|
||||
GUID MemoryType;
|
||||
GUID BusType;
|
||||
PIPE_STATE State;
|
||||
PIPE_TERMINATION Input;
|
||||
PIPE_TERMINATION Output;
|
||||
ULONG Strategy;
|
||||
ULONG Flags;
|
||||
ULONG Weight;
|
||||
KS_LogicalMemoryType LogicalMemoryType;
|
||||
PIPE_ALLOCATOR_PLACE AllocatorPlace;
|
||||
PIPE_DIMENSIONS Dimensions;
|
||||
KS_FRAMING_RANGE PhysicalRange;
|
||||
IKsAllocatorEx *PrevSegment;
|
||||
ULONG CountNextSegments;
|
||||
IKsAllocatorEx **NextSegments;
|
||||
ULONG InsideFactors;
|
||||
ULONG NumberPins;
|
||||
} ALLOCATOR_PROPERTIES_EX;
|
||||
|
||||
typedef ALLOCATOR_PROPERTIES_EX *PALLOCATOR_PROPERTIES_EX;
|
||||
|
||||
#ifdef __STREAMS__
|
||||
|
||||
struct IKsClockPropertySet;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsClockPropertySet
|
||||
DECLARE_INTERFACE_(IKsClockPropertySet,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsGetTime) (THIS_
|
||||
LONGLONG *Time
|
||||
) PURE;
|
||||
STDMETHOD(KsSetTime) (THIS_
|
||||
LONGLONG Time
|
||||
) PURE;
|
||||
STDMETHOD(KsGetPhysicalTime) (THIS_
|
||||
LONGLONG *Time
|
||||
) PURE;
|
||||
STDMETHOD(KsSetPhysicalTime) (THIS_
|
||||
LONGLONG Time
|
||||
) PURE;
|
||||
STDMETHOD(KsGetCorrelatedTime) (THIS_
|
||||
KSCORRELATED_TIME *CorrelatedTime
|
||||
) PURE;
|
||||
STDMETHOD(KsSetCorrelatedTime) (THIS_
|
||||
KSCORRELATED_TIME *CorrelatedTime
|
||||
) PURE;
|
||||
STDMETHOD(KsGetCorrelatedPhysicalTime)(THIS_
|
||||
KSCORRELATED_TIME *CorrelatedTime
|
||||
) PURE;
|
||||
STDMETHOD(KsSetCorrelatedPhysicalTime)(THIS_
|
||||
KSCORRELATED_TIME *CorrelatedTime
|
||||
) PURE;
|
||||
STDMETHOD(KsGetResolution) (THIS_
|
||||
KSRESOLUTION *Resolution
|
||||
) PURE;
|
||||
STDMETHOD(KsGetState) (THIS_
|
||||
KSSTATE *State
|
||||
) PURE;
|
||||
};
|
||||
|
||||
struct IKsAllocator;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsAllocator
|
||||
DECLARE_INTERFACE_(IKsAllocator,IUnknown)
|
||||
{
|
||||
STDMETHOD_(HANDLE,KsGetAllocatorHandle)(THIS) PURE;
|
||||
STDMETHOD_(KSALLOCATORMODE,KsGetAllocatorMode)(THIS) PURE;
|
||||
STDMETHOD(KsGetAllocatorStatus) (THIS_
|
||||
PKSSTREAMALLOCATOR_STATUS AllocatorStatus
|
||||
) PURE;
|
||||
STDMETHOD_(VOID,KsSetAllocatorMode) (THIS_
|
||||
KSALLOCATORMODE Mode
|
||||
) PURE;
|
||||
};
|
||||
|
||||
struct IKsAllocatorEx;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsAllocatorEx
|
||||
DECLARE_INTERFACE_(IKsAllocatorEx,IKsAllocator)
|
||||
{
|
||||
STDMETHOD_(PALLOCATOR_PROPERTIES_EX,KsGetProperties)(THIS) PURE;
|
||||
STDMETHOD_(VOID,KsSetProperties) (THIS_
|
||||
PALLOCATOR_PROPERTIES_EX
|
||||
) PURE;
|
||||
STDMETHOD_(VOID,KsSetAllocatorHandle) (THIS_
|
||||
HANDLE AllocatorHandle
|
||||
) PURE;
|
||||
STDMETHOD_(HANDLE,KsCreateAllocatorAndGetHandle)(THIS_
|
||||
IKsPin *KsPin
|
||||
) PURE;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
KsPeekOperation_PeekOnly,
|
||||
KsPeekOperation_AddRef
|
||||
} KSPEEKOPERATION;
|
||||
|
||||
typedef struct _KSSTREAM_SEGMENT *PKSSTREAM_SEGMENT;
|
||||
struct IKsPin;
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsPin
|
||||
DECLARE_INTERFACE_(IKsPin,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsQueryMediums) (THIS_
|
||||
PKSMULTIPLE_ITEM *MediumList
|
||||
) PURE;
|
||||
STDMETHOD(KsQueryInterfaces) (THIS_
|
||||
PKSMULTIPLE_ITEM *InterfaceList
|
||||
) PURE;
|
||||
STDMETHOD(KsCreateSinkPinHandle) (THIS_
|
||||
KSPIN_INTERFACE& Interface,
|
||||
KSPIN_MEDIUM& Medium
|
||||
) PURE;
|
||||
STDMETHOD(KsGetCurrentCommunication) (THIS_
|
||||
KSPIN_COMMUNICATION *Communication,
|
||||
KSPIN_INTERFACE *Interface,
|
||||
KSPIN_MEDIUM *Medium
|
||||
) PURE;
|
||||
STDMETHOD(KsPropagateAcquire) (THIS) PURE;
|
||||
STDMETHOD(KsDeliver) (THIS_
|
||||
IMediaSample *Sample,
|
||||
ULONG Flags
|
||||
) PURE;
|
||||
STDMETHOD(KsMediaSamplesCompleted) (THIS_
|
||||
PKSSTREAM_SEGMENT StreamSegment
|
||||
) PURE;
|
||||
STDMETHOD_(IMemAllocator *,KsPeekAllocator)(THIS_
|
||||
KSPEEKOPERATION Operation
|
||||
) PURE;
|
||||
STDMETHOD(KsReceiveAllocator) (THIS_
|
||||
IMemAllocator *MemAllocator
|
||||
) PURE;
|
||||
STDMETHOD(KsRenegotiateAllocator) (THIS) PURE;
|
||||
STDMETHOD_(LONG,KsIncrementPendingIoCount)(THIS) PURE;
|
||||
STDMETHOD_(LONG,KsDecrementPendingIoCount)(THIS) PURE;
|
||||
STDMETHOD(KsQualityNotify) (THIS_
|
||||
ULONG Proportion,
|
||||
REFERENCE_TIME TimeDelta
|
||||
) PURE;
|
||||
};
|
||||
|
||||
struct IKsPinEx;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsPinEx
|
||||
DECLARE_INTERFACE_(IKsPinEx,IKsPin)
|
||||
{
|
||||
STDMETHOD_(VOID,KsNotifyError) (THIS_
|
||||
IMediaSample *Sample,
|
||||
HRESULT hr
|
||||
) PURE;
|
||||
};
|
||||
|
||||
struct IKsPinPipe;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsPinPipe
|
||||
DECLARE_INTERFACE_(IKsPinPipe,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsGetPinFramingCache) (THIS_
|
||||
PKSALLOCATOR_FRAMING_EX *FramingEx,
|
||||
PFRAMING_PROP FramingProp,
|
||||
FRAMING_CACHE_OPS Option
|
||||
) PURE;
|
||||
STDMETHOD(KsSetPinFramingCache) (THIS_
|
||||
PKSALLOCATOR_FRAMING_EX FramingEx,
|
||||
PFRAMING_PROP FramingProp,
|
||||
FRAMING_CACHE_OPS Option
|
||||
) PURE;
|
||||
STDMETHOD_(IPin*,KsGetConnectedPin) (THIS) PURE;
|
||||
STDMETHOD_(IKsAllocatorEx*,KsGetPipe) (THIS_
|
||||
KSPEEKOPERATION Operation
|
||||
) PURE;
|
||||
STDMETHOD(KsSetPipe) (THIS_
|
||||
IKsAllocatorEx *KsAllocator
|
||||
) PURE;
|
||||
STDMETHOD_(ULONG,KsGetPipeAllocatorFlag)(THIS) PURE;
|
||||
STDMETHOD(KsSetPipeAllocatorFlag) (THIS_
|
||||
ULONG Flag
|
||||
) PURE;
|
||||
STDMETHOD_(GUID,KsGetPinBusCache) (THIS) PURE;
|
||||
STDMETHOD(KsSetPinBusCache) (THIS_
|
||||
GUID Bus
|
||||
) PURE;
|
||||
STDMETHOD_(PWCHAR,KsGetPinName) (THIS) PURE;
|
||||
STDMETHOD_(PWCHAR,KsGetFilterName) (THIS) PURE;
|
||||
};
|
||||
|
||||
struct IKsPinFactory;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsPinFactory
|
||||
DECLARE_INTERFACE_(IKsPinFactory,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsPinFactory) (THIS_
|
||||
ULONG *PinFactory
|
||||
) PURE;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
KsIoOperation_Write,
|
||||
KsIoOperation_Read
|
||||
} KSIOOPERATION;
|
||||
|
||||
struct IKsDataTypeHandler;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsDataTypeHandler
|
||||
DECLARE_INTERFACE_(IKsDataTypeHandler,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsCompleteIoOperation) (THIS_
|
||||
IMediaSample *Sample,
|
||||
PVOID StreamHeader,
|
||||
KSIOOPERATION IoOperation,
|
||||
WINBOOL Cancelled
|
||||
) PURE;
|
||||
STDMETHOD(KsIsMediaTypeInRanges) (THIS_
|
||||
PVOID DataRanges
|
||||
) PURE;
|
||||
STDMETHOD(KsPrepareIoOperation) (THIS_
|
||||
IMediaSample *Sample,
|
||||
PVOID StreamHeader,
|
||||
KSIOOPERATION IoOperation
|
||||
) PURE;
|
||||
STDMETHOD(KsQueryExtendedSize) (THIS_
|
||||
ULONG *ExtendedSize
|
||||
) PURE;
|
||||
STDMETHOD(KsSetMediaType) (THIS_
|
||||
const AM_MEDIA_TYPE *AmMediaType
|
||||
) PURE;
|
||||
};
|
||||
|
||||
struct IKsDataTypeCompletion;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsDataTypeCompletion
|
||||
DECLARE_INTERFACE_(IKsDataTypeCompletion,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsCompleteMediaType) (THIS_
|
||||
HANDLE FilterHandle,
|
||||
ULONG PinFactoryId,
|
||||
AM_MEDIA_TYPE *AmMediaType
|
||||
) PURE;
|
||||
};
|
||||
|
||||
struct IKsInterfaceHandler;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsInterfaceHandler
|
||||
DECLARE_INTERFACE_(IKsInterfaceHandler,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsSetPin) (THIS_
|
||||
IKsPin *KsPin
|
||||
) PURE;
|
||||
STDMETHOD(KsProcessMediaSamples) (THIS_
|
||||
IKsDataTypeHandler *KsDataTypeHandler,
|
||||
IMediaSample **SampleList,
|
||||
PLONG SampleCount,
|
||||
KSIOOPERATION IoOperation,
|
||||
PKSSTREAM_SEGMENT *StreamSegment
|
||||
) PURE;
|
||||
STDMETHOD(KsCompleteIo) (THIS_
|
||||
PKSSTREAM_SEGMENT StreamSegment
|
||||
) PURE;
|
||||
};
|
||||
|
||||
typedef struct _KSSTREAM_SEGMENT {
|
||||
IKsInterfaceHandler *KsInterfaceHandler;
|
||||
IKsDataTypeHandler *KsDataTypeHandler;
|
||||
KSIOOPERATION IoOperation;
|
||||
HANDLE CompletionEvent;
|
||||
} KSSTREAM_SEGMENT;
|
||||
|
||||
struct IKsObject;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsObject
|
||||
DECLARE_INTERFACE_(IKsObject,IUnknown)
|
||||
{
|
||||
STDMETHOD_(HANDLE,KsGetObjectHandle) (THIS) PURE;
|
||||
};
|
||||
|
||||
struct IKsQualityForwarder;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsQualityForwarder
|
||||
DECLARE_INTERFACE_(IKsQualityForwarder,IKsObject)
|
||||
{
|
||||
STDMETHOD_(VOID,KsFlushClient) (THIS_
|
||||
IKsPin *Pin
|
||||
) PURE;
|
||||
};
|
||||
|
||||
struct IKsNotifyEvent;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsNotifyEvent
|
||||
DECLARE_INTERFACE_(IKsNotifyEvent,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsNotifyEvent) (THIS_
|
||||
ULONG Event,
|
||||
ULONG_PTR lParam1,
|
||||
ULONG_PTR lParam2
|
||||
) PURE;
|
||||
};
|
||||
|
||||
KSDDKAPI HRESULT WINAPI KsResolveRequiredAttributes(PKSDATARANGE DataRange,PKSMULTIPLE_ITEM Attributes);
|
||||
KSDDKAPI HRESULT WINAPI KsOpenDefaultDevice(REFGUID Category,ACCESS_MASK Access,PHANDLE DeviceHandle);
|
||||
KSDDKAPI HRESULT WINAPI KsSynchronousDeviceControl(HANDLE Handle,ULONG IoControl,PVOID InBuffer,ULONG InLength,PVOID OutBuffer,ULONG OutLength,PULONG BytesReturned);
|
||||
KSDDKAPI HRESULT WINAPI KsGetMultiplePinFactoryItems(HANDLE FilterHandle,ULONG PinFactoryId,ULONG PropertyId,PVOID *Items);
|
||||
KSDDKAPI HRESULT WINAPI KsGetMediaTypeCount(HANDLE FilterHandle,ULONG PinFactoryId,ULONG *MediaTypeCount);
|
||||
KSDDKAPI HRESULT WINAPI KsGetMediaType(int Position,AM_MEDIA_TYPE *AmMediaType,HANDLE FilterHandle,ULONG PinFactoryId);
|
||||
#endif /* __STREAMS__ */
|
||||
|
||||
#ifndef _IKsPropertySet_
|
||||
DEFINE_GUIDEX(IID_IKsPropertySet);
|
||||
#endif
|
||||
|
||||
#ifndef _IKsControl_
|
||||
DEFINE_GUIDEX(IID_IKsControl);
|
||||
#endif
|
||||
|
||||
DEFINE_GUIDEX(IID_IKsAggregateControl);
|
||||
#ifndef _IKsTopology_
|
||||
DEFINE_GUIDEX(IID_IKsTopology);
|
||||
#endif
|
||||
DEFINE_GUIDSTRUCT("17CCA71B-ECD7-11D0-B908-00A0C9223196",CLSID_Proxy);
|
||||
#define CLSID_Proxy DEFINE_GUIDNAMED(CLSID_Proxy)
|
||||
|
||||
#else /* _KS_ */
|
||||
|
||||
#ifndef _IKsPropertySet_
|
||||
DEFINE_GUID(IID_IKsPropertySet,STATIC_IID_IKsPropertySet);
|
||||
#endif
|
||||
|
||||
DEFINE_GUID(CLSID_Proxy,STATIC_CLSID_Proxy);
|
||||
|
||||
#endif /* _KS_ */
|
||||
|
||||
#ifndef _IKsPropertySet_
|
||||
#define _IKsPropertySet_
|
||||
#define KSPROPERTY_SUPPORT_GET 1
|
||||
#define KSPROPERTY_SUPPORT_SET 2
|
||||
|
||||
#ifdef DECLARE_INTERFACE_
|
||||
struct IKsPropertySet;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsPropertySet
|
||||
DECLARE_INTERFACE_(IKsPropertySet,IUnknown)
|
||||
{
|
||||
STDMETHOD(Set) (THIS_
|
||||
REFGUID PropSet,
|
||||
ULONG Id,
|
||||
LPVOID InstanceData,
|
||||
ULONG InstanceLength,
|
||||
LPVOID PropertyData,
|
||||
ULONG DataLength
|
||||
) PURE;
|
||||
STDMETHOD(Get) (THIS_
|
||||
REFGUID PropSet,
|
||||
ULONG Id,
|
||||
LPVOID InstanceData,
|
||||
ULONG InstanceLength,
|
||||
LPVOID PropertyData,
|
||||
ULONG DataLength,
|
||||
ULONG *BytesReturned
|
||||
) PURE;
|
||||
STDMETHOD(QuerySupported) (THIS_
|
||||
REFGUID PropSet,
|
||||
ULONG Id,
|
||||
ULONG *TypeSupport
|
||||
) PURE;
|
||||
};
|
||||
#endif /* DECLARE_INTERFACE_ */
|
||||
#endif /* _IKsPropertySet_ */
|
||||
|
||||
#ifndef _IKsControl_
|
||||
#define _IKsControl_
|
||||
#ifdef DECLARE_INTERFACE_
|
||||
struct IKsControl;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsControl
|
||||
DECLARE_INTERFACE_(IKsControl,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsProperty) (THIS_
|
||||
PKSPROPERTY Property,
|
||||
ULONG PropertyLength,
|
||||
LPVOID PropertyData,
|
||||
ULONG DataLength,
|
||||
ULONG *BytesReturned
|
||||
) PURE;
|
||||
STDMETHOD(KsMethod) (THIS_
|
||||
PKSMETHOD Method,
|
||||
ULONG MethodLength,
|
||||
LPVOID MethodData,
|
||||
ULONG DataLength,
|
||||
ULONG *BytesReturned
|
||||
) PURE;
|
||||
STDMETHOD(KsEvent) (THIS_
|
||||
PKSEVENT Event,
|
||||
ULONG EventLength,
|
||||
LPVOID EventData,
|
||||
ULONG DataLength,
|
||||
ULONG *BytesReturned
|
||||
) PURE;
|
||||
};
|
||||
#endif /* DECLARE_INTERFACE_ */
|
||||
#endif /* _IKsControl_ */
|
||||
|
||||
#ifdef DECLARE_INTERFACE_
|
||||
struct IKsAggregateControl;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsAggregateControl
|
||||
DECLARE_INTERFACE_(IKsAggregateControl,IUnknown)
|
||||
{
|
||||
STDMETHOD(KsAddAggregate) (THIS_
|
||||
REFGUID AggregateClass
|
||||
) PURE;
|
||||
STDMETHOD(KsRemoveAggregate) (THIS_
|
||||
REFGUID AggregateClass
|
||||
) PURE;
|
||||
};
|
||||
#endif /* DECLARE_INTERFACE_ */
|
||||
|
||||
#ifndef _IKsTopology_
|
||||
#define _IKsTopology_
|
||||
#ifdef DECLARE_INTERFACE_
|
||||
struct IKsTopology;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IKsTopology
|
||||
DECLARE_INTERFACE_(IKsTopology,IUnknown)
|
||||
{
|
||||
STDMETHOD(CreateNodeInstance) (THIS_
|
||||
ULONG NodeId,
|
||||
ULONG Flags,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
IUnknown *UnkOuter,
|
||||
REFGUID InterfaceId,
|
||||
LPVOID *Interface
|
||||
) PURE;
|
||||
};
|
||||
#endif /* DECLARE_INTERFACE_ */
|
||||
#endif /* _IKsTopology_ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __KSPROXY__ */
|
||||
|
||||
159
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ksuuids.h
Normal file
159
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/ksuuids.h
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
|
||||
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PACK,
|
||||
0x36523B13,0x8EE5,0x11d1,0x8C,0xA3,0x00,0x60,0xB0,0x57,0x66,0x4A)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PES,
|
||||
0xe06d8020,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_SECTIONS,
|
||||
0x455f176c,0x4b06,0x47ce,0x9a,0xef,0x8c,0xae,0xf7,0x3d,0xf7,0xb5)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_ATSC_SI,
|
||||
0xb3c7397c,0xd303,0x414d,0xb3,0x3c,0x4e,0xd2,0xc9,0xd2,0x97,0x33)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DVB_SI,
|
||||
0xe9dd31a3,0x221d,0x4adb,0x85,0x32,0x9a,0xf3,0x9,0xc1,0xa4,0x8)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2DATA,
|
||||
0xc892e55b,0x252d,0x42b5,0xa3,0x16,0xd9,0x97,0xe7,0xa5,0xd9,0x95)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_VIDEO,
|
||||
0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(FORMAT_MPEG2_VIDEO,
|
||||
0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(FORMAT_VIDEOINFO2,
|
||||
0xf72a76A0L,0xeb0a,0x11d0,0xac,0xe4,0x0,0x0,0xc0,0xcc,0x16,0xba)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_PROGRAM,
|
||||
0xe06d8022,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_TRANSPORT,
|
||||
0xe06d8023,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE,
|
||||
0x138aa9a4,0x1ee2,0x4c5b,0x98,0x8e,0x19,0xab,0xfd,0xbc,0x8a,0x11)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_AUDIO,
|
||||
0xe06d802b,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DOLBY_AC3,
|
||||
0xe06d802c,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_SUBPICTURE,
|
||||
0xe06d802d,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_LPCM_AUDIO,
|
||||
0xe06d8032,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DTS,
|
||||
0xe06d8033,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_SDDS,
|
||||
0xe06d8034,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIATYPE_DVD_ENCRYPTED_PACK,
|
||||
0xed0b916a,0x044d,0x11d1,0xaa,0x78,0x00,0xc0,0x04f,0xc3,0x1d,0x60)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIATYPE_DVD_NAVIGATION,
|
||||
0xe06d802e,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PCI,
|
||||
0xe06d802f,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_DSI,
|
||||
0xe06d8030,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PROVIDER,
|
||||
0xe06d8031,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(FORMAT_MPEG2Video,
|
||||
0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(FORMAT_DolbyAC3,
|
||||
0xe06d80e4,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(FORMAT_MPEG2Audio,
|
||||
0xe06d80e5,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(FORMAT_DVD_LPCMAudio,
|
||||
0xe06d80e6,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x05f,0x6c,0xbb,0xea)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSPROPSETID_AC3,
|
||||
0xBFABE720,0x6E1F,0x11D0,0xBC,0xF2,0x44,0x45,0x53,0x54,0x00,0x00)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdSubPic,
|
||||
0xac390460,0x43af,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSPROPSETID_CopyProt,
|
||||
0x0E8A0A40,0x6AEF,0x11D0,0x9E,0xD0,0x00,0xA0,0x24,0xCA,0x19,0xB3)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSPROPSETID_TSRateChange,
|
||||
0xa503c5c0,0x1d1d,0x11d1,0xad,0x80,0x44,0x45,0x53,0x54,0x0,0x0)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSPROPSETID_DVD_RateChange,
|
||||
0x3577eb09,0x9582,0x477f,0xb2,0x9c,0xb0,0xc4,0x52,0xa4,0xff,0x9a)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdKaraoke,
|
||||
0xae4720ae,0xaa71,0x42d8,0xb8,0x2a,0xff,0xfd,0xf5,0x8b,0x76,0xfd)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSPROPSETID_FrameStep,
|
||||
0xc830acbd,0xab07,0x492f,0x88,0x52,0x45,0xb6,0x98,0x7c,0x29,0x79)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_CAPTURE,
|
||||
0x65E8773DL,0x8F56,0x11D0,0xA3,0xB9,0x00,0xA0,0xC9,0x22,0x31,0x96)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_RENDER,
|
||||
0x65E8773EL,0x8F56,0x11D0,0xA3,0xB9,0x00,0xA0,0xC9,0x22,0x31,0x96)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_DATACOMPRESSOR,
|
||||
0x1E84C900L,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_AUDIO,
|
||||
0x6994AD04L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_VIDEO,
|
||||
0x6994AD05L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_TVTUNER,
|
||||
0xa799a800L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_CROSSBAR,
|
||||
0xa799a801L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_TVAUDIO,
|
||||
0xa799a802L,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_VBICODEC,
|
||||
0x07dad660L,0x22f1,0x11d1,0xa9,0xf4,0x00,0xc0,0x4f,0xbb,0xde,0x8f)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_VBICODEC_MI,
|
||||
0x9c24a977,0x951,0x451a,0x80,0x6,0xe,0x49,0xbd,0x28,0xcd,0x5f)
|
||||
|
||||
OUR_GUID_ENTRY(AM_KSCATEGORY_SPLITTER,
|
||||
0x0A4252A0L,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00)
|
||||
|
||||
OUR_GUID_ENTRY(IID_IKsInterfaceHandler,
|
||||
0xD3ABC7E0L,0x9A61,0x11D0,0xA4,0x0D,0x00,0xA0,0xC9,0x22,0x31,0x96)
|
||||
|
||||
OUR_GUID_ENTRY(IID_IKsDataTypeHandler,
|
||||
0x5FFBAA02L,0x49A3,0x11D0,0x9F,0x36,0x00,0xAA,0x00,0xA2,0x16,0xA1)
|
||||
|
||||
OUR_GUID_ENTRY(IID_IKsPin,
|
||||
0xb61178d1L,0xa2d9,0x11cf,0x9e,0x53,0x00,0xaa,0x00,0xa2,0x16,0xa1)
|
||||
|
||||
OUR_GUID_ENTRY(IID_IKsControl,
|
||||
0x28F54685L,0x06FD,0x11D2,0xB2,0x7A,0x00,0xA0,0xC9,0x22,0x31,0x96)
|
||||
|
||||
OUR_GUID_ENTRY(IID_IKsPinFactory,
|
||||
0xCD5EBE6BL,0x8B6E,0x11D1,0x8A,0xE0,0x00,0xA0,0xC9,0x22,0x31,0x96)
|
||||
|
||||
OUR_GUID_ENTRY(AM_INTERFACESETID_Standard,
|
||||
0x1A8766A0L,0x62CE,0x11CF,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00)
|
||||
|
||||
|
|
@ -0,0 +1,929 @@
|
|||
|
||||
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 7.00.0499 */
|
||||
/* Compiler settings for mmdeviceapi.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__ 500
|
||||
#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 __mmdeviceapi_h__
|
||||
#define __mmdeviceapi_h__
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
/* Forward Declarations */
|
||||
|
||||
#ifndef __IMMNotificationClient_FWD_DEFINED__
|
||||
#define __IMMNotificationClient_FWD_DEFINED__
|
||||
typedef interface IMMNotificationClient IMMNotificationClient;
|
||||
#endif /* __IMMNotificationClient_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDevice_FWD_DEFINED__
|
||||
#define __IMMDevice_FWD_DEFINED__
|
||||
typedef interface IMMDevice IMMDevice;
|
||||
#endif /* __IMMDevice_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDeviceCollection_FWD_DEFINED__
|
||||
#define __IMMDeviceCollection_FWD_DEFINED__
|
||||
typedef interface IMMDeviceCollection IMMDeviceCollection;
|
||||
#endif /* __IMMDeviceCollection_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMEndpoint_FWD_DEFINED__
|
||||
#define __IMMEndpoint_FWD_DEFINED__
|
||||
typedef interface IMMEndpoint IMMEndpoint;
|
||||
#endif /* __IMMEndpoint_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDeviceEnumerator_FWD_DEFINED__
|
||||
#define __IMMDeviceEnumerator_FWD_DEFINED__
|
||||
typedef interface IMMDeviceEnumerator IMMDeviceEnumerator;
|
||||
#endif /* __IMMDeviceEnumerator_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDeviceActivator_FWD_DEFINED__
|
||||
#define __IMMDeviceActivator_FWD_DEFINED__
|
||||
typedef interface IMMDeviceActivator IMMDeviceActivator;
|
||||
#endif /* __IMMDeviceActivator_FWD_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __MMDeviceEnumerator_FWD_DEFINED__
|
||||
#define __MMDeviceEnumerator_FWD_DEFINED__
|
||||
|
||||
#ifdef __cplusplus
|
||||
typedef class MMDeviceEnumerator MMDeviceEnumerator;
|
||||
#else
|
||||
typedef struct MMDeviceEnumerator MMDeviceEnumerator;
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __MMDeviceEnumerator_FWD_DEFINED__ */
|
||||
|
||||
|
||||
/* header files for imported files */
|
||||
#include "unknwn.h"
|
||||
#include "propsys.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"{
|
||||
#endif
|
||||
|
||||
|
||||
/* interface __MIDL_itf_mmdeviceapi_0000_0000 */
|
||||
/* [local] */
|
||||
|
||||
#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
|
||||
#define E_UNSUPPORTED_TYPE HRESULT_FROM_WIN32(ERROR_UNSUPPORTED_TYPE)
|
||||
#define DEVICE_STATE_ACTIVE 0x00000001
|
||||
#define DEVICE_STATE_DISABLED 0x00000002
|
||||
#define DEVICE_STATE_NOTPRESENT 0x00000004
|
||||
#define DEVICE_STATE_UNPLUGGED 0x00000008
|
||||
#define DEVICE_STATEMASK_ALL 0x0000000f
|
||||
#ifdef DEFINE_PROPERTYKEY
|
||||
#undef DEFINE_PROPERTYKEY
|
||||
#endif
|
||||
#ifdef INITGUID
|
||||
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const PROPERTYKEY name = { { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
|
||||
#else
|
||||
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const PROPERTYKEY name
|
||||
#endif // INITGUID
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_FormFactor, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 0);
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_ControlPanelPageProvider, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 1);
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_Association, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 2);
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_PhysicalSpeakers, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 3);
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_GUID, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 4);
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_Disable_SysFx, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 5);
|
||||
#define ENDPOINT_SYSFX_ENABLED 0x00000000 // System Effects are enabled.
|
||||
#define ENDPOINT_SYSFX_DISABLED 0x00000001 // System Effects are disabled.
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_FullRangeSpeakers, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 6);
|
||||
DEFINE_PROPERTYKEY(PKEY_AudioEngine_DeviceFormat, 0xf19f064d, 0x82c, 0x4e27, 0xbc, 0x73, 0x68, 0x82, 0xa1, 0xbb, 0x8e, 0x4c, 0);
|
||||
typedef struct tagDIRECTX_AUDIO_ACTIVATION_PARAMS
|
||||
{
|
||||
DWORD cbDirectXAudioActivationParams;
|
||||
GUID guidAudioSession;
|
||||
DWORD dwAudioStreamFlags;
|
||||
} DIRECTX_AUDIO_ACTIVATION_PARAMS;
|
||||
|
||||
typedef struct tagDIRECTX_AUDIO_ACTIVATION_PARAMS *PDIRECTX_AUDIO_ACTIVATION_PARAMS;
|
||||
|
||||
typedef /* [public][public][public][public][public] */
|
||||
enum __MIDL___MIDL_itf_mmdeviceapi_0000_0000_0001
|
||||
{ eRender = 0,
|
||||
eCapture = ( eRender + 1 ) ,
|
||||
eAll = ( eCapture + 1 ) ,
|
||||
EDataFlow_enum_count = ( eAll + 1 )
|
||||
} EDataFlow;
|
||||
|
||||
typedef /* [public][public][public] */
|
||||
enum __MIDL___MIDL_itf_mmdeviceapi_0000_0000_0002
|
||||
{ eConsole = 0,
|
||||
eMultimedia = ( eConsole + 1 ) ,
|
||||
eCommunications = ( eMultimedia + 1 ) ,
|
||||
ERole_enum_count = ( eCommunications + 1 )
|
||||
} ERole;
|
||||
|
||||
typedef /* [public] */
|
||||
enum __MIDL___MIDL_itf_mmdeviceapi_0000_0000_0003
|
||||
{ RemoteNetworkDevice = 0,
|
||||
Speakers = ( RemoteNetworkDevice + 1 ) ,
|
||||
LineLevel = ( Speakers + 1 ) ,
|
||||
Headphones = ( LineLevel + 1 ) ,
|
||||
Microphone = ( Headphones + 1 ) ,
|
||||
Headset = ( Microphone + 1 ) ,
|
||||
Handset = ( Headset + 1 ) ,
|
||||
UnknownDigitalPassthrough = ( Handset + 1 ) ,
|
||||
SPDIF = ( UnknownDigitalPassthrough + 1 ) ,
|
||||
HDMI = ( SPDIF + 1 ) ,
|
||||
UnknownFormFactor = ( HDMI + 1 )
|
||||
} EndpointFormFactor;
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0000_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0000_v0_0_s_ifspec;
|
||||
|
||||
#ifndef __IMMNotificationClient_INTERFACE_DEFINED__
|
||||
#define __IMMNotificationClient_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IMMNotificationClient */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IMMNotificationClient;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("7991EEC9-7E89-4D85-8390-6C703CEC60C0")
|
||||
IMMNotificationClient : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDeviceStateChanged(
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId,
|
||||
/* [in] */
|
||||
__in DWORD dwNewState) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDeviceAdded(
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDeviceRemoved(
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnDefaultDeviceChanged(
|
||||
/* [in] */
|
||||
__in EDataFlow flow,
|
||||
/* [in] */
|
||||
__in ERole role,
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDefaultDeviceId) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OnPropertyValueChanged(
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId,
|
||||
/* [in] */
|
||||
__in const PROPERTYKEY key) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IMMNotificationClientVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IMMNotificationClient * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IMMNotificationClient * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IMMNotificationClient * This);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDeviceStateChanged )(
|
||||
IMMNotificationClient * This,
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId,
|
||||
/* [in] */
|
||||
__in DWORD dwNewState);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDeviceAdded )(
|
||||
IMMNotificationClient * This,
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDeviceRemoved )(
|
||||
IMMNotificationClient * This,
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnDefaultDeviceChanged )(
|
||||
IMMNotificationClient * This,
|
||||
/* [in] */
|
||||
__in EDataFlow flow,
|
||||
/* [in] */
|
||||
__in ERole role,
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDefaultDeviceId);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OnPropertyValueChanged )(
|
||||
IMMNotificationClient * This,
|
||||
/* [in] */
|
||||
__in LPCWSTR pwstrDeviceId,
|
||||
/* [in] */
|
||||
__in const PROPERTYKEY key);
|
||||
|
||||
END_INTERFACE
|
||||
} IMMNotificationClientVtbl;
|
||||
|
||||
interface IMMNotificationClient
|
||||
{
|
||||
CONST_VTBL struct IMMNotificationClientVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IMMNotificationClient_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IMMNotificationClient_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IMMNotificationClient_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IMMNotificationClient_OnDeviceStateChanged(This,pwstrDeviceId,dwNewState) \
|
||||
( (This)->lpVtbl -> OnDeviceStateChanged(This,pwstrDeviceId,dwNewState) )
|
||||
|
||||
#define IMMNotificationClient_OnDeviceAdded(This,pwstrDeviceId) \
|
||||
( (This)->lpVtbl -> OnDeviceAdded(This,pwstrDeviceId) )
|
||||
|
||||
#define IMMNotificationClient_OnDeviceRemoved(This,pwstrDeviceId) \
|
||||
( (This)->lpVtbl -> OnDeviceRemoved(This,pwstrDeviceId) )
|
||||
|
||||
#define IMMNotificationClient_OnDefaultDeviceChanged(This,flow,role,pwstrDefaultDeviceId) \
|
||||
( (This)->lpVtbl -> OnDefaultDeviceChanged(This,flow,role,pwstrDefaultDeviceId) )
|
||||
|
||||
#define IMMNotificationClient_OnPropertyValueChanged(This,pwstrDeviceId,key) \
|
||||
( (This)->lpVtbl -> OnPropertyValueChanged(This,pwstrDeviceId,key) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IMMNotificationClient_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDevice_INTERFACE_DEFINED__
|
||||
#define __IMMDevice_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IMMDevice */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IMMDevice;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("D666063F-1587-4E43-81F1-B948E807363F")
|
||||
IMMDevice : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Activate(
|
||||
/* [in] */
|
||||
__in REFIID iid,
|
||||
/* [in] */
|
||||
__in DWORD dwClsCtx,
|
||||
/* [unique][in] */
|
||||
__in_opt PROPVARIANT *pActivationParams,
|
||||
/* [iid_is][out] */
|
||||
__out void **ppInterface) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenPropertyStore(
|
||||
/* [in] */
|
||||
__in DWORD stgmAccess,
|
||||
/* [out] */
|
||||
__out IPropertyStore **ppProperties) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetId(
|
||||
/* [out] */
|
||||
__deref_out LPWSTR *ppstrId) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetState(
|
||||
/* [out] */
|
||||
__out DWORD *pdwState) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IMMDeviceVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IMMDevice * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IMMDevice * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IMMDevice * This);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )(
|
||||
IMMDevice * This,
|
||||
/* [in] */
|
||||
__in REFIID iid,
|
||||
/* [in] */
|
||||
__in DWORD dwClsCtx,
|
||||
/* [unique][in] */
|
||||
__in_opt PROPVARIANT *pActivationParams,
|
||||
/* [iid_is][out] */
|
||||
__out void **ppInterface);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenPropertyStore )(
|
||||
IMMDevice * This,
|
||||
/* [in] */
|
||||
__in DWORD stgmAccess,
|
||||
/* [out] */
|
||||
__out IPropertyStore **ppProperties);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetId )(
|
||||
IMMDevice * This,
|
||||
/* [out] */
|
||||
__deref_out LPWSTR *ppstrId);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetState )(
|
||||
IMMDevice * This,
|
||||
/* [out] */
|
||||
__out DWORD *pdwState);
|
||||
|
||||
END_INTERFACE
|
||||
} IMMDeviceVtbl;
|
||||
|
||||
interface IMMDevice
|
||||
{
|
||||
CONST_VTBL struct IMMDeviceVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IMMDevice_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IMMDevice_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IMMDevice_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IMMDevice_Activate(This,iid,dwClsCtx,pActivationParams,ppInterface) \
|
||||
( (This)->lpVtbl -> Activate(This,iid,dwClsCtx,pActivationParams,ppInterface) )
|
||||
|
||||
#define IMMDevice_OpenPropertyStore(This,stgmAccess,ppProperties) \
|
||||
( (This)->lpVtbl -> OpenPropertyStore(This,stgmAccess,ppProperties) )
|
||||
|
||||
#define IMMDevice_GetId(This,ppstrId) \
|
||||
( (This)->lpVtbl -> GetId(This,ppstrId) )
|
||||
|
||||
#define IMMDevice_GetState(This,pdwState) \
|
||||
( (This)->lpVtbl -> GetState(This,pdwState) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IMMDevice_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDeviceCollection_INTERFACE_DEFINED__
|
||||
#define __IMMDeviceCollection_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IMMDeviceCollection */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IMMDeviceCollection;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("0BD7A1BE-7A1A-44DB-8397-CC5392387B5E")
|
||||
IMMDeviceCollection : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCount(
|
||||
/* [out] */
|
||||
__out UINT *pcDevices) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
|
||||
/* [in] */
|
||||
__in UINT nDevice,
|
||||
/* [out] */
|
||||
__out IMMDevice **ppDevice) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IMMDeviceCollectionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IMMDeviceCollection * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IMMDeviceCollection * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IMMDeviceCollection * This);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCount )(
|
||||
IMMDeviceCollection * This,
|
||||
/* [out] */
|
||||
__out UINT *pcDevices);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
|
||||
IMMDeviceCollection * This,
|
||||
/* [in] */
|
||||
__in UINT nDevice,
|
||||
/* [out] */
|
||||
__out IMMDevice **ppDevice);
|
||||
|
||||
END_INTERFACE
|
||||
} IMMDeviceCollectionVtbl;
|
||||
|
||||
interface IMMDeviceCollection
|
||||
{
|
||||
CONST_VTBL struct IMMDeviceCollectionVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IMMDeviceCollection_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IMMDeviceCollection_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IMMDeviceCollection_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IMMDeviceCollection_GetCount(This,pcDevices) \
|
||||
( (This)->lpVtbl -> GetCount(This,pcDevices) )
|
||||
|
||||
#define IMMDeviceCollection_Item(This,nDevice,ppDevice) \
|
||||
( (This)->lpVtbl -> Item(This,nDevice,ppDevice) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IMMDeviceCollection_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMEndpoint_INTERFACE_DEFINED__
|
||||
#define __IMMEndpoint_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IMMEndpoint */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IMMEndpoint;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("1BE09788-6894-4089-8586-9A2A6C265AC5")
|
||||
IMMEndpoint : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDataFlow(
|
||||
/* [out] */
|
||||
__out EDataFlow *pDataFlow) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IMMEndpointVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IMMEndpoint * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IMMEndpoint * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IMMEndpoint * This);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataFlow )(
|
||||
IMMEndpoint * This,
|
||||
/* [out] */
|
||||
__out EDataFlow *pDataFlow);
|
||||
|
||||
END_INTERFACE
|
||||
} IMMEndpointVtbl;
|
||||
|
||||
interface IMMEndpoint
|
||||
{
|
||||
CONST_VTBL struct IMMEndpointVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IMMEndpoint_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IMMEndpoint_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IMMEndpoint_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IMMEndpoint_GetDataFlow(This,pDataFlow) \
|
||||
( (This)->lpVtbl -> GetDataFlow(This,pDataFlow) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IMMEndpoint_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDeviceEnumerator_INTERFACE_DEFINED__
|
||||
#define __IMMDeviceEnumerator_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IMMDeviceEnumerator */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IMMDeviceEnumerator;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("A95664D2-9614-4F35-A746-DE8DB63617E6")
|
||||
IMMDeviceEnumerator : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnumAudioEndpoints(
|
||||
/* [in] */
|
||||
__in EDataFlow dataFlow,
|
||||
/* [in] */
|
||||
__in DWORD dwStateMask,
|
||||
/* [out] */
|
||||
__out IMMDeviceCollection **ppDevices) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDefaultAudioEndpoint(
|
||||
/* [in] */
|
||||
__in EDataFlow dataFlow,
|
||||
/* [in] */
|
||||
__in ERole role,
|
||||
/* [out] */
|
||||
__out IMMDevice **ppEndpoint) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDevice(
|
||||
/* */
|
||||
__in LPCWSTR pwstrId,
|
||||
/* [out] */
|
||||
__out IMMDevice **ppDevice) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RegisterEndpointNotificationCallback(
|
||||
/* [in] */
|
||||
__in IMMNotificationClient *pClient) = 0;
|
||||
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnregisterEndpointNotificationCallback(
|
||||
/* [in] */
|
||||
__in IMMNotificationClient *pClient) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IMMDeviceEnumeratorVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IMMDeviceEnumerator * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IMMDeviceEnumerator * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IMMDeviceEnumerator * This);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnumAudioEndpoints )(
|
||||
IMMDeviceEnumerator * This,
|
||||
/* [in] */
|
||||
__in EDataFlow dataFlow,
|
||||
/* [in] */
|
||||
__in DWORD dwStateMask,
|
||||
/* [out] */
|
||||
__out IMMDeviceCollection **ppDevices);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioEndpoint )(
|
||||
IMMDeviceEnumerator * This,
|
||||
/* [in] */
|
||||
__in EDataFlow dataFlow,
|
||||
/* [in] */
|
||||
__in ERole role,
|
||||
/* [out] */
|
||||
__out IMMDevice **ppEndpoint);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDevice )(
|
||||
IMMDeviceEnumerator * This,
|
||||
/* */
|
||||
__in LPCWSTR pwstrId,
|
||||
/* [out] */
|
||||
__out IMMDevice **ppDevice);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterEndpointNotificationCallback )(
|
||||
IMMDeviceEnumerator * This,
|
||||
/* [in] */
|
||||
__in IMMNotificationClient *pClient);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnregisterEndpointNotificationCallback )(
|
||||
IMMDeviceEnumerator * This,
|
||||
/* [in] */
|
||||
__in IMMNotificationClient *pClient);
|
||||
|
||||
END_INTERFACE
|
||||
} IMMDeviceEnumeratorVtbl;
|
||||
|
||||
interface IMMDeviceEnumerator
|
||||
{
|
||||
CONST_VTBL struct IMMDeviceEnumeratorVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IMMDeviceEnumerator_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IMMDeviceEnumerator_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IMMDeviceEnumerator_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IMMDeviceEnumerator_EnumAudioEndpoints(This,dataFlow,dwStateMask,ppDevices) \
|
||||
( (This)->lpVtbl -> EnumAudioEndpoints(This,dataFlow,dwStateMask,ppDevices) )
|
||||
|
||||
#define IMMDeviceEnumerator_GetDefaultAudioEndpoint(This,dataFlow,role,ppEndpoint) \
|
||||
( (This)->lpVtbl -> GetDefaultAudioEndpoint(This,dataFlow,role,ppEndpoint) )
|
||||
|
||||
#define IMMDeviceEnumerator_GetDevice(This,pwstrId,ppDevice) \
|
||||
( (This)->lpVtbl -> GetDevice(This,pwstrId,ppDevice) )
|
||||
|
||||
#define IMMDeviceEnumerator_RegisterEndpointNotificationCallback(This,pClient) \
|
||||
( (This)->lpVtbl -> RegisterEndpointNotificationCallback(This,pClient) )
|
||||
|
||||
#define IMMDeviceEnumerator_UnregisterEndpointNotificationCallback(This,pClient) \
|
||||
( (This)->lpVtbl -> UnregisterEndpointNotificationCallback(This,pClient) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IMMDeviceEnumerator_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
#ifndef __IMMDeviceActivator_INTERFACE_DEFINED__
|
||||
#define __IMMDeviceActivator_INTERFACE_DEFINED__
|
||||
|
||||
/* interface IMMDeviceActivator */
|
||||
/* [unique][helpstring][nonextensible][uuid][local][object] */
|
||||
|
||||
|
||||
EXTERN_C const IID IID_IMMDeviceActivator;
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
MIDL_INTERFACE("3B0D0EA4-D0A9-4B0E-935B-09516746FAC0")
|
||||
IMMDeviceActivator : public IUnknown
|
||||
{
|
||||
public:
|
||||
virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Activate(
|
||||
/* [in] */
|
||||
__in REFIID iid,
|
||||
/* [in] */
|
||||
__in IMMDevice *pDevice,
|
||||
/* [in] */
|
||||
__in_opt PROPVARIANT *pActivationParams,
|
||||
/* [iid_is][out] */
|
||||
__out void **ppInterface) = 0;
|
||||
|
||||
};
|
||||
|
||||
#else /* C style interface */
|
||||
|
||||
typedef struct IMMDeviceActivatorVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IMMDeviceActivator * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IMMDeviceActivator * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IMMDeviceActivator * This);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )(
|
||||
IMMDeviceActivator * This,
|
||||
/* [in] */
|
||||
__in REFIID iid,
|
||||
/* [in] */
|
||||
__in IMMDevice *pDevice,
|
||||
/* [in] */
|
||||
__in_opt PROPVARIANT *pActivationParams,
|
||||
/* [iid_is][out] */
|
||||
__out void **ppInterface);
|
||||
|
||||
END_INTERFACE
|
||||
} IMMDeviceActivatorVtbl;
|
||||
|
||||
interface IMMDeviceActivator
|
||||
{
|
||||
CONST_VTBL struct IMMDeviceActivatorVtbl *lpVtbl;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifdef COBJMACROS
|
||||
|
||||
|
||||
#define IMMDeviceActivator_QueryInterface(This,riid,ppvObject) \
|
||||
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
|
||||
|
||||
#define IMMDeviceActivator_AddRef(This) \
|
||||
( (This)->lpVtbl -> AddRef(This) )
|
||||
|
||||
#define IMMDeviceActivator_Release(This) \
|
||||
( (This)->lpVtbl -> Release(This) )
|
||||
|
||||
|
||||
#define IMMDeviceActivator_Activate(This,iid,pDevice,pActivationParams,ppInterface) \
|
||||
( (This)->lpVtbl -> Activate(This,iid,pDevice,pActivationParams,ppInterface) )
|
||||
|
||||
#endif /* COBJMACROS */
|
||||
|
||||
|
||||
#endif /* C style interface */
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __IMMDeviceActivator_INTERFACE_DEFINED__ */
|
||||
|
||||
|
||||
/* interface __MIDL_itf_mmdeviceapi_0000_0006 */
|
||||
/* [local] */
|
||||
|
||||
typedef /* [public] */ struct __MIDL___MIDL_itf_mmdeviceapi_0000_0006_0001
|
||||
{
|
||||
LPARAM AddPageParam;
|
||||
IMMDevice *pEndpoint;
|
||||
IMMDevice *pPnpInterface;
|
||||
IMMDevice *pPnpDevnode;
|
||||
} AudioExtensionParams;
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0006_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_mmdeviceapi_0000_0006_v0_0_s_ifspec;
|
||||
|
||||
|
||||
#ifndef __MMDeviceAPILib_LIBRARY_DEFINED__
|
||||
#define __MMDeviceAPILib_LIBRARY_DEFINED__
|
||||
|
||||
/* library MMDeviceAPILib */
|
||||
/* [helpstring][version][uuid] */
|
||||
|
||||
|
||||
EXTERN_C const IID LIBID_MMDeviceAPILib;
|
||||
|
||||
EXTERN_C const CLSID CLSID_MMDeviceEnumerator;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
class DECLSPEC_UUID("BCDE0395-E52F-467C-8E3D-C4579291692E")
|
||||
MMDeviceEnumerator;
|
||||
#endif
|
||||
#endif /* __MMDeviceAPILib_LIBRARY_DEFINED__ */
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
/* end of Additional Prototypes */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
1275
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/propidl.h
Normal file
1275
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/propidl.h
Normal file
File diff suppressed because it is too large
Load diff
4274
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/propkey.h
Normal file
4274
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/propkey.h
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,26 @@
|
|||
#ifndef PID_FIRST_USABLE
|
||||
#define PID_FIRST_USABLE 2
|
||||
#endif
|
||||
|
||||
#ifndef REFPROPERTYKEY
|
||||
#ifdef __cplusplus
|
||||
#define REFPROPERTYKEY const PROPERTYKEY &
|
||||
#else // !__cplusplus
|
||||
#define REFPROPERTYKEY const PROPERTYKEY * __MIDL_CONST
|
||||
#endif // __cplusplus
|
||||
#endif //REFPROPERTYKEY
|
||||
|
||||
#ifdef DEFINE_PROPERTYKEY
|
||||
#undef DEFINE_PROPERTYKEY
|
||||
#endif
|
||||
|
||||
#ifdef INITGUID
|
||||
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const PROPERTYKEY DECLSPEC_SELECTANY name = { { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
|
||||
#else
|
||||
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) EXTERN_C const PROPERTYKEY name
|
||||
#endif // INITGUID
|
||||
|
||||
#ifndef IsEqualPropertyKey
|
||||
#define IsEqualPropertyKey(a, b) (((a).pid == (b).pid) && IsEqualIID((a).fmtid, (b).fmtid) )
|
||||
#endif // IsEqualPropertyKey
|
||||
|
||||
3605
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/propsys.h
Normal file
3605
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/propsys.h
Normal file
File diff suppressed because it is too large
Load diff
113
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/rpcsal.h
Normal file
113
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/rpcsal.h
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
#pragma once
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#define RPC_range(min,max)
|
||||
|
||||
#define __RPC__in
|
||||
#define __RPC__in_string
|
||||
#define __RPC__in_opt_string
|
||||
#define __RPC__deref_opt_in_opt
|
||||
#define __RPC__opt_in_opt_string
|
||||
#define __RPC__in_ecount(size)
|
||||
#define __RPC__in_ecount_full(size)
|
||||
#define __RPC__in_ecount_full_string(size)
|
||||
#define __RPC__in_ecount_part(size, length)
|
||||
#define __RPC__in_ecount_full_opt(size)
|
||||
#define __RPC__in_ecount_full_opt_string(size)
|
||||
#define __RPC__inout_ecount_full_opt_string(size)
|
||||
#define __RPC__in_ecount_part_opt(size, length)
|
||||
|
||||
#define __RPC__deref_in
|
||||
#define __RPC__deref_in_string
|
||||
#define __RPC__deref_opt_in
|
||||
#define __RPC__deref_in_opt
|
||||
#define __RPC__deref_in_ecount(size)
|
||||
#define __RPC__deref_in_ecount_part(size, length)
|
||||
#define __RPC__deref_in_ecount_full(size)
|
||||
#define __RPC__deref_in_ecount_full_opt(size)
|
||||
#define __RPC__deref_in_ecount_full_string(size)
|
||||
#define __RPC__deref_in_ecount_full_opt_string(size)
|
||||
#define __RPC__deref_in_ecount_opt(size)
|
||||
#define __RPC__deref_in_ecount_opt_string(size)
|
||||
#define __RPC__deref_in_ecount_part_opt(size, length)
|
||||
|
||||
// [out]
|
||||
#define __RPC__out
|
||||
#define __RPC__out_ecount(size)
|
||||
#define __RPC__out_ecount_part(size, length)
|
||||
#define __RPC__out_ecount_full(size)
|
||||
#define __RPC__out_ecount_full_string(size)
|
||||
|
||||
// [in,out]
|
||||
#define __RPC__inout
|
||||
#define __RPC__inout_string
|
||||
#define __RPC__opt_inout
|
||||
#define __RPC__inout_ecount(size)
|
||||
#define __RPC__inout_ecount_part(size, length)
|
||||
#define __RPC__inout_ecount_full(size)
|
||||
#define __RPC__inout_ecount_full_string(size)
|
||||
|
||||
// [in,unique]
|
||||
#define __RPC__in_opt
|
||||
#define __RPC__in_ecount_opt(size)
|
||||
|
||||
|
||||
// [in,out,unique]
|
||||
#define __RPC__inout_opt
|
||||
#define __RPC__inout_ecount_opt(size)
|
||||
#define __RPC__inout_ecount_part_opt(size, length)
|
||||
#define __RPC__inout_ecount_full_opt(size)
|
||||
#define __RPC__inout_ecount_full_string(size)
|
||||
|
||||
// [out] **
|
||||
#define __RPC__deref_out
|
||||
#define __RPC__deref_out_string
|
||||
#define __RPC__deref_out_opt
|
||||
#define __RPC__deref_out_opt_string
|
||||
#define __RPC__deref_out_ecount(size)
|
||||
#define __RPC__deref_out_ecount_part(size, length)
|
||||
#define __RPC__deref_out_ecount_full(size)
|
||||
#define __RPC__deref_out_ecount_full_string(size)
|
||||
|
||||
|
||||
// [in,out] **, second pointer decoration.
|
||||
#define __RPC__deref_inout
|
||||
#define __RPC__deref_inout_string
|
||||
#define __RPC__deref_inout_opt
|
||||
#define __RPC__deref_inout_opt_string
|
||||
#define __RPC__deref_inout_ecount_full(size)
|
||||
#define __RPC__deref_inout_ecount_full_string(size)
|
||||
#define __RPC__deref_inout_ecount_opt(size)
|
||||
#define __RPC__deref_inout_ecount_part_opt(size, length)
|
||||
#define __RPC__deref_inout_ecount_full_opt(size)
|
||||
#define __RPC__deref_inout_ecount_full_opt_string(size)
|
||||
|
||||
// #define __RPC_out_opt out_opt is not allowed in rpc
|
||||
|
||||
// [in,out,unique]
|
||||
#define __RPC__deref_opt_inout
|
||||
#define __RPC__deref_opt_inout_string
|
||||
#define __RPC__deref_opt_inout_ecount(size)
|
||||
#define __RPC__deref_opt_inout_ecount_part(size, length)
|
||||
#define __RPC__deref_opt_inout_ecount_full(size)
|
||||
#define __RPC__deref_opt_inout_ecount_full_string(size)
|
||||
|
||||
#define __RPC__deref_out_ecount_opt(size)
|
||||
#define __RPC__deref_out_ecount_part_opt(size, length)
|
||||
#define __RPC__deref_out_ecount_full_opt(size)
|
||||
#define __RPC__deref_out_ecount_full_opt_string(size)
|
||||
|
||||
#define __RPC__deref_opt_inout_opt
|
||||
#define __RPC__deref_opt_inout_opt_string
|
||||
#define __RPC__deref_opt_inout_ecount_opt(size)
|
||||
#define __RPC__deref_opt_inout_ecount_part_opt(size, length)
|
||||
#define __RPC__deref_opt_inout_ecount_full_opt(size)
|
||||
#define __RPC__deref_opt_inout_ecount_full_opt_string(size)
|
||||
|
||||
#define __RPC_full_pointer
|
||||
#define __RPC_unique_pointer
|
||||
#define __RPC_ref_pointer
|
||||
#define __RPC_string
|
||||
252
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/sal.h
Normal file
252
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/sal.h
Normal file
|
|
@ -0,0 +1,252 @@
|
|||
#pragma once
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
/*#define __null*/ // << Conflicts with GCC internal type __null
|
||||
#define __notnull
|
||||
#define __maybenull
|
||||
#define __readonly
|
||||
#define __notreadonly
|
||||
#define __maybereadonly
|
||||
#define __valid
|
||||
#define __notvalid
|
||||
#define __maybevalid
|
||||
#define __readableTo(extent)
|
||||
#define __elem_readableTo(size)
|
||||
#define __byte_readableTo(size)
|
||||
#define __writableTo(size)
|
||||
#define __elem_writableTo(size)
|
||||
#define __byte_writableTo(size)
|
||||
#define __deref
|
||||
#define __pre
|
||||
#define __post
|
||||
#define __precond(expr)
|
||||
#define __postcond(expr)
|
||||
#define __exceptthat
|
||||
#define __execeptthat
|
||||
#define __inner_success(expr)
|
||||
#define __inner_checkReturn
|
||||
#define __inner_typefix(ctype)
|
||||
#define __inner_override
|
||||
#define __inner_callback
|
||||
#define __inner_blocksOn(resource)
|
||||
#define __inner_fallthrough_dec
|
||||
#define __inner_fallthrough
|
||||
#define __refparam
|
||||
#define __inner_control_entrypoint(category)
|
||||
#define __inner_data_entrypoint(category)
|
||||
|
||||
#define __ecount(size)
|
||||
#define __bcount(size)
|
||||
#define __in
|
||||
#define __in_ecount(size)
|
||||
#define __in_bcount(size)
|
||||
#define __in_z
|
||||
#define __in_ecount_z(size)
|
||||
#define __in_bcount_z(size)
|
||||
#define __in_nz
|
||||
#define __in_ecount_nz(size)
|
||||
#define __in_bcount_nz(size)
|
||||
#define __out
|
||||
#define __out_ecount(size)
|
||||
#define __out_bcount(size)
|
||||
#define __out_ecount_part(size,length)
|
||||
#define __out_bcount_part(size,length)
|
||||
#define __out_ecount_full(size)
|
||||
#define __out_bcount_full(size)
|
||||
#define __out_z
|
||||
#define __out_z_opt
|
||||
#define __out_ecount_z(size)
|
||||
#define __out_bcount_z(size)
|
||||
#define __out_ecount_part_z(size,length)
|
||||
#define __out_bcount_part_z(size,length)
|
||||
#define __out_ecount_full_z(size)
|
||||
#define __out_bcount_full_z(size)
|
||||
#define __out_nz
|
||||
#define __out_nz_opt
|
||||
#define __out_ecount_nz(size)
|
||||
#define __out_bcount_nz(size)
|
||||
#define __inout
|
||||
#define __inout_ecount(size)
|
||||
#define __inout_bcount(size)
|
||||
#define __inout_ecount_part(size,length)
|
||||
#define __inout_bcount_part(size,length)
|
||||
#define __inout_ecount_full(size)
|
||||
#define __inout_bcount_full(size)
|
||||
#define __inout_z
|
||||
#define __inout_ecount_z(size)
|
||||
#define __inout_bcount_z(size)
|
||||
#define __inout_nz
|
||||
#define __inout_ecount_nz(size)
|
||||
#define __inout_bcount_nz(size)
|
||||
#define __ecount_opt(size)
|
||||
#define __bcount_opt(size)
|
||||
#define __in_opt
|
||||
#define __in_ecount_opt(size)
|
||||
#define __in_bcount_opt(size)
|
||||
#define __in_z_opt
|
||||
#define __in_ecount_z_opt(size)
|
||||
#define __in_bcount_z_opt(size)
|
||||
#define __in_nz_opt
|
||||
#define __in_ecount_nz_opt(size)
|
||||
#define __in_bcount_nz_opt(size)
|
||||
#define __out_opt
|
||||
#define __out_ecount_opt(size)
|
||||
#define __out_bcount_opt(size)
|
||||
#define __out_ecount_part_opt(size,length)
|
||||
#define __out_bcount_part_opt(size,length)
|
||||
#define __out_ecount_full_opt(size)
|
||||
#define __out_bcount_full_opt(size)
|
||||
#define __out_ecount_z_opt(size)
|
||||
#define __out_bcount_z_opt(size)
|
||||
#define __out_ecount_part_z_opt(size,length)
|
||||
#define __out_bcount_part_z_opt(size,length)
|
||||
#define __out_ecount_full_z_opt(size)
|
||||
#define __out_bcount_full_z_opt(size)
|
||||
#define __out_ecount_nz_opt(size)
|
||||
#define __out_bcount_nz_opt(size)
|
||||
#define __inout_opt
|
||||
#define __inout_ecount_opt(size)
|
||||
#define __inout_bcount_opt(size)
|
||||
#define __inout_ecount_part_opt(size,length)
|
||||
#define __inout_bcount_part_opt(size,length)
|
||||
#define __inout_ecount_full_opt(size)
|
||||
#define __inout_bcount_full_opt(size)
|
||||
#define __inout_z_opt
|
||||
#define __inout_ecount_z_opt(size)
|
||||
#define __inout_ecount_z_opt(size)
|
||||
#define __inout_bcount_z_opt(size)
|
||||
#define __inout_nz_opt
|
||||
#define __inout_ecount_nz_opt(size)
|
||||
#define __inout_bcount_nz_opt(size)
|
||||
#define __deref_ecount(size)
|
||||
#define __deref_bcount(size)
|
||||
#define __deref_out
|
||||
#define __deref_out_ecount(size)
|
||||
#define __deref_out_bcount(size)
|
||||
#define __deref_out_ecount_part(size,length)
|
||||
#define __deref_out_bcount_part(size,length)
|
||||
#define __deref_out_ecount_full(size)
|
||||
#define __deref_out_bcount_full(size)
|
||||
#define __deref_out_z
|
||||
#define __deref_out_ecount_z(size)
|
||||
#define __deref_out_bcount_z(size)
|
||||
#define __deref_out_nz
|
||||
#define __deref_out_ecount_nz(size)
|
||||
#define __deref_out_bcount_nz(size)
|
||||
#define __deref_inout
|
||||
#define __deref_inout_z
|
||||
#define __deref_inout_ecount(size)
|
||||
#define __deref_inout_bcount(size)
|
||||
#define __deref_inout_ecount_part(size,length)
|
||||
#define __deref_inout_bcount_part(size,length)
|
||||
#define __deref_inout_ecount_full(size)
|
||||
#define __deref_inout_bcount_full(size)
|
||||
#define __deref_inout_z
|
||||
#define __deref_inout_ecount_z(size)
|
||||
#define __deref_inout_bcount_z(size)
|
||||
#define __deref_inout_nz
|
||||
#define __deref_inout_ecount_nz(size)
|
||||
#define __deref_inout_bcount_nz(size)
|
||||
#define __deref_ecount_opt(size)
|
||||
#define __deref_bcount_opt(size)
|
||||
#define __deref_out_opt
|
||||
#define __deref_out_ecount_opt(size)
|
||||
#define __deref_out_bcount_opt(size)
|
||||
#define __deref_out_ecount_part_opt(size,length)
|
||||
#define __deref_out_bcount_part_opt(size,length)
|
||||
#define __deref_out_ecount_full_opt(size)
|
||||
#define __deref_out_bcount_full_opt(size)
|
||||
#define __deref_out_z_opt
|
||||
#define __deref_out_ecount_z_opt(size)
|
||||
#define __deref_out_bcount_z_opt(size)
|
||||
#define __deref_out_nz_opt
|
||||
#define __deref_out_ecount_nz_opt(size)
|
||||
#define __deref_out_bcount_nz_opt(size)
|
||||
#define __deref_inout_opt
|
||||
#define __deref_inout_ecount_opt(size)
|
||||
#define __deref_inout_bcount_opt(size)
|
||||
#define __deref_inout_ecount_part_opt(size,length)
|
||||
#define __deref_inout_bcount_part_opt(size,length)
|
||||
#define __deref_inout_ecount_full_opt(size)
|
||||
#define __deref_inout_bcount_full_opt(size)
|
||||
#define __deref_inout_z_opt
|
||||
#define __deref_inout_ecount_z_opt(size)
|
||||
#define __deref_inout_bcount_z_opt(size)
|
||||
#define __deref_inout_nz_opt
|
||||
#define __deref_inout_ecount_nz_opt(size)
|
||||
#define __deref_inout_bcount_nz_opt(size)
|
||||
#define __deref_opt_ecount(size)
|
||||
#define __deref_opt_bcount(size)
|
||||
#define __deref_opt_out
|
||||
#define __deref_opt_out_z
|
||||
#define __deref_opt_out_ecount(size)
|
||||
#define __deref_opt_out_bcount(size)
|
||||
#define __deref_opt_out_ecount_part(size,length)
|
||||
#define __deref_opt_out_bcount_part(size,length)
|
||||
#define __deref_opt_out_ecount_full(size)
|
||||
#define __deref_opt_out_bcount_full(size)
|
||||
#define __deref_opt_inout
|
||||
#define __deref_opt_inout_ecount(size)
|
||||
#define __deref_opt_inout_bcount(size)
|
||||
#define __deref_opt_inout_ecount_part(size,length)
|
||||
#define __deref_opt_inout_bcount_part(size,length)
|
||||
#define __deref_opt_inout_ecount_full(size)
|
||||
#define __deref_opt_inout_bcount_full(size)
|
||||
#define __deref_opt_inout_z
|
||||
#define __deref_opt_inout_ecount_z(size)
|
||||
#define __deref_opt_inout_bcount_z(size)
|
||||
#define __deref_opt_inout_nz
|
||||
#define __deref_opt_inout_ecount_nz(size)
|
||||
#define __deref_opt_inout_bcount_nz(size)
|
||||
#define __deref_opt_ecount_opt(size)
|
||||
#define __deref_opt_bcount_opt(size)
|
||||
#define __deref_opt_out_opt
|
||||
#define __deref_opt_out_ecount_opt(size)
|
||||
#define __deref_opt_out_bcount_opt(size)
|
||||
#define __deref_opt_out_ecount_part_opt(size,length)
|
||||
#define __deref_opt_out_bcount_part_opt(size,length)
|
||||
#define __deref_opt_out_ecount_full_opt(size)
|
||||
#define __deref_opt_out_bcount_full_opt(size)
|
||||
#define __deref_opt_out_z_opt
|
||||
#define __deref_opt_out_ecount_z_opt(size)
|
||||
#define __deref_opt_out_bcount_z_opt(size)
|
||||
#define __deref_opt_out_nz_opt
|
||||
#define __deref_opt_out_ecount_nz_opt(size)
|
||||
#define __deref_opt_out_bcount_nz_opt(size)
|
||||
#define __deref_opt_inout_opt
|
||||
#define __deref_opt_inout_ecount_opt(size)
|
||||
#define __deref_opt_inout_bcount_opt(size)
|
||||
#define __deref_opt_inout_ecount_part_opt(size,length)
|
||||
#define __deref_opt_inout_bcount_part_opt(size,length)
|
||||
#define __deref_opt_inout_ecount_full_opt(size)
|
||||
#define __deref_opt_inout_bcount_full_opt(size)
|
||||
#define __deref_opt_inout_z_opt
|
||||
#define __deref_opt_inout_ecount_z_opt(size)
|
||||
#define __deref_opt_inout_bcount_z_opt(size)
|
||||
#define __deref_opt_inout_nz_opt
|
||||
#define __deref_opt_inout_ecount_nz_opt(size)
|
||||
#define __deref_opt_inout_bcount_nz_opt(size)
|
||||
|
||||
#define __success(expr)
|
||||
#define __nullterminated
|
||||
#define __nullnullterminated
|
||||
#define __reserved
|
||||
#define __checkReturn
|
||||
#define __typefix(ctype)
|
||||
#define __override
|
||||
#define __callback
|
||||
#define __format_string
|
||||
#define __blocksOn(resource)
|
||||
#define __control_entrypoint(category)
|
||||
#define __data_entrypoint(category)
|
||||
|
||||
#ifndef __fallthrough
|
||||
#define __fallthrough __inner_fallthrough
|
||||
#endif
|
||||
|
||||
#ifndef __analysis_assume
|
||||
#define __analysis_assume(expr)
|
||||
#endif
|
||||
225
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/sdkddkver.h
Normal file
225
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/sdkddkver.h
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
/*
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Module Name:
|
||||
|
||||
sdkddkver.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Master include file for versioning windows SDK/DDK.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef _INC_SDKDDKVER
|
||||
#define _INC_SDKDDKVER
|
||||
|
||||
#pragma once
|
||||
|
||||
//
|
||||
// _WIN32_WINNT version constants
|
||||
//
|
||||
#define _WIN32_WINNT_NT4 0x0400
|
||||
#define _WIN32_WINNT_WIN2K 0x0500
|
||||
#define _WIN32_WINNT_WINXP 0x0501
|
||||
#define _WIN32_WINNT_WS03 0x0502
|
||||
#define _WIN32_WINNT_LONGHORN 0x0600
|
||||
|
||||
//
|
||||
// _WIN32_IE_ version constants
|
||||
//
|
||||
#define _WIN32_IE_IE20 0x0200
|
||||
#define _WIN32_IE_IE30 0x0300
|
||||
#define _WIN32_IE_IE302 0x0302
|
||||
#define _WIN32_IE_IE40 0x0400
|
||||
#define _WIN32_IE_IE401 0x0401
|
||||
#define _WIN32_IE_IE50 0x0500
|
||||
#define _WIN32_IE_IE501 0x0501
|
||||
#define _WIN32_IE_IE55 0x0550
|
||||
#define _WIN32_IE_IE60 0x0600
|
||||
#define _WIN32_IE_IE60SP1 0x0601
|
||||
#define _WIN32_IE_IE60SP2 0x0603
|
||||
#define _WIN32_IE_IE70 0x0700
|
||||
|
||||
//
|
||||
// IE <-> OS version mapping
|
||||
//
|
||||
// NT4 supports IE versions 2.0 -> 6.0 SP1
|
||||
#define _WIN32_IE_NT4 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP1 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP2 _WIN32_IE_IE20
|
||||
#define _WIN32_IE_NT4SP3 _WIN32_IE_IE302
|
||||
#define _WIN32_IE_NT4SP4 _WIN32_IE_IE401
|
||||
#define _WIN32_IE_NT4SP5 _WIN32_IE_IE401
|
||||
#define _WIN32_IE_NT4SP6 _WIN32_IE_IE50
|
||||
// Win98 supports IE versions 4.01 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN98 _WIN32_IE_IE401
|
||||
// Win98SE supports IE versions 5.0 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN98SE _WIN32_IE_IE50
|
||||
// WinME supports IE versions 5.5 -> 6.0 SP1
|
||||
#define _WIN32_IE_WINME _WIN32_IE_IE55
|
||||
// Win2k supports IE versions 5.01 -> 6.0 SP1
|
||||
#define _WIN32_IE_WIN2K _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP1 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP2 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP3 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_WIN2KSP4 _WIN32_IE_IE501
|
||||
#define _WIN32_IE_XP _WIN32_IE_IE60
|
||||
#define _WIN32_IE_XPSP1 _WIN32_IE_IE60SP1
|
||||
#define _WIN32_IE_XPSP2 _WIN32_IE_IE60SP2
|
||||
#define _WIN32_IE_WS03 0x0602
|
||||
#define _WIN32_IE_WS03SP1 _WIN32_IE_IE60SP2
|
||||
#define _WIN32_IE_LONGHORN _WIN32_IE_IE70
|
||||
|
||||
|
||||
//
|
||||
// NTDDI version constants
|
||||
//
|
||||
#define NTDDI_WIN2K 0x05000000
|
||||
#define NTDDI_WIN2KSP1 0x05000100
|
||||
#define NTDDI_WIN2KSP2 0x05000200
|
||||
#define NTDDI_WIN2KSP3 0x05000300
|
||||
#define NTDDI_WIN2KSP4 0x05000400
|
||||
|
||||
#define NTDDI_WINXP 0x05010000
|
||||
#define NTDDI_WINXPSP1 0x05010100
|
||||
#define NTDDI_WINXPSP2 0x05010200
|
||||
|
||||
#define NTDDI_WS03 0x05020000
|
||||
#define NTDDI_WS03SP1 0x05020100
|
||||
|
||||
#define NTDDI_LONGHORN 0x06000000
|
||||
|
||||
//
|
||||
// masks for version macros
|
||||
//
|
||||
#define OSVERSION_MASK 0xFFFF0000
|
||||
#define SPVERSION_MASK 0x0000FF00
|
||||
#define SUBVERSION_MASK 0x000000FF
|
||||
|
||||
|
||||
//
|
||||
// macros to extract various version fields from the NTDDI version
|
||||
//
|
||||
#define OSVER(Version) ((Version) & OSVERSION_MASK)
|
||||
#define SPVER(Version) (((Version) & SPVERSION_MASK) >> 8)
|
||||
#define SUBVER(Version) (((Version) & SUBVERSION_MASK) )
|
||||
|
||||
|
||||
#if defined(DECLSPEC_DEPRECATED_DDK)
|
||||
|
||||
// deprecate in 2k or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2K DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2K
|
||||
#endif
|
||||
|
||||
// deprecate in XP or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WINXP DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WINXP
|
||||
#endif
|
||||
|
||||
// deprecate in WS03 or later
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2003 DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_WIN2003
|
||||
#endif
|
||||
|
||||
// deprecate in WS03 or later
|
||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||
#define DECLSPEC_DEPRECATED_DDK_LONGHORN DECLSPEC_DEPRECATED_DDK
|
||||
#else
|
||||
#define DECLSPEC_DEPRECATED_DDK_LONGHORN
|
||||
#endif
|
||||
|
||||
#endif // defined(DECLSPEC_DEPRECATED_DDK)
|
||||
|
||||
|
||||
//
|
||||
// if versions aren't already defined, default to most current
|
||||
//
|
||||
|
||||
#define NTDDI_VERSION_FROM_WIN32_WINNT2(ver) ver##0000
|
||||
#define NTDDI_VERSION_FROM_WIN32_WINNT(ver) NTDDI_VERSION_FROM_WIN32_WINNT2(ver)
|
||||
|
||||
#if !defined(_WIN32_WINNT) && !defined(_CHICAGO_)
|
||||
#define _WIN32_WINNT 0x0600
|
||||
#endif
|
||||
|
||||
#ifndef NTDDI_VERSION
|
||||
#ifdef _WIN32_WINNT
|
||||
// set NTDDI_VERSION based on _WIN32_WINNT
|
||||
#define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
|
||||
#else
|
||||
#define NTDDI_VERSION 0x06000000
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef WINVER
|
||||
#ifdef _WIN32_WINNT
|
||||
// set WINVER based on _WIN32_WINNT
|
||||
#define WINVER _WIN32_WINNT
|
||||
#else
|
||||
#define WINVER 0x0600
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32_IE
|
||||
#ifdef _WIN32_WINNT
|
||||
// set _WIN32_IE based on _WIN32_WINNT
|
||||
#if (_WIN32_WINNT <= _WIN32_WINNT_NT4)
|
||||
#define _WIN32_IE _WIN32_IE_IE50
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN2K)
|
||||
#define _WIN32_IE _WIN32_IE_IE501
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WINXP)
|
||||
#define _WIN32_IE _WIN32_IE_IE60
|
||||
#elif (_WIN32_WINNT <= _WIN32_WINNT_WS03)
|
||||
#define _WIN32_IE 0x0602
|
||||
#else
|
||||
#define _WIN32_IE 0x0700
|
||||
#endif
|
||||
#else
|
||||
#define _WIN32_IE 0x0700
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Sanity check for compatible versions
|
||||
//
|
||||
#if defined(_WIN32_WINNT) && !defined(MIDL_PASS) && !defined(RC_INVOKED)
|
||||
|
||||
#if (defined(WINVER) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400))
|
||||
#error WINVER setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WIN2K) && (_WIN32_WINNT != _WIN32_WINNT_WIN2K))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WINXP) && (_WIN32_WINNT != _WIN32_WINNT_WINXP))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_WS03) && (_WIN32_WINNT != _WIN32_WINNT_WS03))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if (((OSVERSION_MASK & NTDDI_VERSION) == NTDDI_LONGHORN) && (_WIN32_WINNT != _WIN32_WINNT_LONGHORN))
|
||||
#error NTDDI_VERSION setting conflicts with _WIN32_WINNT setting
|
||||
#endif
|
||||
|
||||
#if ((_WIN32_WINNT < _WIN32_WINNT_WIN2K) && (_WIN32_IE > _WIN32_IE_IE60SP1))
|
||||
#error _WIN32_WINNT settings conflicts with _WIN32_IE setting
|
||||
#endif
|
||||
|
||||
#endif // defined(_WIN32_WINNT) && !defined(MIDL_PASS) && !defined(_WINRESRC_)
|
||||
|
||||
|
||||
#endif // !_INC_SDKDDKVER
|
||||
|
||||
|
||||
468
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/shtypes.h
Normal file
468
bazaar/plugin/portaudio/hostapi/wasapi/mingw-include/shtypes.h
Normal file
|
|
@ -0,0 +1,468 @@
|
|||
|
||||
|
||||
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
|
||||
|
||||
|
||||
/* File created by MIDL compiler version 7.00.0499 */
|
||||
/* Compiler settings for shtypes.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__ 500
|
||||
#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 __shtypes_h__
|
||||
#define __shtypes_h__
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
/* Forward Declarations */
|
||||
|
||||
/* header files for imported files */
|
||||
#include "wtypes.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"{
|
||||
#endif
|
||||
|
||||
|
||||
/* interface __MIDL_itf_shtypes_0000_0000 */
|
||||
/* [local] */
|
||||
|
||||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//===========================================================================
|
||||
//
|
||||
// Object identifiers in the explorer's name space (ItemID and IDList)
|
||||
//
|
||||
// All the items that the user can browse with the explorer (such as files,
|
||||
// directories, servers, work-groups, etc.) has an identifier which is unique
|
||||
// among items within the parent folder. Those identifiers are called item
|
||||
// IDs (SHITEMID). Since all its parent folders have their own item IDs,
|
||||
// any items can be uniquely identified by a list of item IDs, which is called
|
||||
// an ID list (ITEMIDLIST).
|
||||
//
|
||||
// ID lists are almost always allocated by the task allocator (see some
|
||||
// description below as well as OLE 2.0 SDK) and may be passed across
|
||||
// some of shell interfaces (such as IShellFolder). Each item ID in an ID list
|
||||
// is only meaningful to its parent folder (which has generated it), and all
|
||||
// the clients must treat it as an opaque binary data except the first two
|
||||
// bytes, which indicates the size of the item ID.
|
||||
//
|
||||
// When a shell extension -- which implements the IShellFolder interace --
|
||||
// generates an item ID, it may put any information in it, not only the data
|
||||
// with that it needs to identifies the item, but also some additional
|
||||
// information, which would help implementing some other functions efficiently.
|
||||
// For example, the shell's IShellFolder implementation of file system items
|
||||
// stores the primary (long) name of a file or a directory as the item
|
||||
// identifier, but it also stores its alternative (short) name, size and date
|
||||
// etc.
|
||||
//
|
||||
// When an ID list is passed to one of shell APIs (such as SHGetPathFromIDList),
|
||||
// it is always an absolute path -- relative from the root of the name space,
|
||||
// which is the desktop folder. When an ID list is passed to one of IShellFolder
|
||||
// member function, it is always a relative path from the folder (unless it
|
||||
// is explicitly specified).
|
||||
//
|
||||
//===========================================================================
|
||||
//
|
||||
// SHITEMID -- Item ID (mkid)
|
||||
// USHORT cb; // Size of the ID (including cb itself)
|
||||
// BYTE abID[]; // The item ID (variable length)
|
||||
//
|
||||
#include <pshpack1.h>
|
||||
typedef struct _SHITEMID
|
||||
{
|
||||
USHORT cb;
|
||||
BYTE abID[ 1 ];
|
||||
} SHITEMID;
|
||||
|
||||
#include <poppack.h>
|
||||
#if defined(_M_IX86)
|
||||
#define __unaligned
|
||||
#endif // __unaligned
|
||||
typedef SHITEMID __unaligned *LPSHITEMID;
|
||||
|
||||
typedef const SHITEMID __unaligned *LPCSHITEMID;
|
||||
|
||||
//
|
||||
// ITEMIDLIST -- List if item IDs (combined with 0-terminator)
|
||||
//
|
||||
#include <pshpack1.h>
|
||||
typedef struct _ITEMIDLIST
|
||||
{
|
||||
SHITEMID mkid;
|
||||
} ITEMIDLIST;
|
||||
|
||||
#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
|
||||
typedef struct _ITEMIDLIST_RELATIVE : ITEMIDLIST {} ITEMIDLIST_RELATIVE;
|
||||
typedef struct _ITEMID_CHILD : ITEMIDLIST_RELATIVE {} ITEMID_CHILD;
|
||||
typedef struct _ITEMIDLIST_ABSOLUTE : ITEMIDLIST_RELATIVE {} ITEMIDLIST_ABSOLUTE;
|
||||
#else // !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus))
|
||||
typedef ITEMIDLIST ITEMIDLIST_RELATIVE;
|
||||
|
||||
typedef ITEMIDLIST ITEMID_CHILD;
|
||||
|
||||
typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE;
|
||||
|
||||
#endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
|
||||
#include <poppack.h>
|
||||
typedef /* [unique] */ __RPC_unique_pointer BYTE_BLOB *wirePIDL;
|
||||
|
||||
typedef /* [wire_marshal] */ ITEMIDLIST __unaligned *LPITEMIDLIST;
|
||||
|
||||
typedef /* [wire_marshal] */ const ITEMIDLIST __unaligned *LPCITEMIDLIST;
|
||||
|
||||
#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
|
||||
typedef /* [wire_marshal] */ ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
|
||||
|
||||
typedef /* [wire_marshal] */ const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE;
|
||||
|
||||
typedef /* [wire_marshal] */ const ITEMIDLIST_ABSOLUTE __unaligned *PCUIDLIST_ABSOLUTE;
|
||||
|
||||
typedef /* [wire_marshal] */ ITEMIDLIST_RELATIVE *PIDLIST_RELATIVE;
|
||||
|
||||
typedef /* [wire_marshal] */ const ITEMIDLIST_RELATIVE *PCIDLIST_RELATIVE;
|
||||
|
||||
typedef /* [wire_marshal] */ ITEMIDLIST_RELATIVE __unaligned *PUIDLIST_RELATIVE;
|
||||
|
||||
typedef /* [wire_marshal] */ const ITEMIDLIST_RELATIVE __unaligned *PCUIDLIST_RELATIVE;
|
||||
|
||||
typedef /* [wire_marshal] */ ITEMID_CHILD *PITEMID_CHILD;
|
||||
|
||||
typedef /* [wire_marshal] */ const ITEMID_CHILD *PCITEMID_CHILD;
|
||||
|
||||
typedef /* [wire_marshal] */ ITEMID_CHILD __unaligned *PUITEMID_CHILD;
|
||||
|
||||
typedef /* [wire_marshal] */ const ITEMID_CHILD __unaligned *PCUITEMID_CHILD;
|
||||
|
||||
typedef const PCUITEMID_CHILD *PCUITEMID_CHILD_ARRAY;
|
||||
|
||||
typedef const PCUIDLIST_RELATIVE *PCUIDLIST_RELATIVE_ARRAY;
|
||||
|
||||
typedef const PCIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE_ARRAY;
|
||||
|
||||
typedef const PCUIDLIST_ABSOLUTE *PCUIDLIST_ABSOLUTE_ARRAY;
|
||||
|
||||
#else // !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus))
|
||||
#define PIDLIST_ABSOLUTE LPITEMIDLIST
|
||||
#define PCIDLIST_ABSOLUTE LPCITEMIDLIST
|
||||
#define PCUIDLIST_ABSOLUTE LPCITEMIDLIST
|
||||
#define PIDLIST_RELATIVE LPITEMIDLIST
|
||||
#define PCIDLIST_RELATIVE LPCITEMIDLIST
|
||||
#define PUIDLIST_RELATIVE LPITEMIDLIST
|
||||
#define PCUIDLIST_RELATIVE LPCITEMIDLIST
|
||||
#define PITEMID_CHILD LPITEMIDLIST
|
||||
#define PCITEMID_CHILD LPCITEMIDLIST
|
||||
#define PUITEMID_CHILD LPITEMIDLIST
|
||||
#define PCUITEMID_CHILD LPCITEMIDLIST
|
||||
#define PCUITEMID_CHILD_ARRAY LPCITEMIDLIST *
|
||||
#define PCUIDLIST_RELATIVE_ARRAY LPCITEMIDLIST *
|
||||
#define PCIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *
|
||||
#define PCUIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *
|
||||
#endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
|
||||
#ifdef MIDL_PASS
|
||||
typedef struct _WIN32_FIND_DATAA
|
||||
{
|
||||
DWORD dwFileAttributes;
|
||||
FILETIME ftCreationTime;
|
||||
FILETIME ftLastAccessTime;
|
||||
FILETIME ftLastWriteTime;
|
||||
DWORD nFileSizeHigh;
|
||||
DWORD nFileSizeLow;
|
||||
DWORD dwReserved0;
|
||||
DWORD dwReserved1;
|
||||
CHAR cFileName[ 260 ];
|
||||
CHAR cAlternateFileName[ 14 ];
|
||||
} WIN32_FIND_DATAA;
|
||||
|
||||
typedef struct _WIN32_FIND_DATAA *PWIN32_FIND_DATAA;
|
||||
|
||||
typedef struct _WIN32_FIND_DATAA *LPWIN32_FIND_DATAA;
|
||||
|
||||
typedef struct _WIN32_FIND_DATAW
|
||||
{
|
||||
DWORD dwFileAttributes;
|
||||
FILETIME ftCreationTime;
|
||||
FILETIME ftLastAccessTime;
|
||||
FILETIME ftLastWriteTime;
|
||||
DWORD nFileSizeHigh;
|
||||
DWORD nFileSizeLow;
|
||||
DWORD dwReserved0;
|
||||
DWORD dwReserved1;
|
||||
WCHAR cFileName[ 260 ];
|
||||
WCHAR cAlternateFileName[ 14 ];
|
||||
} WIN32_FIND_DATAW;
|
||||
|
||||
typedef struct _WIN32_FIND_DATAW *PWIN32_FIND_DATAW;
|
||||
|
||||
typedef struct _WIN32_FIND_DATAW *LPWIN32_FIND_DATAW;
|
||||
|
||||
#endif // MIDL_PASS
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// struct STRRET
|
||||
//
|
||||
// structure for returning strings from IShellFolder member functions
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// uType indicate which union member to use
|
||||
// STRRET_WSTR Use STRRET.pOleStr must be freed by caller of GetDisplayNameOf
|
||||
// STRRET_OFFSET Use STRRET.uOffset Offset into SHITEMID for ANSI string
|
||||
// STRRET_CSTR Use STRRET.cStr ANSI Buffer
|
||||
//
|
||||
typedef /* [v1_enum] */
|
||||
enum tagSTRRET_TYPE
|
||||
{ STRRET_WSTR = 0,
|
||||
STRRET_OFFSET = 0x1,
|
||||
STRRET_CSTR = 0x2
|
||||
} STRRET_TYPE;
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4201) /* nonstandard extension used : nameless struct/union */
|
||||
#pragma once
|
||||
#endif
|
||||
#include <pshpack8.h>
|
||||
typedef struct _STRRET
|
||||
{
|
||||
UINT uType;
|
||||
union
|
||||
{
|
||||
LPWSTR pOleStr;
|
||||
UINT uOffset;
|
||||
char cStr[ 260 ];
|
||||
} DUMMYUNIONNAME;
|
||||
} STRRET;
|
||||
|
||||
#include <poppack.h>
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
typedef STRRET *LPSTRRET;
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// struct SHELLDETAILS
|
||||
//
|
||||
// structure for returning strings from IShellDetails
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// fmt; // LVCFMT_* value (header only)
|
||||
// cxChar; // Number of 'average' characters (header only)
|
||||
// str; // String information
|
||||
//
|
||||
#include <pshpack1.h>
|
||||
typedef struct _SHELLDETAILS
|
||||
{
|
||||
int fmt;
|
||||
int cxChar;
|
||||
STRRET str;
|
||||
} SHELLDETAILS;
|
||||
|
||||
typedef struct _SHELLDETAILS *LPSHELLDETAILS;
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
|
||||
typedef /* [v1_enum] */
|
||||
enum tagPERCEIVED
|
||||
{ PERCEIVED_TYPE_FIRST = -3,
|
||||
PERCEIVED_TYPE_CUSTOM = -3,
|
||||
PERCEIVED_TYPE_UNSPECIFIED = -2,
|
||||
PERCEIVED_TYPE_FOLDER = -1,
|
||||
PERCEIVED_TYPE_UNKNOWN = 0,
|
||||
PERCEIVED_TYPE_TEXT = 1,
|
||||
PERCEIVED_TYPE_IMAGE = 2,
|
||||
PERCEIVED_TYPE_AUDIO = 3,
|
||||
PERCEIVED_TYPE_VIDEO = 4,
|
||||
PERCEIVED_TYPE_COMPRESSED = 5,
|
||||
PERCEIVED_TYPE_DOCUMENT = 6,
|
||||
PERCEIVED_TYPE_SYSTEM = 7,
|
||||
PERCEIVED_TYPE_APPLICATION = 8,
|
||||
PERCEIVED_TYPE_GAMEMEDIA = 9,
|
||||
PERCEIVED_TYPE_CONTACTS = 10,
|
||||
PERCEIVED_TYPE_LAST = 10
|
||||
} PERCEIVED;
|
||||
|
||||
#define PERCEIVEDFLAG_UNDEFINED 0x0000
|
||||
#define PERCEIVEDFLAG_SOFTCODED 0x0001
|
||||
#define PERCEIVEDFLAG_HARDCODED 0x0002
|
||||
#define PERCEIVEDFLAG_NATIVESUPPORT 0x0004
|
||||
#define PERCEIVEDFLAG_GDIPLUS 0x0010
|
||||
#define PERCEIVEDFLAG_WMSDK 0x0020
|
||||
#define PERCEIVEDFLAG_ZIPFOLDER 0x0040
|
||||
typedef DWORD PERCEIVEDFLAG;
|
||||
|
||||
#endif // _WIN32_IE_IE60SP2
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||
typedef struct _COMDLG_FILTERSPEC
|
||||
{
|
||||
LPCWSTR pszName;
|
||||
LPCWSTR pszSpec;
|
||||
} COMDLG_FILTERSPEC;
|
||||
|
||||
typedef struct tagMACHINE_ID
|
||||
{
|
||||
char szName[ 16 ];
|
||||
} MACHINE_ID;
|
||||
|
||||
typedef struct tagDOMAIN_RELATIVE_OBJECTID
|
||||
{
|
||||
GUID guidVolume;
|
||||
GUID guidObject;
|
||||
} DOMAIN_RELATIVE_OBJECTID;
|
||||
|
||||
typedef GUID KNOWNFOLDERID;
|
||||
|
||||
#if 0
|
||||
typedef KNOWNFOLDERID *REFKNOWNFOLDERID;
|
||||
|
||||
#endif // 0
|
||||
#ifdef __cplusplus
|
||||
#define REFKNOWNFOLDERID const KNOWNFOLDERID &
|
||||
#else // !__cplusplus
|
||||
#define REFKNOWNFOLDERID const KNOWNFOLDERID * __MIDL_CONST
|
||||
#endif // __cplusplus
|
||||
#endif // NTDDI_LONGHORN
|
||||
typedef GUID FOLDERTYPEID;
|
||||
|
||||
#if 0
|
||||
typedef FOLDERTYPEID *REFFOLDERTYPEID;
|
||||
|
||||
#endif // 0
|
||||
#ifdef __cplusplus
|
||||
#define REFFOLDERTYPEID const FOLDERTYPEID &
|
||||
#else // !__cplusplus
|
||||
#define REFFOLDERTYPEID const FOLDERTYPEID * __MIDL_CONST
|
||||
#endif // __cplusplus
|
||||
typedef GUID TASKOWNERID;
|
||||
|
||||
#if 0
|
||||
typedef TASKOWNERID *REFTASKOWNERID;
|
||||
|
||||
#endif // 0
|
||||
#ifdef __cplusplus
|
||||
#define REFTASKOWNERID const TASKOWNERID &
|
||||
#else // !__cplusplus
|
||||
#define REFTASKOWNERID const TASKOWNERID * __MIDL_CONST
|
||||
#endif // __cplusplus
|
||||
#ifndef LF_FACESIZE
|
||||
typedef struct tagLOGFONTA
|
||||
{
|
||||
LONG lfHeight;
|
||||
LONG lfWidth;
|
||||
LONG lfEscapement;
|
||||
LONG lfOrientation;
|
||||
LONG lfWeight;
|
||||
BYTE lfItalic;
|
||||
BYTE lfUnderline;
|
||||
BYTE lfStrikeOut;
|
||||
BYTE lfCharSet;
|
||||
BYTE lfOutPrecision;
|
||||
BYTE lfClipPrecision;
|
||||
BYTE lfQuality;
|
||||
BYTE lfPitchAndFamily;
|
||||
CHAR lfFaceName[ 32 ];
|
||||
} LOGFONTA;
|
||||
|
||||
typedef struct tagLOGFONTW
|
||||
{
|
||||
LONG lfHeight;
|
||||
LONG lfWidth;
|
||||
LONG lfEscapement;
|
||||
LONG lfOrientation;
|
||||
LONG lfWeight;
|
||||
BYTE lfItalic;
|
||||
BYTE lfUnderline;
|
||||
BYTE lfStrikeOut;
|
||||
BYTE lfCharSet;
|
||||
BYTE lfOutPrecision;
|
||||
BYTE lfClipPrecision;
|
||||
BYTE lfQuality;
|
||||
BYTE lfPitchAndFamily;
|
||||
WCHAR lfFaceName[ 32 ];
|
||||
} LOGFONTW;
|
||||
|
||||
typedef LOGFONTA LOGFONT;
|
||||
|
||||
#endif // LF_FACESIZE
|
||||
typedef /* [v1_enum] */
|
||||
enum tagSHCOLSTATE
|
||||
{ SHCOLSTATE_TYPE_STR = 0x1,
|
||||
SHCOLSTATE_TYPE_INT = 0x2,
|
||||
SHCOLSTATE_TYPE_DATE = 0x3,
|
||||
SHCOLSTATE_TYPEMASK = 0xf,
|
||||
SHCOLSTATE_ONBYDEFAULT = 0x10,
|
||||
SHCOLSTATE_SLOW = 0x20,
|
||||
SHCOLSTATE_EXTENDED = 0x40,
|
||||
SHCOLSTATE_SECONDARYUI = 0x80,
|
||||
SHCOLSTATE_HIDDEN = 0x100,
|
||||
SHCOLSTATE_PREFER_VARCMP = 0x200,
|
||||
SHCOLSTATE_PREFER_FMTCMP = 0x400,
|
||||
SHCOLSTATE_NOSORTBYFOLDERNESS = 0x800,
|
||||
SHCOLSTATE_VIEWONLY = 0x10000,
|
||||
SHCOLSTATE_BATCHREAD = 0x20000,
|
||||
SHCOLSTATE_NO_GROUPBY = 0x40000,
|
||||
SHCOLSTATE_FIXED_WIDTH = 0x1000,
|
||||
SHCOLSTATE_NODPISCALE = 0x2000,
|
||||
SHCOLSTATE_FIXED_RATIO = 0x4000,
|
||||
SHCOLSTATE_DISPLAYMASK = 0xf000
|
||||
} SHCOLSTATE;
|
||||
|
||||
typedef DWORD SHCOLSTATEF;
|
||||
|
||||
typedef PROPERTYKEY SHCOLUMNID;
|
||||
|
||||
typedef const SHCOLUMNID *LPCSHCOLUMNID;
|
||||
|
||||
|
||||
|
||||
extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_0000_v0_0_c_ifspec;
|
||||
extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_0000_v0_0_s_ifspec;
|
||||
|
||||
/* Additional Prototypes for ALL interfaces */
|
||||
|
||||
/* end of Additional Prototypes */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load diff
4565
bazaar/plugin/portaudio/hostapi/wasapi/pa_win_wasapi.c
Normal file
4565
bazaar/plugin/portaudio/hostapi/wasapi/pa_win_wasapi.c
Normal file
File diff suppressed because it is too large
Load diff
25
bazaar/plugin/portaudio/hostapi/wasapi/readme.txt
Normal file
25
bazaar/plugin/portaudio/hostapi/wasapi/readme.txt
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
**************
|
||||
* WASAPI API *
|
||||
**************
|
||||
|
||||
----------------------------------------
|
||||
Microsoft Visual Studio 2005SP1/2008/10
|
||||
----------------------------------------
|
||||
No specific actions are needed to compile WASAPI API under Visual Studio.
|
||||
You are only required to install min. Windows Vista SDK (v6.0A) prior
|
||||
compilation.
|
||||
|
||||
----------------------------------------
|
||||
MinGW (GCC 32-bit)/ MinGW64 (GCC 64-bit)
|
||||
----------------------------------------
|
||||
To compile under MinGW you are required to include 'mingw-include' directory
|
||||
which contains necessary files with WASAPI API. These files are modified
|
||||
in order to be compiled by MinGW compiler. These files are taken from
|
||||
Windows Vista SDK (v6.0A). MinGW compilation is tested and proved to be
|
||||
fully working under 32-bit and 64-bit modes.
|
||||
MinGW (32-bit) tested: gcc version 4.4.0 (GCC)
|
||||
MinGW64 (64-bit) tested: gcc version 4.4.4 20100226 (prerelease) (GCC)
|
||||
|
||||
PortAudio
|
||||
/Dmitry Kostjuchenko/
|
||||
04.03.2010
|
||||
Loading…
Add table
Add a link
Reference in a new issue