using System;

// namespace Media.KernelStreaming
namespace Win32
{
	extension Win32
	{
		// --- Constants ---
		
		public const uint32 IOCTL_KS_PROPERTY = 3080195;
		public const uint32 IOCTL_KS_ENABLE_EVENT = 3080199;
		public const uint32 IOCTL_KS_DISABLE_EVENT = 3080203;
		public const uint32 IOCTL_KS_METHOD = 3080207;
		public const uint32 IOCTL_KS_WRITE_STREAM = 3112979;
		public const uint32 IOCTL_KS_READ_STREAM = 3096599;
		public const uint32 IOCTL_KS_RESET_STATE = 3080219;
		public const uint32 KSPRIORITY_LOW = 1;
		public const uint32 KSPRIORITY_NORMAL = 1073741824;
		public const uint32 KSPRIORITY_HIGH = 2147483648;
		public const uint32 KSPRIORITY_EXCLUSIVE = 4294967295;
		public const uint32 KSMETHOD_TYPE_NONE = 0;
		public const uint32 KSMETHOD_TYPE_READ = 1;
		public const uint32 KSMETHOD_TYPE_WRITE = 2;
		public const uint32 KSMETHOD_TYPE_MODIFY = 3;
		public const uint32 KSMETHOD_TYPE_SOURCE = 4;
		public const uint32 KSMETHOD_TYPE_SEND = 1;
		public const uint32 KSMETHOD_TYPE_SETSUPPORT = 256;
		public const uint32 KSMETHOD_TYPE_BASICSUPPORT = 512;
		public const uint32 KSMETHOD_TYPE_TOPOLOGY = 268435456;
		public const uint32 KSPROPERTY_TYPE_GET = 1;
		public const uint32 KSPROPERTY_TYPE_GETPAYLOADSIZE = 4;
		public const uint32 KSPROPERTY_TYPE_SET = 2;
		public const uint32 KSPROPERTY_TYPE_SETSUPPORT = 256;
		public const uint32 KSPROPERTY_TYPE_BASICSUPPORT = 512;
		public const uint32 KSPROPERTY_TYPE_RELATIONS = 1024;
		public const uint32 KSPROPERTY_TYPE_SERIALIZESET = 2048;
		public const uint32 KSPROPERTY_TYPE_UNSERIALIZESET = 4096;
		public const uint32 KSPROPERTY_TYPE_SERIALIZERAW = 8192;
		public const uint32 KSPROPERTY_TYPE_UNSERIALIZERAW = 16384;
		public const uint32 KSPROPERTY_TYPE_SERIALIZESIZE = 32768;
		public const uint32 KSPROPERTY_TYPE_DEFAULTVALUES = 65536;
		public const uint32 KSPROPERTY_TYPE_TOPOLOGY = 268435456;
		public const uint32 KSPROPERTY_TYPE_HIGHPRIORITY = 134217728;
		public const uint32 KSPROPERTY_TYPE_FSFILTERSCOPE = 1073741824;
		public const uint32 KSPROPERTY_TYPE_COPYPAYLOAD = 2147483648;
		public const uint32 KSPROPERTY_MEMBER_RANGES = 1;
		public const uint32 KSPROPERTY_MEMBER_STEPPEDRANGES = 2;
		public const uint32 KSPROPERTY_MEMBER_VALUES = 3;
		public const uint32 KSPROPERTY_MEMBER_FLAG_DEFAULT = 1;
		public const uint32 KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_MULTICHANNEL = 2;
		public const uint32 KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_UNIFORM = 4;
		public const uint32 KSEVENTF_EVENT_HANDLE = 1;
		public const uint32 KSEVENTF_SEMAPHORE_HANDLE = 2;
		public const uint32 KSEVENTF_EVENT_OBJECT = 4;
		public const uint32 KSEVENTF_SEMAPHORE_OBJECT = 8;
		public const uint32 KSEVENTF_DPC = 16;
		public const uint32 KSEVENTF_WORKITEM = 32;
		public const uint32 KSEVENTF_KSWORKITEM = 128;
		public const uint32 KSEVENT_TYPE_ENABLE = 1;
		public const uint32 KSEVENT_TYPE_ONESHOT = 2;
		public const uint32 KSEVENT_TYPE_ENABLEBUFFERED = 4;
		public const uint32 KSEVENT_TYPE_SETSUPPORT = 256;
		public const uint32 KSEVENT_TYPE_BASICSUPPORT = 512;
		public const uint32 KSEVENT_TYPE_QUERYBUFFER = 1024;
		public const uint32 KSEVENT_TYPE_TOPOLOGY = 268435456;
		public const uint32 KSRELATIVEEVENT_FLAG_HANDLE = 1;
		public const uint32 KSRELATIVEEVENT_FLAG_POINTER = 2;
		public const uint32 KSMEDIUM_TYPE_ANYINSTANCE = 0;
		public const uint32 KSMEDIUM_STANDARD_DEVIO = 0;
		public const uint32 KSPROPERTY_PIN_FLAGS_ATTRIBUTE_RANGE_AWARE = 1;
		public const uint32 KSPROPERTY_PIN_FLAGS_MASK = 1;
		public const uint32 KSDATAFORMAT_BIT_TEMPORAL_COMPRESSION = 0;
		public const uint32 KSDATAFORMAT_BIT_ATTRIBUTES = 1;
		public const uint32 KSDATARANGE_BIT_ATTRIBUTES = 1;
		public const uint32 KSDATARANGE_BIT_REQUIRED_ATTRIBUTES = 2;
		public const uint32 KSATTRIBUTE_REQUIRED = 1;
		public const uint32 KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER = 1;
		public const uint32 KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY = 2;
		public const uint32 KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY = 4;
		public const uint32 KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE = 8;
		public const uint32 KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY_CUSTOM_ALLOCATION = 16;
		public const uint32 KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY = 2147483648;
		public const uint32 KSALLOCATOR_OPTIONF_COMPATIBLE = 1;
		public const uint32 KSALLOCATOR_OPTIONF_SYSTEM_MEMORY = 2;
		public const uint32 KSALLOCATOR_OPTIONF_VALID = 3;
		public const uint32 KSALLOCATOR_FLAG_PARTIAL_READ_SUPPORT = 16;
		public const uint32 KSALLOCATOR_FLAG_DEVICE_SPECIFIC = 32;
		public const uint32 KSALLOCATOR_FLAG_CAN_ALLOCATE = 64;
		public const uint32 KSALLOCATOR_FLAG_INSIST_ON_FRAMESIZE_RATIO = 128;
		public const uint32 KSALLOCATOR_FLAG_NO_FRAME_INTEGRITY = 256;
		public const uint32 KSALLOCATOR_FLAG_MULTIPLE_OUTPUT = 512;
		public const uint32 KSALLOCATOR_FLAG_CYCLE = 1024;
		public const uint32 KSALLOCATOR_FLAG_ALLOCATOR_EXISTS = 2048;
		public const uint32 KSALLOCATOR_FLAG_INDEPENDENT_RANGES = 4096;
		public const uint32 KSALLOCATOR_FLAG_ATTENTION_STEPPING = 8192;
		public const uint32 KSALLOCATOR_FLAG_ENABLE_CACHED_MDL = 16384;
		public const uint32 KSALLOCATOR_FLAG_2D_BUFFER_REQUIRED = 32768;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_SPLICEPOINT = 1;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_PREROLL = 2;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY = 4;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_TYPECHANGED = 8;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_TIMEVALID = 16;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY = 64;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_FLUSHONPAUSE = 128;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_DURATIONVALID = 256;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM = 512;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_BUFFEREDTRANSFER = 1024;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_VRAM_DATA_TRANSFER = 2048;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_METADATA = 4096;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_ENDOFPHOTOSEQUENCE = 8192;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_FRAMEINFO = 16384;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_PERSIST_SAMPLE = 32768;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_SAMPLE_PERSISTED = 65536;
		public const uint32 KSSTREAM_HEADER_TRACK_COMPLETION_NUMBERS = 131072;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_SECUREBUFFERTRANSFER = 262144;
		public const uint32 KSSTREAM_HEADER_OPTIONSF_LOOPEDDATA = 2147483648;
		public const uint32 KSSTREAM_UVC_SECURE_ATTRIBUTE_SIZE = 8192;
		public const uint32 KSFRAMETIME_VARIABLESIZE = 1;
		public const uint32 KSRATE_NOPRESENTATIONSTART = 1;
		public const uint32 KSRATE_NOPRESENTATIONDURATION = 2;
		public const uint32 NANOSECONDS = 10000000;
		public const uint32 KSPROBE_STREAMREAD = 0;
		public const uint32 KSPROBE_STREAMWRITE = 1;
		public const uint32 KSPROBE_ALLOCATEMDL = 16;
		public const uint32 KSPROBE_PROBEANDLOCK = 32;
		public const uint32 KSPROBE_SYSTEMADDRESS = 64;
		public const uint32 KSPROBE_MODIFY = 512;
		public const uint32 KSPROBE_ALLOWFORMATCHANGE = 128;
		public const uint32 KSSTREAM_READ = 0;
		public const uint32 KSSTREAM_WRITE = 1;
		public const uint32 KSSTREAM_PAGED_DATA = 0;
		public const uint32 KSSTREAM_NONPAGED_DATA = 256;
		public const uint32 KSSTREAM_SYNCHRONOUS = 4096;
		public const uint32 KSSTREAM_FAILUREEXCEPTION = 8192;
		public const uint32 KSEVENT_ENTRY_DELETED = 1;
		public const uint32 KSEVENT_ENTRY_ONESHOT = 2;
		public const uint32 KSEVENT_ENTRY_BUFFERED = 4;
		public const uint32 KSDISPATCH_FASTIO = 2147483648;
		public const uint32 KSCREATE_ITEM_SECURITYCHANGED = 1;
		public const uint32 KSCREATE_ITEM_WILDCARD = 2;
		public const uint32 KSCREATE_ITEM_NOPARAMETERS = 4;
		public const uint32 KSCREATE_ITEM_FREEONSTOP = 8;
		public const uint32 BUS_INTERFACE_REFERENCE_VERSION = 256;
		public const uint32 IOCTL_KS_HANDSHAKE = 3080223;
		public const uint32 MIN_DEV_VER_FOR_QI = 256;
		public const uint32 KSDEVICE_DESCRIPTOR_VERSION = 256;
		public const uint32 KSDEVICE_DESCRIPTOR_VERSION_2 = 272;
		public const uint32 MIN_DEV_VER_FOR_FLAGS = 272;
		public const uint32 KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP = 1;
		public const uint32 KSDEVICE_FLAG_LOWPOWER_PASSTHROUGH = 2;
		public const uint32 KSDEVICE_FLAG_ENABLE_QUERYINTERFACE = 4;
		public const uint32 KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING = 1;
		public const uint32 KSFILTER_FLAG_CRITICAL_PROCESSING = 2;
		public const uint32 KSFILTER_FLAG_HYPERCRITICAL_PROCESSING = 4;
		public const uint32 KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES = 8;
		public const uint32 KSFILTER_FLAG_DENY_USERMODE_ACCESS = 2147483648;
		public const uint32 KSFILTER_FLAG_PRIORITIZE_REFERENCEGUID = 16;
		public const uint32 KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING = 1;
		public const uint32 KSPIN_FLAG_CRITICAL_PROCESSING = 2;
		public const uint32 KSPIN_FLAG_HYPERCRITICAL_PROCESSING = 4;
		public const uint32 KSPIN_FLAG_ASYNCHRONOUS_PROCESSING = 8;
		public const uint32 KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING = 16;
		public const uint32 KSPIN_FLAG_INITIATE_PROCESSING_ON_EVERY_ARRIVAL = 32;
		public const uint32 KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING = 64;
		public const uint32 KSPIN_FLAG_ENFORCE_FIFO = 128;
		public const uint32 KSPIN_FLAG_GENERATE_MAPPINGS = 256;
		public const uint32 KSPIN_FLAG_DISTINCT_TRAILING_EDGE = 512;
		public const uint32 KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY = 65536;
		public const uint32 KSPIN_FLAG_SPLITTER = 131072;
		public const uint32 KSPIN_FLAG_USE_STANDARD_TRANSPORT = 262144;
		public const uint32 KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT = 524288;
		public const uint32 KSPIN_FLAG_FIXED_FORMAT = 1048576;
		public const uint32 KSPIN_FLAG_GENERATE_EOS_EVENTS = 2097152;
		public const uint32 KSPIN_FLAG_IMPLEMENT_CLOCK = 4194304;
		public const uint32 KSPIN_FLAG_SOME_FRAMES_REQUIRED_FOR_PROCESSING = 8388608;
		public const uint32 KSPIN_FLAG_PROCESS_IF_ANY_IN_RUN_STATE = 16777216;
		public const uint32 KSPIN_FLAG_DENY_USERMODE_ACCESS = 2147483648;
		public const PWSTR RT_STRING = (PWSTR)(void*)6;
		public const PWSTR RT_RCDATA = (PWSTR)(void*)10;
		public const uint32 WAVE_FORMAT_EXTENSIBLE = 65534;
		public const uint32 KSDSOUND_BUFFER_PRIMARY = 1;
		public const uint32 KSDSOUND_BUFFER_STATIC = 2;
		public const uint32 KSDSOUND_BUFFER_LOCHARDWARE = 4;
		public const uint32 KSDSOUND_BUFFER_LOCSOFTWARE = 8;
		public const uint32 KSDSOUND_BUFFER_CTRL_3D = 1;
		public const uint32 KSDSOUND_BUFFER_CTRL_FREQUENCY = 2;
		public const uint32 KSDSOUND_BUFFER_CTRL_PAN = 4;
		public const uint32 KSDSOUND_BUFFER_CTRL_VOLUME = 8;
		public const uint32 KSDSOUND_BUFFER_CTRL_POSITIONNOTIFY = 16;
		public const PROPERTYKEY DEVPKEY_KsAudio_PacketSize_Constraints = .(.(0x13e004d6, 0xb066, 0x43bd, 0x91, 0x3b, 0xa4, 0x15, 0xcd, 0x13, 0xda, 0x87), 2);
		public const PROPERTYKEY DEVPKEY_KsAudio_Controller_DeviceInterface_Path = .(.(0x13e004d6, 0xb066, 0x43bd, 0x91, 0x3b, 0xa4, 0x15, 0xcd, 0x13, 0xda, 0x87), 3);
		public const PROPERTYKEY DEVPKEY_KsAudio_PacketSize_Constraints2 = .(.(0x9404f781, 0x7191, 0x409b, 0x8b, 0x0b, 0x80, 0xbf, 0x6e, 0xc2, 0x29, 0xae), 2);
		public const int32 KSAUDIO_STEREO_SPEAKER_GEOMETRY_HEADPHONE = -1;
		public const uint32 KSAUDIO_STEREO_SPEAKER_GEOMETRY_MIN = 5;
		public const uint32 KSAUDIO_STEREO_SPEAKER_GEOMETRY_NARROW = 10;
		public const uint32 KSAUDIO_STEREO_SPEAKER_GEOMETRY_WIDE = 20;
		public const uint32 KSAUDIO_STEREO_SPEAKER_GEOMETRY_MAX = 180;
		public const uint32 KSDSOUND_3D_MODE_NORMAL = 0;
		public const uint32 KSDSOUND_3D_MODE_HEADRELATIVE = 1;
		public const uint32 KSDSOUND_3D_MODE_DISABLE = 2;
		public const uint32 KSDSOUND_BUFFER_CTRL_HRTF_3D = 1073741824;
		public const uint32 KSAUDIO_QUALITY_WORST = 0;
		public const uint32 KSAUDIO_QUALITY_PC = 1;
		public const uint32 KSAUDIO_QUALITY_BASIC = 2;
		public const uint32 KSAUDIO_QUALITY_ADVANCED = 3;
		public const uint32 KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU = 0;
		public const uint32 KSAUDIO_CPU_RESOURCES_HOST_CPU = 2147483647;
		public const uint32 SPEAKER_FRONT_LEFT = 1;
		public const uint32 SPEAKER_FRONT_RIGHT = 2;
		public const uint32 SPEAKER_FRONT_CENTER = 4;
		public const uint32 SPEAKER_LOW_FREQUENCY = 8;
		public const uint32 SPEAKER_BACK_LEFT = 16;
		public const uint32 SPEAKER_BACK_RIGHT = 32;
		public const uint32 SPEAKER_FRONT_LEFT_OF_CENTER = 64;
		public const uint32 SPEAKER_FRONT_RIGHT_OF_CENTER = 128;
		public const uint32 SPEAKER_BACK_CENTER = 256;
		public const uint32 SPEAKER_SIDE_LEFT = 512;
		public const uint32 SPEAKER_SIDE_RIGHT = 1024;
		public const uint32 SPEAKER_TOP_CENTER = 2048;
		public const uint32 SPEAKER_TOP_FRONT_LEFT = 4096;
		public const uint32 SPEAKER_TOP_FRONT_CENTER = 8192;
		public const uint32 SPEAKER_TOP_FRONT_RIGHT = 16384;
		public const uint32 SPEAKER_TOP_BACK_LEFT = 32768;
		public const uint32 SPEAKER_TOP_BACK_CENTER = 65536;
		public const uint32 SPEAKER_TOP_BACK_RIGHT = 131072;
		public const uint32 SPEAKER_RESERVED = 2147221504;
		public const uint32 SPEAKER_ALL = 2147483648;
		public const uint32 KSAUDIO_SPEAKER_DIRECTOUT = 0;
		public const uint32 KSAUDIO_SPEAKER_MONO = 4;
		public const uint32 KSAUDIO_SPEAKER_GROUND_FRONT_LEFT = 1;
		public const uint32 KSAUDIO_SPEAKER_GROUND_FRONT_CENTER = 4;
		public const uint32 KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT = 2;
		public const uint32 KSAUDIO_SPEAKER_GROUND_REAR_LEFT = 16;
		public const uint32 KSAUDIO_SPEAKER_GROUND_REAR_RIGHT = 32;
		public const uint32 KSAUDIO_SPEAKER_TOP_MIDDLE = 2048;
		public const uint32 KSAUDIO_SPEAKER_SUPER_WOOFER = 8;
		public const uint32 KSNODEPIN_STANDARD_IN = 1;
		public const uint32 KSNODEPIN_STANDARD_OUT = 0;
		public const uint32 KSNODEPIN_SUM_MUX_IN = 1;
		public const uint32 KSNODEPIN_SUM_MUX_OUT = 0;
		public const uint32 KSNODEPIN_DEMUX_IN = 0;
		public const uint32 KSNODEPIN_DEMUX_OUT = 1;
		public const uint32 KSNODEPIN_AEC_RENDER_IN = 1;
		public const uint32 KSNODEPIN_AEC_RENDER_OUT = 0;
		public const uint32 KSNODEPIN_AEC_CAPTURE_IN = 2;
		public const uint32 KSNODEPIN_AEC_CAPTURE_OUT = 3;
		public const uint32 AEC_STATUS_FD_HISTORY_UNINITIALIZED = 0;
		public const uint32 AEC_STATUS_FD_HISTORY_CONTINUOUSLY_CONVERGED = 1;
		public const uint32 AEC_STATUS_FD_HISTORY_PREVIOUSLY_DIVERGED = 2;
		public const uint32 AEC_STATUS_FD_CURRENTLY_CONVERGED = 8;
		public const uint32 AEC_MODE_PASS_THROUGH = 0;
		public const uint32 AEC_MODE_HALF_DUPLEX = 1;
		public const uint32 AEC_MODE_FULL_DUPLEX = 2;
		public const uint32 KSPROPERTY_WAVE_QUEUED_POSITION = 1;
		public const uint32 KSMETHOD_WAVE_QUEUED_BREAKLOOP = 1;
		public const uint32 KSWAVE_COMPATCAPS_INPUT = 0;
		public const uint32 KSWAVE_COMPATCAPS_OUTPUT = 1;
		public const uint32 KSWAVE_BUFFER_ATTRIBUTEF_LOOPING = 1;
		public const uint32 KSWAVE_BUFFER_ATTRIBUTEF_STATIC = 2;
		public const uint32 SYSAUDIO_FLAGS_DONT_COMBINE_PINS = 1;
		public const uint32 SYSAUDIO_FLAGS_CLEAR_PREFERRED = 2;
		public const uint32 KSMPEGVIDMODE_PANSCAN = 1;
		public const uint32 KSMPEGVIDMODE_LTRBOX = 2;
		public const uint32 KSMPEGVIDMODE_SCALE = 4;
		public const uint32 KSAC3_ALTERNATE_AUDIO_1 = 1;
		public const uint32 KSAC3_ALTERNATE_AUDIO_2 = 2;
		public const uint32 KSAC3_ALTERNATE_AUDIO_BOTH = 3;
		public const uint32 KSAC3_SERVICE_MAIN_AUDIO = 0;
		public const uint32 KSAC3_SERVICE_NO_DIALOG = 1;
		public const uint32 KSAC3_SERVICE_VISUALLY_IMPAIRED = 2;
		public const uint32 KSAC3_SERVICE_HEARING_IMPAIRED = 3;
		public const uint32 KSAC3_SERVICE_DIALOG_ONLY = 4;
		public const uint32 KSAC3_SERVICE_COMMENTARY = 5;
		public const uint32 KSAC3_SERVICE_EMERGENCY_FLASH = 6;
		public const uint32 KSAC3_SERVICE_VOICE_OVER = 7;
		public const uint32 KSAUDDECOUTMODE_STEREO_ANALOG = 1;
		public const uint32 KSAUDDECOUTMODE_PCM_51 = 2;
		public const uint32 KSAUDDECOUTMODE_SPDIFF = 4;
		public const uint32 KS_DVD_CGMS_RESERVED_MASK = 120;
		public const uint32 KS_DVD_CGMS_COPY_PROTECT_MASK = 24;
		public const uint32 KS_DVD_CGMS_COPY_PERMITTED = 0;
		public const uint32 KS_DVD_CGMS_COPY_ONCE = 16;
		public const uint32 KS_DVD_CGMS_NO_COPY = 24;
		public const uint32 KS_DVD_COPYRIGHT_MASK = 64;
		public const uint32 KS_DVD_NOT_COPYRIGHTED = 0;
		public const uint32 KS_DVD_COPYRIGHTED = 64;
		public const uint32 KS_DVD_SECTOR_PROTECT_MASK = 32;
		public const uint32 KS_DVD_SECTOR_NOT_PROTECTED = 0;
		public const uint32 KS_DVD_SECTOR_PROTECTED = 32;
		public const int32 KS_BI_RGB = 0;
		public const int32 KS_BI_RLE8 = 1;
		public const int32 KS_BI_RLE4 = 2;
		public const int32 KS_BI_BITFIELDS = 3;
		public const int32 KS_BI_JPEG = 4;
		public const uint32 KS_iPALETTE_COLORS = 256;
		public const uint32 KS_iEGA_COLORS = 16;
		public const uint32 KS_iMASK_COLORS = 3;
		public const uint32 KS_iTRUECOLOR = 16;
		public const uint32 KS_iRED = 0;
		public const uint32 KS_iGREEN = 1;
		public const uint32 KS_iBLUE = 2;
		public const uint32 KS_iPALETTE = 8;
		public const uint32 KS_iMAXBITS = 8;
		public const int32 KS_VBIDATARATE_NABTS = 5727272;
		public const int32 KS_VBIDATARATE_CC = 503493;
		public const int32 KS_TVTUNER_CHANGE_BEGIN_TUNE = 1;
		public const int32 KS_TVTUNER_CHANGE_END_TUNE = 2;
		public const uint32 KS_INTERLACE_IsInterlaced = 1;
		public const uint32 KS_INTERLACE_1FieldPerSample = 2;
		public const uint32 KS_INTERLACE_Field1First = 4;
		public const uint32 KS_INTERLACE_UNUSED = 8;
		public const uint32 KS_INTERLACE_FieldPatternMask = 48;
		public const uint32 KS_INTERLACE_FieldPatField1Only = 0;
		public const uint32 KS_INTERLACE_FieldPatField2Only = 16;
		public const uint32 KS_INTERLACE_FieldPatBothRegular = 32;
		public const uint32 KS_INTERLACE_FieldPatBothIrregular = 48;
		public const uint32 KS_INTERLACE_DisplayModeMask = 192;
		public const uint32 KS_INTERLACE_DisplayModeBobOnly = 0;
		public const uint32 KS_INTERLACE_DisplayModeWeaveOnly = 64;
		public const uint32 KS_INTERLACE_DisplayModeBobOrWeave = 128;
		public const uint32 KS_COPYPROTECT_RestrictDuplication = 1;
		public const uint32 KS_MPEG2_DoPanScan = 1;
		public const uint32 KS_MPEG2_DVDLine21Field1 = 2;
		public const uint32 KS_MPEG2_DVDLine21Field2 = 4;
		public const uint32 KS_MPEG2_SourceIsLetterboxed = 8;
		public const uint32 KS_MPEG2_FilmCameraMode = 16;
		public const uint32 KS_MPEG2_LetterboxAnalogOut = 32;
		public const uint32 KS_MPEG2_DSS_UserData = 64;
		public const uint32 KS_MPEG2_DVB_UserData = 128;
		public const uint32 KS_MPEG2_27MhzTimebase = 256;
		public const uint32 KS_MPEG2_WidescreenAnalogOut = 512;
		public const uint32 KS_AMCONTROL_USED = 1;
		public const uint32 KS_AMCONTROL_PAD_TO_4x3 = 2;
		public const uint32 KS_AMCONTROL_PAD_TO_16x9 = 4;
		public const uint32 KS_AMCONTROL_COLORINFO_PRESENT = 128;
		public const uint32 KS_MAX_SIZE_MPEG1_SEQUENCE_INFO = 140;
		public const uint32 KS_MPEGAUDIOINFO_27MhzTimebase = 1;
		public const uint32 KS_VIDEOSTREAM_PREVIEW = 1;
		public const uint32 KS_VIDEOSTREAM_CAPTURE = 2;
		public const uint32 KS_VIDEOSTREAM_VBI = 16;
		public const uint32 KS_VIDEOSTREAM_NABTS = 32;
		public const uint32 KS_VIDEOSTREAM_CC = 256;
		public const uint32 KS_VIDEOSTREAM_EDS = 512;
		public const uint32 KS_VIDEOSTREAM_TELETEXT = 1024;
		public const uint32 KS_VIDEOSTREAM_STILL = 4096;
		public const uint32 KS_VIDEOSTREAM_IS_VPE = 32768;
		public const uint32 KS_VIDEO_ALLOC_VPE_SYSTEM = 1;
		public const uint32 KS_VIDEO_ALLOC_VPE_DISPLAY = 2;
		public const uint32 KS_VIDEO_ALLOC_VPE_AGP = 4;
		public const int32 KS_VBICAP_PROTECTION_MV_PRESENT = 1;
		public const int32 KS_VBICAP_PROTECTION_MV_HARDWARE = 2;
		public const int32 KS_VBICAP_PROTECTION_MV_DETECTED = 4;
		public const uint32 KS_NABTS_GROUPID_ORIGINAL_CONTENT_BASE = 2048;
		public const uint32 KS_NABTS_GROUPID_ORIGINAL_CONTENT_ADVERTISER_BASE = 2064;
		public const uint32 KS_NABTS_GROUPID_PRODUCTION_COMPANY_CONTENT_BASE = 2080;
		public const uint32 KS_NABTS_GROUPID_PRODUCTION_COMPANY_ADVERTISER_BASE = 2096;
		public const uint32 KS_NABTS_GROUPID_SYNDICATED_SHOW_CONTENT_BASE = 2112;
		public const uint32 KS_NABTS_GROUPID_SYNDICATED_SHOW_ADVERTISER_BASE = 2128;
		public const uint32 KS_NABTS_GROUPID_NETWORK_WIDE_CONTENT_BASE = 2144;
		public const uint32 KS_NABTS_GROUPID_NETWORK_WIDE_ADVERTISER_BASE = 2160;
		public const uint32 KS_NABTS_GROUPID_TELEVISION_STATION_CONTENT_BASE = 2176;
		public const uint32 KS_NABTS_GROUPID_TELEVISION_STATION_ADVERTISER_BASE = 2192;
		public const uint32 KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_CONTENT_BASE = 2208;
		public const uint32 KS_NABTS_GROUPID_LOCAL_CABLE_SYSTEM_ADVERTISER_BASE = 2224;
		public const uint32 KS_NABTS_GROUPID_MICROSOFT_RESERVED_TEST_DATA_BASE = 2288;
		public const uint32 MAX_NABTS_VBI_LINES_PER_FIELD = 11;
		public const uint32 NABTS_LINES_PER_BUNDLE = 16;
		public const uint32 NABTS_PAYLOAD_PER_LINE = 28;
		public const uint32 NABTS_BYTES_PER_LINE = 36;
		public const int32 KS_CC_SUBSTREAM_ODD = 1;
		public const int32 KS_CC_SUBSTREAM_EVEN = 2;
		public const int32 KS_CC_SUBSTREAM_FIELD1_MASK = 240;
		public const int32 KS_CC_SUBSTREAM_SERVICE_CC1 = 16;
		public const int32 KS_CC_SUBSTREAM_SERVICE_CC2 = 32;
		public const int32 KS_CC_SUBSTREAM_SERVICE_T1 = 64;
		public const int32 KS_CC_SUBSTREAM_SERVICE_T2 = 128;
		public const int32 KS_CC_SUBSTREAM_FIELD2_MASK = 7936;
		public const int32 KS_CC_SUBSTREAM_SERVICE_CC3 = 256;
		public const int32 KS_CC_SUBSTREAM_SERVICE_CC4 = 512;
		public const int32 KS_CC_SUBSTREAM_SERVICE_T3 = 1024;
		public const int32 KS_CC_SUBSTREAM_SERVICE_T4 = 2048;
		public const int32 KS_CC_SUBSTREAM_SERVICE_XDS = 4096;
		public const uint32 CC_MAX_HW_DECODE_LINES = 12;
		public const uint32 NABTS_BUFFER_PICTURENUMBER_SUPPORT = 1;
		public const int32 WST_TVTUNER_CHANGE_BEGIN_TUNE = 4096;
		public const int32 WST_TVTUNER_CHANGE_END_TUNE = 8192;
		public const uint32 MAX_WST_VBI_LINES_PER_FIELD = 17;
		public const uint32 WST_BYTES_PER_LINE = 42;
		public const int32 KS_VIDEO_FLAG_FIELD_MASK = 3;
		public const int32 KS_VIDEO_FLAG_FRAME = 0;
		public const int32 KS_VIDEO_FLAG_FIELD1 = 1;
		public const int32 KS_VIDEO_FLAG_FIELD2 = 2;
		public const int32 KS_VIDEO_FLAG_FIELD1FIRST = 4;
		public const int32 KS_VIDEO_FLAG_WEAVE = 8;
		public const int32 KS_VIDEO_FLAG_IPB_MASK = 48;
		public const int32 KS_VIDEO_FLAG_I_FRAME = 0;
		public const int32 KS_VIDEO_FLAG_P_FRAME = 16;
		public const int32 KS_VIDEO_FLAG_B_FRAME = 32;
		public const int32 KS_VIDEO_FLAG_REPEAT_FIELD = 64;
		public const int32 KS_VBI_FLAG_FRAME = 0;
		public const int32 KS_VBI_FLAG_FIELD1 = 1;
		public const int32 KS_VBI_FLAG_FIELD2 = 2;
		public const int32 KS_VBI_FLAG_MV_PRESENT = 256;
		public const int32 KS_VBI_FLAG_MV_HARDWARE = 512;
		public const int32 KS_VBI_FLAG_MV_DETECTED = 1024;
		public const int32 KS_VBI_FLAG_TVTUNER_CHANGE = 16;
		public const int32 KS_VBI_FLAG_VBIINFOHEADER_CHANGE = 32;
		public const uint32 KS_AnalogVideo_NTSC_Mask = 7;
		public const uint32 KS_AnalogVideo_PAL_Mask = 1052656;
		public const uint32 KS_AnalogVideo_SECAM_Mask = 1044480;
		public const int32 KSPROPERTY_VIDEOPROCAMP_FLAGS_AUTO = 1;
		public const int32 KSPROPERTY_VIDEOPROCAMP_FLAGS_MANUAL = 2;
		public const int32 KSPROPERTY_CAMERACONTROL_FLAGS_AUTO = 1;
		public const int32 KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL = 2;
		public const int32 KSPROPERTY_CAMERACONTROL_FLAGS_ASYNCHRONOUS = 4;
		public const int32 KSPROPERTY_CAMERACONTROL_FLAGS_ABSOLUTE = 0;
		public const int32 KSPROPERTY_CAMERACONTROL_FLAGS_RELATIVE = 16;
		public const int32 KSPROPERTY_CAMERACONTROL_FLASH_OFF = 0;
		public const int32 KSPROPERTY_CAMERACONTROL_FLASH_ON = 1;
		public const int32 KSPROPERTY_CAMERACONTROL_FLASH_AUTO = 2;
		public const int32 KSPROPERTY_CAMERACONTROL_FLASH_FLAGS_AUTO = 1;
		public const int32 KSPROPERTY_CAMERACONTROL_FLASH_FLAGS_MANUAL = 2;
		public const int32 KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_OFF = 0;
		public const int32 KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_HIGH = 1;
		public const int32 KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_MEDIUM = 2;
		public const int32 KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_LOW = 3;
		public const int32 KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_AUTO = 4;
		public const int32 KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_FLAGS_AUTO = 1;
		public const int32 KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_FLAGS_MANUAL = 2;
		public const int32 KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_AUTO = 1;
		public const int32 KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_MANUAL = 2;
		public const int32 KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_FLAGS_ASYNC = -2147483648;
		public const int32 KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_FOCUS = 256;
		public const int32 KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_EXPOSURE = 512;
		public const int32 KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONFIG_WB = 1024;
		public const int32 KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_CONVERGEMODE = 1073741824;
		public const int32 KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_EXCLUSIVE_WITH_RECORD = 1;
		public const int32 KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_SEQUENCE_EXCLUSIVE_WITH_RECORD = 2;
		public const uint32 KSCAMERA_EXTENDEDPROP_FILTERSCOPE = 4294967295;
		public const uint64 KSCAMERA_EXTENDEDPROP_CAPS_RESERVED = 18374686479671623680uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL = 9223372036854775808uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE = 4611686018427387904uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLAG_CANCELOPERATION = 9223372036854775808uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_CAPS_MASK = 18374686479671623680uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLAG_MASK = 18374686479671623680uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOMODE_NORMAL = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_WARMSTART_MODE_DISABLED = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_WARMSTART_MODE_ENABLED = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_DISABLE = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_2X = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_4X = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_8X = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOTHUMBNAIL_16X = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_AUTO = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_MACRO = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_PORTRAIT = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_SPORT = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_SNOW = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_NIGHT = 16uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_BEACH = 32uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_SUNSET = 64uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_CANDLELIGHT = 128uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_LANDSCAPE = 256uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_NIGHTPORTRAIT = 512uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_BACKLIT = 1024uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SCENEMODE_MANUAL = 36028797018963968uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOTORCH_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON_ADJUSTABLEPOWER = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_ON_ADJUSTABLEPOWER = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_AUTO = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_AUTO_ADJUSTABLEPOWER = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_REDEYEREDUCTION = 16uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_SINGLEFLASH = 32uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_MULTIFLASHSUPPORTED = 64uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER = 16uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS = 256uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO = 65536uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL = 131072uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE = 262144uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY = 524288uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL = 1048576uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_INFINITY = 16777216uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_HYPERFOCAL = 33554432uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_DISTANCE_NEAREST = 67108864uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_AUTO = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_50 = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_80 = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_100 = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_200 = 16uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_400 = 32uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_800 = 64uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_1600 = 128uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_3200 = 256uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_6400 = 512uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_12800 = 1024uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_25600 = 2048uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUSLOCK = 512uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_UNLOCK = 1024uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_DRIVERFALLBACK_OFF = 2048uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUS_REGIONBASED = 4096uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ISO_MANUAL = 36028797018963968uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_ON = 128uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FLASH_ASSISTANT_AUTO = 256uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_EVCOMP_SIXTHSTEP = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_EVCOMP_QUARTERSTEP = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_EVCOMP_THIRDSTEP = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_EVCOMP_HALFSTEP = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_EVCOMP_FULLSTEP = 16uL;
		public const uint32 KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE_SUB_NONE = 0;
		public const uint32 KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE_SUB_VARIABLE = 1;
		public const uint64 KSCAMERA_EXTENDEDPROP_METADATA_MEMORYTYPE_MASK = 255uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_METADATA_SYSTEMMEMORY = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_METADATA_ALIGNMENTREQUIRED = 256uL;
		public const uint32 KSCAMERA_METADATA_FRAMEILLUMINATION_FLAG_ON = 1;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_EXPOSURETIME = 1;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_EXPOSURECOMPENSATION = 2;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_ISOSPEED = 4;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_FOCUSSTATE = 8;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_LENSPOSITION = 16;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_WHITEBALANCE = 32;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_FLASH = 64;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_FLASHPOWER = 128;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_ZOOMFACTOR = 256;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_SCENEMODE = 512;
		public const uint32 KSCAMERA_METADATA_CAPTURESTATS_FLAG_SENSORFRAMERATE = 1024;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUSPRIORITY_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FOCUSPRIORITY_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOCONFIRMATION_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_PHOTOCONFIRMATION_ON = 1uL;
		public const uint64 KSCAMERA_PERFRAMESETTING_AUTO = 4294967296uL;
		public const uint64 KSCAMERA_PERFRAMESETTING_MANUAL = 8589934592uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VFR_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VFR_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEDETECTION_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEDETECTION_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEDETECTION_PREVIEW = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEDETECTION_VIDEO = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEDETECTION_PHOTO = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEDETECTION_BLINK = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEDETECTION_SMILE = 16uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOHDR_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOHDR_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOHDR_AUTO = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_HISTOGRAM_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_HISTOGRAM_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OIS_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OIS_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_OIS_AUTO = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_AUTO = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_HDR = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_FNF = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ADVANCEDPHOTO_ULTRALOWLIGHT = 8uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ZOOM_DIRECT = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_ZOOM_SMOOTH = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SECUREMODE_DISABLED = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_SECUREMODE_ENABLED = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_AUTO = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_OFF = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_VIDEOTEMPORALDENOISING_ON = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_IRTORCHMODE_OFF = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALWAYS_ON = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALTERNATING_FRAME_ILLUMINATION = 4uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR = 1uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK = 2uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL = 0uL;
		public const uint64 KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING = 1uL;
		public const uint64 KSCAMERAPROFILE_FLAGS_VIDEOSTABLIZATION = 1uL;
		public const uint64 KSCAMERAPROFILE_FLAGS_VIDEOHDR = 2uL;
		public const uint64 KSCAMERAPROFILE_FLAGS_PHOTOHDR = 4uL;
		public const uint64 KSCAMERAPROFILE_FLAGS_FACEDETECTION = 8uL;
		public const uint64 KSCAMERAPROFILE_FLAGS_VARIABLEPHOTOSEQUENCE = 16uL;
		public const uint64 KSCAMERAPROFILE_FLAGS_PREVIEW_RES_MUSTMATCH = 32uL;
		public const uint32 KSDEVICE_PROFILE_TYPE_UNKNOWN = 0;
		public const uint32 KSDEVICE_PROFILE_TYPE_CAMERA = 1;
		public const uint32 KSCameraProfileSensorType_RGB = 1;
		public const uint32 KSCameraProfileSensorType_Infrared = 2;
		public const uint32 KSCameraProfileSensorType_Depth = 4;
		public const uint32 KSCameraProfileSensorType_PoseTracking = 8;
		public const uint32 KSCameraProfileSensorType_ImageSegmentation = 16;
		public const uint32 KSCameraProfileSensorType_Custom = 128;
		public const uint32 KS_TVAUDIO_MODE_MONO = 1;
		public const uint32 KS_TVAUDIO_MODE_STEREO = 2;
		public const uint32 KS_TVAUDIO_MODE_LANG_A = 16;
		public const uint32 KS_TVAUDIO_MODE_LANG_B = 32;
		public const uint32 KS_TVAUDIO_MODE_LANG_C = 64;
		public const uint32 KS_TVAUDIO_PRESET_STEREO = 512;
		public const uint32 KS_TVAUDIO_PRESET_LANG_A = 4096;
		public const uint32 KS_TVAUDIO_PRESET_LANG_B = 8192;
		public const uint32 KS_TVAUDIO_PRESET_LANG_C = 16384;
		public const int32 KS_AM_UseNewCSSKey = 1;
		public const uint32 MAX_SINK_DESCRIPTION_NAME_LENGTH = 32;
		public const uint32 JACKDESC2_PRESENCE_DETECT_CAPABILITY = 1;
		public const uint32 JACKDESC2_DYNAMIC_FORMAT_CHANGE_CAPABILITY = 2;
		public const uint32 KSPROPERTY_AUDIO_BUFFER_DURATION = 1;
		public const uint32 MAX_RESOURCEGROUPID_LENGTH = 256;
		public const uint32 AUDIOMODULE_MAX_DATA_SIZE = 64000;
		public const uint32 AUDIOMODULE_MAX_NAME_CCH_SIZE = 128;
		public const uint32 AllocatorStrategy_DontCare = 0;
		public const uint32 AllocatorStrategy_MinimizeNumberOfFrames = 1;
		public const uint32 AllocatorStrategy_MinimizeFrameSize = 2;
		public const uint32 AllocatorStrategy_MinimizeNumberOfAllocators = 4;
		public const uint32 AllocatorStrategy_MaximizeSpeed = 8;
		public const uint32 PipeFactor_None = 0;
		public const uint32 PipeFactor_UserModeUpstream = 1;
		public const uint32 PipeFactor_UserModeDownstream = 2;
		public const uint32 PipeFactor_MemoryTypes = 4;
		public const uint32 PipeFactor_Flags = 8;
		public const uint32 PipeFactor_PhysicalRanges = 16;
		public const uint32 PipeFactor_OptimalRanges = 32;
		public const uint32 PipeFactor_FixedCompression = 64;
		public const uint32 PipeFactor_UnknownCompression = 128;
		public const uint32 PipeFactor_Buffers = 256;
		public const uint32 PipeFactor_Align = 512;
		public const uint32 PipeFactor_PhysicalEnd = 1024;
		public const uint32 PipeFactor_LogicalEnd = 2048;
		public const int32 KSPROPERTY_MEMORY_TRANSPORT = 1;
		
		// --- Enums ---
		
		public enum KSRESET : int32
		{
			BEGIN = 0,
			END = 1,
		}
		public enum KSSTATE : int32
		{
			STOP = 0,
			ACQUIRE = 1,
			PAUSE = 2,
			RUN = 3,
		}
		public enum KSPROPERTY_GENERAL : int32
		{
			GENERAL_COMPONENTID = 0,
		}
		public enum KSMETHOD_STREAMIO : int32
		{
			READ = 0,
			WRITE = 1,
		}
		public enum KSPROPERTY_MEDIASEEKING : int32
		{
			CAPABILITIES = 0,
			FORMATS = 1,
			TIMEFORMAT = 2,
			POSITION = 3,
			STOPPOSITION = 4,
			POSITIONS = 5,
			DURATION = 6,
			AVAILABLE = 7,
			PREROLL = 8,
			CONVERTTIMEFORMAT = 9,
		}
		[AllowDuplicates]
		public enum KS_SEEKING_FLAGS : int32
		{
			NoPositioning = 0,
			AbsolutePositioning = 1,
			RelativePositioning = 2,
			IncrementalPositioning = 3,
			PositioningBitsMask = 3,
			SeekToKeyFrame = 4,
			ReturnTime = 8,
		}
		public enum KS_SEEKING_CAPABILITIES : int32
		{
			SeekAbsolute = 1,
			SeekForwards = 2,
			SeekBackwards = 4,
			GetCurrentPos = 8,
			GetStopPos = 16,
			GetDuration = 32,
			PlayBackwards = 64,
		}
		public enum KSPROPERTY_TOPOLOGY : int32
		{
			CATEGORIES = 0,
			NODES = 1,
			CONNECTIONS = 2,
			NAME = 3,
		}
		public enum KSINTERFACE_STANDARD : int32
		{
			STREAMING = 0,
			LOOPED_STREAMING = 1,
			CONTROL = 2,
		}
		public enum KSINTERFACE_FILEIO : int32
		{
			FILEIO_STREAMING = 0,
		}
		public enum KSPROPERTY_PIN : int32
		{
			CINSTANCES = 0,
			CTYPES = 1,
			DATAFLOW = 2,
			DATARANGES = 3,
			DATAINTERSECTION = 4,
			INTERFACES = 5,
			MEDIUMS = 6,
			COMMUNICATION = 7,
			GLOBALCINSTANCES = 8,
			NECESSARYINSTANCES = 9,
			PHYSICALCONNECTION = 10,
			CATEGORY = 11,
			NAME = 12,
			CONSTRAINEDDATARANGES = 13,
			PROPOSEDATAFORMAT = 14,
			PROPOSEDATAFORMAT2 = 15,
			MODEDATAFORMATS = 16,
		}
		public enum KSPIN_DATAFLOW : int32
		{
			IN = 1,
			OUT = 2,
		}
		public enum KSPIN_COMMUNICATION : int32
		{
			NONE = 0,
			SINK = 1,
			SOURCE = 2,
			BOTH = 3,
			BRIDGE = 4,
		}
		public enum KSEVENT_PINCAPS_CHANGENOTIFICATIONS : int32
		{
			FORMATCHANGE = 0,
			JACKINFOCHANGE = 1,
		}
		public enum KSEVENT_VOLUMELIMIT : int32
		{
			VOLUMELIMIT_CHANGED = 0,
		}
		public enum KSPROPERTY_QUALITY : int32
		{
			REPORT = 0,
			ERROR = 1,
		}
		public enum KSPROPERTY_CONNECTION : int32
		{
			STATE = 0,
			PRIORITY = 1,
			DATAFORMAT = 2,
			ALLOCATORFRAMING = 3,
			PROPOSEDATAFORMAT = 4,
			ACQUIREORDERING = 5,
			ALLOCATORFRAMING_EX = 6,
			STARTAT = 7,
		}
		public enum KSEVENT_STREAMALLOCATOR : int32
		{
			INTERNAL_FREEFRAME = 0,
			FREEFRAME = 1,
		}
		public enum KSMETHOD_STREAMALLOCATOR : int32
		{
			ALLOC = 0,
			FREE = 1,
		}
		public enum KSPIN_MDL_CACHING_EVENT : int32
		{
			CLEANUP = 0,
			CLEANALL_WAIT = 1,
			CLEANALL_NOWAIT = 2,
			ADDSAMPLE = 3,
		}
		public enum KSPROPERTY_STREAMINTERFACE : int32
		{
			STREAMINTERFACE_HEADERSIZE = 0,
		}
		public enum KSPROPERTY_STREAM : int32
		{
			ALLOCATOR = 0,
			QUALITY = 1,
			DEGRADATION = 2,
			MASTERCLOCK = 3,
			TIMEFORMAT = 4,
			PRESENTATIONTIME = 5,
			PRESENTATIONEXTENT = 6,
			FRAMETIME = 7,
			RATECAPABILITY = 8,
			RATE = 9,
			PIPE_ID = 10,
		}
		public enum KSPPROPERTY_ALLOCATOR_MDLCACHING : int32
		{
			KSPROPERTY_ALLOCATOR_CLEANUP_CACHEDMDLPAGES = 1,
		}
		public enum KSPROPERTY_CLOCK : int32
		{
			TIME = 0,
			PHYSICALTIME = 1,
			CORRELATEDTIME = 2,
			CORRELATEDPHYSICALTIME = 3,
			RESOLUTION = 4,
			STATE = 5,
		}
		public enum KSEVENT_CLOCK_POSITION : int32
		{
			INTERVAL_MARK = 0,
			POSITION_MARK = 1,
		}
		public enum KSEVENT_CONNECTION : int32
		{
			POSITIONUPDATE = 0,
			DATADISCONTINUITY = 1,
			TIMEDISCONTINUITY = 2,
			PRIORITY = 3,
			ENDOFSTREAM = 4,
		}
		public enum KSDEVICE_THERMAL_STATE : int32
		{
			LOW = 0,
			HIGH = 1,
		}
		public enum KSEVENT_DEVICE : int32
		{
			LOST = 0,
			PREEMPTED = 1,
			THERMAL_HIGH = 2,
			THERMAL_LOW = 3,
		}
		public enum KSDEGRADE_STANDARD : int32
		{
			SAMPLE = 0,
			QUALITY = 1,
			COMPUTATION = 2,
			SKIP = 3,
		}
		public enum KSINTERFACE_MEDIA : int32
		{
			MUSIC = 0,
			WAVE_BUFFERED = 1,
			WAVE_QUEUED = 2,
		}
		public enum CONSTRICTOR_OPTION : int32
		{
			DISABLE = 0,
			MUTE = 1,
		}
		public enum KSMICARRAY_MICTYPE : int32
		{
			OMNIDIRECTIONAL = 0,
			SUBCARDIOID = 1,
			CARDIOID = 2,
			SUPERCARDIOID = 3,
			HYPERCARDIOID = 4,
			_8SHAPED = 5,
			VENDORDEFINED = 15,
		}
		public enum KSMICARRAY_MICARRAYTYPE : int32
		{
			LINEAR = 0,
			PLANAR = 1,
			_3D = 2,
		}
		public enum KSPROPERTY_DIRECTSOUND3DLISTENER : int32
		{
			ALL = 0,
			POSITION = 1,
			VELOCITY = 2,
			ORIENTATION = 3,
			DISTANCEFACTOR = 4,
			ROLLOFFFACTOR = 5,
			DOPPLERFACTOR = 6,
			BATCH = 7,
			ALLOCATION = 8,
		}
		public enum KSPROPERTY_DIRECTSOUND3DBUFFER : int32
		{
			ALL = 0,
			POSITION = 1,
			VELOCITY = 2,
			CONEANGLES = 3,
			CONEORIENTATION = 4,
			CONEOUTSIDEVOLUME = 5,
			MINDISTANCE = 6,
			MAXDISTANCE = 7,
			MODE = 8,
		}
		public enum KSDS3D_HRTF_FILTER_QUALITY : int32
		{
			FULL_FILTER = 0,
			LIGHT_FILTER = 1,
			KSDS3D_FILTER_QUALITY_COUNT = 2,
		}
		public enum KSDS3D_HRTF_COEFF_FORMAT : int32
		{
			FLOAT_COEFF = 0,
			SHORT_COEFF = 1,
			KSDS3D_COEFF_COUNT = 2,
		}
		public enum KSDS3D_HRTF_FILTER_METHOD : int32
		{
			DIRECT_FORM = 0,
			CASCADE_FORM = 1,
			KSDS3D_FILTER_METHOD_COUNT = 2,
		}
		public enum KSDS3D_HRTF_FILTER_VERSION : int32
		{
			DS3D_HRTF_VERSION_1 = 0,
		}
		public enum KSPROPERTY_HRTF3D : int32
		{
			PARAMS = 0,
			INITIALIZE = 1,
			FILTER_FORMAT = 2,
		}
		public enum KSPROPERTY_ITD3D : int32
		{
			ITD3D_PARAMS = 0,
		}
		public enum KSPROPERTY_BIBLIOGRAPHIC : int32
		{
			LEADER = 1380207648,
			LCCN = 808529952,
			ISBN = 808595488,
			ISSN = 842149920,
			CATALOGINGSOURCE = 808726560,
			MAINPERSONALNAME = 808464672,
			MAINCORPORATEBODY = 808530208,
			MAINMEETINGNAME = 825307424,
			MAINUNIFORMTITLE = 808661280,
			UNIFORMTITLE = 808727072,
			TITLESTATEMENT = 892613152,
			VARYINGFORMTITLE = 909390368,
			PUBLICATION = 808858144,
			PHYSICALDESCRIPTION = 808465184,
			ADDEDENTRYTITLE = 808727584,
			SERIESSTATEMENT = 809055264,
			GENERALNOTE = 808465696,
			BIBLIOGRAPHYNOTE = 875574560,
			CONTENTSNOTE = 892351776,
			CREATIONCREDIT = 942683424,
			CITATION = 808531232,
			PARTICIPANT = 825308448,
			SUMMARY = 808596768,
			TARGETAUDIENCE = 825373984,
			ADDEDFORMAVAILABLE = 808662304,
			SYSTEMDETAILS = 942880032,
			AWARDS = 909653280,
			ADDEDENTRYPERSONALNAME = 808465952,
			ADDEDENTRYTOPICALTERM = 808793632,
			ADDEDENTRYGEOGRAPHIC = 825570848,
			INDEXTERMGENRE = 892679712,
			INDEXTERMCURRICULUM = 943011360,
			ADDEDENTRYUNIFORMTITLE = 808662816,
			ADDEDENTRYRELATED = 808728352,
			SERIESSTATEMENTPERSONALNAME = 808466464,
			SERIESSTATEMENTUNIFORMTITLE = 808663072,
		}
		public enum KSPROPERTY_TOPOLOGYNODE : int32
		{
			ENABLE = 1,
			RESET = 2,
		}
		public enum KSPROPERTY_RTAUDIO : int32
		{
			GETPOSITIONFUNCTION = 0,
			BUFFER = 1,
			HWLATENCY = 2,
			POSITIONREGISTER = 3,
			CLOCKREGISTER = 4,
			BUFFER_WITH_NOTIFICATION = 5,
			REGISTER_NOTIFICATION_EVENT = 6,
			UNREGISTER_NOTIFICATION_EVENT = 7,
			QUERY_NOTIFICATION_SUPPORT = 8,
			PACKETCOUNT = 9,
			PRESENTATION_POSITION = 10,
			GETREADPACKET = 11,
			SETWRITEPACKET = 12,
			PACKETVREGISTER = 13,
		}
		public enum KSPROPERTY_BTAUDIO : int32
		{
			RECONNECT = 0,
			DISCONNECT = 1,
		}
		public enum KSPROPERTY_DRMAUDIOSTREAM : int32
		{
			DRMAUDIOSTREAM_CONTENTID = 0,
		}
		public enum KSPROPERTY_INTERLEAVEDAUDIO : int32
		{
			INTERLEAVEDAUDIO_FORMATINFORMATION = 1,
		}
		public enum KSPROPERTY_SOUNDDETECTOR : int32
		{
			SUPPORTEDPATTERNS = 1,
			PATTERNS = 2,
			ARMED = 3,
			MATCHRESULT = 4,
			RESET = 5,
			STREAMINGSUPPORT = 6,
		}
		public enum KSEVENT_SOUNDDETECTOR : int32
		{
			SOUNDDETECTOR_MATCHDETECTED = 1,
		}
		public enum KSPROPERTY_AUDIO : int32
		{
			LATENCY = 1,
			COPY_PROTECTION = 2,
			CHANNEL_CONFIG = 3,
			VOLUMELEVEL = 4,
			POSITION = 5,
			DYNAMIC_RANGE = 6,
			QUALITY = 7,
			SAMPLING_RATE = 8,
			DYNAMIC_SAMPLING_RATE = 9,
			MIX_LEVEL_TABLE = 10,
			MIX_LEVEL_CAPS = 11,
			MUX_SOURCE = 12,
			MUTE = 13,
			BASS = 14,
			MID = 15,
			TREBLE = 16,
			BASS_BOOST = 17,
			EQ_LEVEL = 18,
			NUM_EQ_BANDS = 19,
			EQ_BANDS = 20,
			AGC = 21,
			DELAY = 22,
			LOUDNESS = 23,
			WIDE_MODE = 24,
			WIDENESS = 25,
			REVERB_LEVEL = 26,
			CHORUS_LEVEL = 27,
			DEV_SPECIFIC = 28,
			DEMUX_DEST = 29,
			STEREO_ENHANCE = 30,
			MANUFACTURE_GUID = 31,
			PRODUCT_GUID = 32,
			CPU_RESOURCES = 33,
			STEREO_SPEAKER_GEOMETRY = 34,
			SURROUND_ENCODE = 35,
			_3D_INTERFACE = 36,
			PEAKMETER = 37,
			ALGORITHM_INSTANCE = 38,
			FILTER_STATE = 39,
			PREFERRED_STATUS = 40,
			PEQ_MAX_BANDS = 41,
			PEQ_NUM_BANDS = 42,
			PEQ_BAND_CENTER_FREQ = 43,
			PEQ_BAND_Q_FACTOR = 44,
			PEQ_BAND_LEVEL = 45,
			CHORUS_MODULATION_RATE = 46,
			CHORUS_MODULATION_DEPTH = 47,
			REVERB_TIME = 48,
			REVERB_DELAY_FEEDBACK = 49,
			POSITIONEX = 50,
			MIC_ARRAY_GEOMETRY = 51,
			PRESENTATION_POSITION = 52,
			WAVERT_CURRENT_WRITE_POSITION = 53,
			LINEAR_BUFFER_POSITION = 54,
			PEAKMETER2 = 55,
			WAVERT_CURRENT_WRITE_LASTBUFFER_POSITION = 56,
			VOLUMELIMIT_ENGAGED = 57,
			MIC_SENSITIVITY = 58,
			MIC_SNR = 59,
			MIC_SENSITIVITY2 = 60,
		}
		public enum KSPROPERTY_TELEPHONY_CONTROL : int32
		{
			PROVIDERID = 0,
			CALLINFO = 1,
			CALLCONTROL = 2,
			PROVIDERCHANGE = 3,
			CALLHOLD = 4,
			MUTE_TX = 5,
		}
		public enum TELEPHONY_CALLTYPE : int32
		{
			CIRCUITSWITCHED = 0,
			PACKETSWITCHED_LTE = 1,
			PACKETSWITCHED_WLAN = 2,
		}
		public enum TELEPHONY_CALLCONTROLOP : int32
		{
			DISABLE = 0,
			ENABLE = 1,
		}
		public enum TELEPHONY_PROVIDERCHANGEOP : int32
		{
			END = 0,
			BEGIN = 1,
			CANCEL = 2,
		}
		public enum TELEPHONY_CALLSTATE : int32
		{
			DISABLED = 0,
			ENABLED = 1,
			HOLD = 2,
			PROVIDERTRANSITION = 3,
		}
		public enum KSPROPERTY_TELEPHONY_TOPOLOGY : int32
		{
			ENDPOINTIDPAIR = 0,
			VOLUME = 1,
		}
		public enum KSPROPERTY_FMRX_TOPOLOGY : int32
		{
			ENDPOINTID = 0,
			VOLUME = 1,
			ANTENNAENDPOINTID = 2,
		}
		public enum KSPROPERTY_FMRX_CONTROL : int32
		{
			STATE = 0,
		}
		public enum KSEVENT_TELEPHONY : int32
		{
			TELEPHONY_ENDPOINTPAIRS_CHANGED = 0,
		}
		public enum KSMETHOD_WAVETABLE : int32
		{
			ALLOC = 0,
			FREE = 1,
			FIND = 2,
			WRITE = 3,
		}
		public enum KSPROPERTY_WAVE : int32
		{
			COMPATIBLE_CAPABILITIES = 0,
			INPUT_CAPABILITIES = 1,
			OUTPUT_CAPABILITIES = 2,
			BUFFER = 3,
			FREQUENCY = 4,
			VOLUME = 5,
			PAN = 6,
		}
		public enum KSPROPERTY_CYCLIC : int32
		{
			CYCLIC_POSITION = 0,
		}
		public enum KSEVENT_AUDIO_CONTROL_CHANGE : int32
		{
			CONTROL_CHANGE = 0,
		}
		public enum KSEVENT_LOOPEDSTREAMING : int32
		{
			LOOPEDSTREAMING_POSITION = 0,
		}
		public enum KSPROPERTY_MPEG2VID : int32
		{
			MODES = 0,
			CUR_MODE = 1,
			_4_3_RECT = 2,
			_16_9_RECT = 3,
			_16_9_PANSCAN = 4,
		}
		public enum KSPROPERTY_AC3 : int32
		{
			ERROR_CONCEALMENT = 1,
			ALTERNATE_AUDIO = 2,
			DOWNMIX = 3,
			BIT_STREAM_MODE = 4,
			DIALOGUE_LEVEL = 5,
			LANGUAGE_CODE = 6,
			ROOM_TYPE = 7,
		}
		public enum KSPROPERTY_AUDDECOUT : int32
		{
			MODES = 0,
			CUR_MODE = 1,
		}
		public enum KSPROPERTY_DVDSUBPIC : int32
		{
			PALETTE = 0,
			HLI = 1,
			COMPOSIT_ON = 2,
		}
		public enum KSPROPERTY_COPYPROT : int32
		{
			DVDCOPY_CHLG_KEY = 1,
			DVDCOPY_DVD_KEY1 = 2,
			DVDCOPY_DEC_KEY2 = 3,
			DVDCOPY_TITLE_KEY = 4,
			COPY_MACROVISION = 5,
			DVDCOPY_REGION = 6,
			DVDCOPY_SET_COPY_STATE = 7,
			DVDCOPY_DISC_KEY = 128,
		}
		public enum KS_DVDCOPYSTATE : int32
		{
			INITIALIZE = 0,
			INITIALIZE_TITLE = 1,
			AUTHENTICATION_NOT_REQUIRED = 2,
			AUTHENTICATION_REQUIRED = 3,
			DONE = 4,
		}
		public enum KS_COPY_MACROVISION_LEVEL : int32
		{
			DISABLED = 0,
			LEVEL1 = 1,
			LEVEL2 = 2,
			LEVEL3 = 3,
		}
		public enum KS_MPEG2Level : int32
		{
			Low = 0,
			Main = 1,
			High1440 = 2,
			High = 3,
		}
		public enum KS_MPEG2Profile : int32
		{
			Simple = 0,
			Main = 1,
			SNRScalable = 2,
			SpatiallyScalable = 3,
			High = 4,
		}
		public enum KSPROPERTY_VBICAP : int32
		{
			VBICAP_PROPERTIES_PROTECTION = 1,
		}
		public enum KSPROPERTY_VBICODECFILTERING : int32
		{
			SCANLINES_REQUESTED_BIT_ARRAY = 1,
			SCANLINES_DISCOVERED_BIT_ARRAY = 2,
			SUBSTREAMS_REQUESTED_BIT_ARRAY = 3,
			SUBSTREAMS_DISCOVERED_BIT_ARRAY = 4,
			STATISTICS = 5,
		}
		public enum CAPTURE_MEMORY_ALLOCATION_FLAGS : int32
		{
			INVALID = 0,
			SYSTEM = 1,
			VRAM = 2,
			SYSTEM_AGP = 4,
			VRAM_MAPPED = 8,
			SECURE_BUFFER = 16,
		}
		public enum KSPROPERTY_VIDMEM_TRANSPORT : int32
		{
			DISPLAY_ADAPTER_GUID = 1,
			PREFERRED_CAPTURE_SURFACE = 2,
			CURRENT_CAPTURE_SURFACE = 3,
			MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS = 4,
		}
		public enum KSPROPERTY_MPEG4_MEDIATYPE_ATTRIBUTES : int32
		{
			SD_BOX = 1,
		}
		public enum KSEVENT_DYNAMICFORMATCHANGE : int32
		{
			DYNAMIC_FORMAT_CHANGE = 0,
		}
		public enum KS_AnalogVideoStandard : int32
		{
			None = 0,
			NTSC_M = 1,
			NTSC_M_J = 2,
			NTSC_433 = 4,
			PAL_B = 16,
			PAL_D = 32,
			PAL_G = 64,
			PAL_H = 128,
			PAL_I = 256,
			PAL_M = 512,
			PAL_N = 1024,
			PAL_60 = 2048,
			SECAM_B = 4096,
			SECAM_D = 8192,
			SECAM_G = 16384,
			SECAM_H = 32768,
			SECAM_K = 65536,
			SECAM_K1 = 131072,
			SECAM_L = 262144,
			SECAM_L1 = 524288,
			PAL_N_COMBO = 1048576,
		}
		public enum KSPROPERTY_ALLOCATOR_CONTROL : int32
		{
			HONOR_COUNT = 0,
			SURFACE_SIZE = 1,
			CAPTURE_CAPS = 2,
			CAPTURE_INTERLEAVE = 3,
		}
		public enum KSPROPERTY_VIDCAP_VIDEOPROCAMP : int32
		{
			BRIGHTNESS = 0,
			CONTRAST = 1,
			HUE = 2,
			SATURATION = 3,
			SHARPNESS = 4,
			GAMMA = 5,
			COLORENABLE = 6,
			WHITEBALANCE = 7,
			BACKLIGHT_COMPENSATION = 8,
			GAIN = 9,
			DIGITAL_MULTIPLIER = 10,
			DIGITAL_MULTIPLIER_LIMIT = 11,
			WHITEBALANCE_COMPONENT = 12,
			POWERLINE_FREQUENCY = 13,
		}
		public enum KSPROPERTY_VIDCAP_SELECTOR : int32
		{
			SOURCE_NODE_ID = 0,
			NUM_SOURCES = 1,
		}
		public enum KSPROPERTY_TUNER : int32
		{
			CAPS = 0,
			MODE_CAPS = 1,
			MODE = 2,
			STANDARD = 3,
			FREQUENCY = 4,
			INPUT = 5,
			STATUS = 6,
			IF_MEDIUM = 7,
			SCAN_CAPS = 8,
			SCAN_STATUS = 9,
			STANDARD_MODE = 10,
			NETWORKTYPE_SCAN_CAPS = 11,
		}
		public enum KSPROPERTY_TUNER_MODES : int32
		{
			TV = 1,
			FM_RADIO = 2,
			AM_RADIO = 4,
			DSS = 8,
			ATSC = 16,
		}
		public enum KS_TUNER_TUNING_FLAGS : int32
		{
			EXACT = 1,
			FINE = 2,
			COARSE = 3,
		}
		public enum KS_TUNER_STRATEGY : int32
		{
			PLL = 1,
			SIGNAL_STRENGTH = 2,
			DRIVER_TUNES = 4,
		}
		public enum _TunerDecoderLockType : int32
		{
			None = 0,
			Within_Scan_Sensing_Range = 1,
			Locked = 2,
		}
		public enum KSEVENT_TUNER : int32
		{
			CHANGED = 0,
			INITIATE_SCAN = 1,
		}
		public enum KSPROPERTY_VIDCAP_VIDEOENCODER : int32
		{
			CAPS = 0,
			STANDARD = 1,
			COPYPROTECTION = 2,
			CC_ENABLE = 3,
		}
		public enum KSPROPERTY_VIDCAP_VIDEODECODER : int32
		{
			CAPS = 0,
			STANDARD = 1,
			STATUS = 2,
			OUTPUT_ENABLE = 3,
			VCR_TIMING = 4,
			STATUS2 = 5,
		}
		public enum KS_VIDEODECODER_FLAGS : int32
		{
			DISABLE_OUTPUT = 1,
			USE_VCR_LOCKING = 2,
			INDICATE_LOCKED = 4,
		}
		public enum KSEVENT_VIDEODECODER : int32
		{
			VIDEODECODER_CHANGED = 0,
		}
		public enum KSEVENT_CAMERACONTROL : int32
		{
			FOCUS = 0,
			ZOOM = 1,
		}
		public enum KSPROPERTY_VIDCAP_CAMERACONTROL : int32
		{
			PAN = 0,
			TILT = 1,
			ROLL = 2,
			ZOOM = 3,
			EXPOSURE = 4,
			IRIS = 5,
			FOCUS = 6,
			SCANMODE = 7,
			PRIVACY = 8,
			PANTILT = 9,
			PAN_RELATIVE = 10,
			TILT_RELATIVE = 11,
			ROLL_RELATIVE = 12,
			ZOOM_RELATIVE = 13,
			EXPOSURE_RELATIVE = 14,
			IRIS_RELATIVE = 15,
			FOCUS_RELATIVE = 16,
			PANTILT_RELATIVE = 17,
			FOCAL_LENGTH = 18,
			AUTO_EXPOSURE_PRIORITY = 19,
		}
		public enum KS_CameraControlAsyncOperation : int32
		{
			START = 1,
			STOP = 2,
			RESET = 3,
		}
		public enum KSPROPERTY_CAMERACONTROL_FLASH : int32
		{
			FLASH_PROPERTY_ID = 0,
		}
		public enum KSPROPERTY_CAMERACONTROL_VIDEO_STABILIZATION_MODE : int32
		{
			MODE_PROPERTY_ID = 0,
		}
		public enum KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST : int32
		{
			INTEREST_PROPERTY_ID = 0,
		}
		public enum KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY : int32
		{
			CAPABILITY_PROPERTY_ID = 0,
		}
		[AllowDuplicates]
		public enum KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY : int32
		{
			PHOTOMODE = 0,
			PHOTOFRAMERATE = 1,
			PHOTOMAXFRAMERATE = 2,
			PHOTOTRIGGERTIME = 3,
			WARMSTART = 4,
			MAXVIDFPS_PHOTORES = 5,
			PHOTOTHUMBNAIL = 6,
			SCENEMODE = 7,
			TORCHMODE = 8,
			FLASHMODE = 9,
			OPTIMIZATIONHINT = 10,
			WHITEBALANCEMODE = 11,
			EXPOSUREMODE = 12,
			FOCUSMODE = 13,
			ISO = 14,
			FIELDOFVIEW = 15,
			EVCOMPENSATION = 16,
			CAMERAANGLEOFFSET = 17,
			METADATA = 18,
			FOCUSPRIORITY = 19,
			FOCUSSTATE = 20,
			ROI_CONFIGCAPS = 21,
			ROI_ISPCONTROL = 22,
			PHOTOCONFIRMATION = 23,
			ZOOM = 24,
			MCC = 25,
			ISO_ADVANCED = 26,
			VIDEOSTABILIZATION = 27,
			VFR = 28,
			FACEDETECTION = 29,
			VIDEOHDR = 30,
			HISTOGRAM = 31,
			OIS = 32,
			ADVANCEDPHOTO = 33,
			PROFILE = 34,
			FACEAUTH_MODE = 35,
			SECURE_MODE = 36,
			VIDEOTEMPORALDENOISING = 37,
			IRTORCHMODE = 38,
			RELATIVEPANELOPTIMIZATION = 39,
			EYEGAZECORRECTION = 40,
			BACKGROUNDSEGMENTATION = 41,
			DIGITALWINDOW_CONFIGCAPS = 42,
			DIGITALWINDOW = 43,
			END = 44,
			END2 = 44,
		}
		public enum KSEVENT_CAMERAEVENT : int32
		{
			PHOTO_SAMPLE_SCANNED = 0,
		}
		public enum KSCAMERA_EXTENDEDPROP_WHITEBALANCE_MODE : int32
		{
			TEMPERATURE = 1,
			PRESET = 2,
		}
		public enum KSCAMERA_EXTENDEDPROP_WBPRESET : int32
		{
			CLOUDY = 1,
			DAYLIGHT = 2,
			FLASH = 3,
			FLUORESCENT = 4,
			TUNGSTEN = 5,
			CANDLELIGHT = 6,
		}
		public enum KSPROPERTY_CAMERA_PHOTOTRIGGERTIME_FLAGS : int32
		{
			CLEAR = 0,
			SET = 1,
		}
		public enum KSCAMERA_EXTENDEDPROP_MetadataAlignment : int32
		{
			_16 = 4,
			_32 = 5,
			_64 = 6,
			_128 = 7,
			_256 = 8,
			_512 = 9,
			_1024 = 10,
			_2048 = 11,
			_4096 = 12,
			_8192 = 13,
		}
		[AllowDuplicates]
		public enum KSCAMERA_MetadataId : int32
		{
			Standard_Start = 1,
			PhotoConfirmation = 1,
			UsbVideoHeader = 2,
			CaptureStats = 3,
			CameraExtrinsics = 4,
			CameraIntrinsics = 5,
			FrameIllumination = 6,
			DigitalWindow = 7,
			BackgroundSegmentationMask = 8,
			Standard_End = 8,
			Custom_Start = -2147483648,
		}
		public enum KSCAMERA_EXTENDEDPROP_FOCUSSTATE : int32
		{
			UNINITIALIZED = 0,
			LOST = 1,
			SEARCHING = 2,
			FOCUSED = 3,
			FAILED = 4,
		}
		public enum KSCAMERA_EXTENDEDPROP_ROITYPE : int32
		{
			UNKNOWN = 0,
			FACE = 1,
		}
		public enum KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY : int32
		{
			CAPABILITY = 0,
			SET = 1,
			CLEAR = 2,
		}
		public enum KSCAMERA_PERFRAMESETTING_ITEM_TYPE : int32
		{
			EXPOSURE_TIME = 1,
			FLASH = 2,
			EXPOSURE_COMPENSATION = 3,
			ISO = 4,
			FOCUS = 5,
			PHOTOCONFIRMATION = 6,
			CUSTOM = 7,
		}
		public enum KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE : int32
		{
			KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE_DISABLE = 0,
			KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE_HOSTNTP = 1,
			KSPROPERYT_NETWORKCAMERACONTROL_NTPINFO_TYPE_CUSTOM = 2,
		}
		public enum KSPROPERTY_NETWORKCAMERACONTROL_PROPERTY : int32
		{
			NTP = 0,
			URI = 1,
			METADATA = 2,
			EVENTTOPICS_XML = 3,
		}
		public enum KSPROPERTY_NETWORKCAMERACONTROL_METADATA_TYPE : int32
		{
			TYPE_EVENTSINFO = 0,
		}
		public enum KSPROPERTY_EXTDEVICE : int32
		{
			ID = 0,
			VERSION = 1,
			POWER_STATE = 2,
			PORT = 3,
			CAPABILITIES = 4,
		}
		public enum KSPROPERTY_EXTXPORT : int32
		{
			EXTXPORT_CAPABILITIES = 0,
			EXTXPORT_INPUT_SIGNAL_MODE = 1,
			EXTXPORT_OUTPUT_SIGNAL_MODE = 2,
			EXTXPORT_LOAD_MEDIUM = 3,
			EXTXPORT_MEDIUM_INFO = 4,
			EXTXPORT_STATE = 5,
			EXTXPORT_STATE_NOTIFY = 6,
			EXTXPORT_TIMECODE_SEARCH = 7,
			EXTXPORT_ATN_SEARCH = 8,
			EXTXPORT_RTC_SEARCH = 9,
			RAW_AVC_CMD = 10,
		}
		public enum KSPROPERTY_TIMECODE : int32
		{
			TIMECODE_READER = 0,
			ATN_READER = 1,
			RTC_READER = 2,
		}
		public enum KSEVENT_DEVCMD : int32
		{
			COMMAND_NOTIFY_INTERIM_READY = 0,
			COMMAND_CONTROL_INTERIM_READY = 1,
			COMMAND_BUSRESET = 2,
			TIMECODE_UPDATE = 3,
			OPERATION_MODE_UPDATE = 4,
			TRANSPORT_STATE_UPDATE = 5,
			NOTIFY_REMOVAL = 6,
			NOTIFY_MEDIUM_CHANGE = 7,
		}
		public enum KSPROPERTY_VIDCAP_CROSSBAR : int32
		{
			CAPS = 0,
			PININFO = 1,
			CAN_ROUTE = 2,
			ROUTE = 3,
			INPUT_ACTIVE = 4,
		}
		public enum KSEVENT_CROSSBAR : int32
		{
			CROSSBAR_CHANGED = 0,
		}
		public enum KS_PhysicalConnectorType : int32
		{
			Video_Tuner = 1,
			Video_Composite = 2,
			Video_SVideo = 3,
			Video_RGB = 4,
			Video_YRYBY = 5,
			Video_SerialDigital = 6,
			Video_ParallelDigital = 7,
			Video_SCSI = 8,
			Video_AUX = 9,
			Video_1394 = 10,
			Video_USB = 11,
			Video_VideoDecoder = 12,
			Video_VideoEncoder = 13,
			Video_SCART = 14,
			Audio_Tuner = 4096,
			Audio_Line = 4097,
			Audio_Mic = 4098,
			Audio_AESDigital = 4099,
			Audio_SPDIFDigital = 4100,
			Audio_SCSI = 4101,
			Audio_AUX = 4102,
			Audio_1394 = 4103,
			Audio_USB = 4104,
			Audio_AudioDecoder = 4105,
		}
		public enum KSPROPERTY_VIDCAP_TVAUDIO : int32
		{
			CAPS = 0,
			MODE = 1,
			CURRENTLY_AVAILABLE_MODES = 2,
		}
		public enum KSEVENT_TVAUDIO : int32
		{
			TVAUDIO_CHANGED = 0,
		}
		public enum KSPROPERTY_VIDCAP_VIDEOCOMPRESSION : int32
		{
			GETINFO = 0,
			KEYFRAME_RATE = 1,
			PFRAMES_PER_KEYFRAME = 2,
			QUALITY = 3,
			OVERRIDE_KEYFRAME = 4,
			OVERRIDE_FRAME_SIZE = 5,
			WINDOWSIZE = 6,
		}
		public enum KS_CompressionCaps : int32
		{
			Quality = 1,
			Crunch = 2,
			KeyFrame = 4,
			BFrame = 8,
			Window = 16,
		}
		public enum KS_VideoStreamingHints : int32
		{
			FrameInterval = 256,
			KeyFrameRate = 512,
			PFrameRate = 1024,
			CompQuality = 2048,
			CompWindowSize = 4096,
		}
		public enum KSPROPERTY_OVERLAYUPDATE : int32
		{
			INTERESTS = 0,
			CLIPLIST = 1,
			PALETTE = 2,
			COLORKEY = 4,
			VIDEOPOSITION = 8,
			DISPLAYCHANGE = 16,
			COLORREF = 268435456,
		}
		public enum KSPROPERTY_VIDCAP_VIDEOCONTROL : int32
		{
			CAPS = 0,
			ACTUAL_FRAME_RATE = 1,
			FRAME_RATES = 2,
			MODE = 3,
		}
		public enum KS_VideoControlFlags : int32
		{
			VideoControlFlag_FlipHorizontal = 1,
			VideoControlFlag_FlipVertical = 2,
			Obsolete_VideoControlFlag_ExternalTriggerEnable = 16,
			Obsolete_VideoControlFlag_Trigger = 32,
			VideoControlFlag_ExternalTriggerEnable = 4,
			VideoControlFlag_Trigger = 8,
			VideoControlFlag_IndependentImagePin = 64,
			VideoControlFlag_StillCapturePreviewFrame = 128,
			VideoControlFlag_StartPhotoSequenceCapture = 256,
			VideoControlFlag_StopPhotoSequenceCapture = 512,
		}
		public enum KSPROPERTY_VIDCAP_DROPPEDFRAMES : int32
		{
			DROPPEDFRAMES_CURRENT = 0,
		}
		public enum KSPROPERTY_VPCONFIG : int32
		{
			NUMCONNECTINFO = 0,
			GETCONNECTINFO = 1,
			SETCONNECTINFO = 2,
			VPDATAINFO = 3,
			MAXPIXELRATE = 4,
			INFORMVPINPUT = 5,
			NUMVIDEOFORMAT = 6,
			GETVIDEOFORMAT = 7,
			SETVIDEOFORMAT = 8,
			INVERTPOLARITY = 9,
			DECIMATIONCAPABILITY = 10,
			SCALEFACTOR = 11,
			DDRAWHANDLE = 12,
			VIDEOPORTID = 13,
			DDRAWSURFACEHANDLE = 14,
			SURFACEPARAMS = 15,
		}
		public enum KS_AMPixAspectRatio : int32
		{
			NTSC4x3 = 0,
			NTSC16x9 = 1,
			PAL4x3 = 2,
			PAL16x9 = 3,
		}
		public enum KS_AMVP_SELECTFORMATBY : int32
		{
			DO_NOT_CARE = 0,
			BEST_BANDWIDTH = 1,
			INPUT_SAME_AS_OUTPUT = 2,
		}
		public enum KS_AMVP_MODE : int32
		{
			WEAVE = 0,
			BOBINTERLEAVED = 1,
			BOBNONINTERLEAVED = 2,
			SKIPEVEN = 3,
			SKIPODD = 4,
		}
		public enum KSEVENT_VPNOTIFY : int32
		{
			VPNOTIFY_FORMATCHANGE = 0,
		}
		public enum KSEVENT_VIDCAPTOSTI : int32
		{
			VIDCAPTOSTI_EXT_TRIGGER = 0,
			VIDCAP_AUTO_UPDATE = 1,
			VIDCAP_SEARCH = 2,
		}
		public enum KSPROPERTY_EXTENSION_UNIT : int32
		{
			INFO = 0,
			CONTROL = 1,
			PASS_THROUGH = 65535,
		}
		public enum KSEVENT_VPVBINOTIFY : int32
		{
			VPVBINOTIFY_FORMATCHANGE = 0,
		}
		public enum KS_AM_PROPERTY_TS_RATE_CHANGE : int32
		{
			SimpleRateChange = 1,
			ExactRateChange = 2,
			MaxFullDataRate = 3,
			Step = 4,
		}
		public enum KSPROPERTY_JACK : int32
		{
			DESCRIPTION = 1,
			DESCRIPTION2 = 2,
			SINK_INFO = 3,
			CONTAINERID = 4,
		}
		public enum EPcxConnectionType : int32
		{
			TypeUnknown = 0,
			Type3Point5mm = 1,
			TypeQuarter = 2,
			TypeAtapiInternal = 3,
			TypeRCA = 4,
			TypeOptical = 5,
			TypeOtherDigital = 6,
			TypeOtherAnalog = 7,
			TypeMultichannelAnalogDIN = 8,
			TypeXlrProfessional = 9,
			TypeRJ11Modem = 10,
			TypeCombination = 11,
		}
		public enum EPcxGeoLocation : int32
		{
			eGeoLocRear = 1,
			eGeoLocFront = 2,
			eGeoLocLeft = 3,
			eGeoLocRight = 4,
			eGeoLocTop = 5,
			eGeoLocBottom = 6,
			eGeoLocRearPanel = 7,
			eGeoLocRiser = 8,
			eGeoLocInsideMobileLid = 9,
			eGeoLocDrivebay = 10,
			eGeoLocHDMI = 11,
			eGeoLocOutsideMobileLid = 12,
			eGeoLocATAPI = 13,
			eGeoLocNotApplicable = 14,
			eGeoLocReserved6 = 15,
			EPcxGeoLocation_enum_count = 16,
		}
		public enum EPcxGenLocation : int32
		{
			eGenLocPrimaryBox = 0,
			eGenLocInternal = 1,
			eGenLocSeparate = 2,
			eGenLocOther = 3,
			EPcxGenLocation_enum_count = 4,
		}
		public enum EPxcPortConnection : int32
		{
			Jack = 0,
			IntegratedDevice = 1,
			BothIntegratedAndJack = 2,
			Unknown = 3,
		}
		public enum KSJACK_SINK_CONNECTIONTYPE : int32
		{
			HDMI = 0,
			DISPLAYPORT = 1,
		}
		public enum KSPROPERTY_AUDIOPOSTURE : int32
		{
			AUDIOPOSTURE_ORIENTATION = 1,
		}
		public enum AUDIOPOSTURE_ORIENTATION : int32
		{
			NOTROTATED = 0,
			ROTATED90DEGREESCOUNTERCLOCKWISE = 1,
			ROTATED180DEGREESCOUNTERCLOCKWISE = 2,
			ROTATED270DEGREESCOUNTERCLOCKWISE = 3,
		}
		public enum KSPROPERTY_AUDIOENGINE : int32
		{
			LFXENABLE = 0,
			GFXENABLE = 1,
			MIXFORMAT = 2,
			DEVICEFORMAT = 4,
			SUPPORTEDDEVICEFORMATS = 5,
			DESCRIPTOR = 6,
			BUFFER_SIZE_RANGE = 7,
			LOOPBACK_PROTECTION = 8,
			VOLUMELEVEL = 9,
		}
		public enum AUDIO_CURVE_TYPE : int32
		{
			NONE = 0,
			WINDOWS_FADE = 1,
		}
		public enum KSPROPERTY_AUDIOSIGNALPROCESSING : int32
		{
			AUDIOSIGNALPROCESSING_MODES = 0,
		}
		public enum KSPROPERTY_AUDIORESOURCEMANAGEMENT : int32
		{
			AUDIORESOURCEMANAGEMENT_RESOURCEGROUP = 0,
		}
		public enum KSPROPERTY_AUDIOMODULE : int32
		{
			DESCRIPTORS = 1,
			COMMAND = 2,
			NOTIFICATION_DEVICE_ID = 3,
		}
		public enum KSALLOCATORMODE : int32
		{
			User = 0,
			Kernel = 1,
		}
		public enum FRAMING_PROP : int32
		{
			Uninitialized = 0,
			None = 1,
			Old = 2,
			Ex = 3,
		}
		public enum FRAMING_CACHE_OPS : int32
		{
			Update = 0,
			ReadLast = 1,
			ReadOrig = 2,
			Write = 3,
		}
		public enum PIPE_STATE : int32
		{
			DontCare = 0,
			RangeNotFixed = 1,
			RangeFixed = 2,
			CompressionUnknown = 3,
			Finalized = 4,
		}
		public enum PIPE_ALLOCATOR_PLACE : int32
		{
			None = 0,
			FirstPin = 1,
			LastPin = 2,
			MiddlePin = 3,
		}
		public enum KS_LogicalMemoryType : int32
		{
			DontCare = 0,
			KernelPaged = 1,
			KernelNonPaged = 2,
			DeviceHostMapped = 3,
			DeviceSpecific = 4,
			User = 5,
			AnyHost = 6,
		}
		
		// --- Structs ---
		
		[CRepr]
		public struct IKsPin {}
		[CRepr]
		public struct IKsAllocator {}
		[CRepr]
		public struct IKsAllocatorEx {}
		[CRepr]
		public struct KSPRIORITY
		{
			public uint32 PriorityClass;
			public uint32 PrioritySubClass;
		}
		[CRepr]
		public struct KSIDENTIFIER
		{
			public _Anonymous_e__Union Anonymous;
			
			public int64 Alignment { get => Anonymous.Alignment; set mut => Anonymous.Alignment = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public _Anonymous_e__Struct Anonymous;
				public int64 Alignment;
				
				public Guid Set { get => Anonymous.Set; set mut => Anonymous.Set = value; }
				public uint32 Id { get => Anonymous.Id; set mut => Anonymous.Id = value; }
				public uint32 Flags { get => Anonymous.Flags; set mut => Anonymous.Flags = value; }
				
				[CRepr]
				public struct _Anonymous_e__Struct
				{
					public Guid Set;
					public uint32 Id;
					public uint32 Flags;
				}
			}
		}
		[CRepr]
		public struct KSP_NODE
		{
			public KSIDENTIFIER Property;
			public uint32 NodeId;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSM_NODE
		{
			public KSIDENTIFIER Method;
			public uint32 NodeId;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSE_NODE
		{
			public KSIDENTIFIER Event;
			public uint32 NodeId;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSMULTIPLE_ITEM
		{
			public uint32 Size;
			public uint32 Count;
		}
		[CRepr]
		public struct KSPROPERTY_DESCRIPTION
		{
			public uint32 AccessFlags;
			public uint32 DescriptionSize;
			public KSIDENTIFIER PropTypeSet;
			public uint32 MembersListCount;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSPROPERTY_MEMBERSHEADER
		{
			public uint32 MembersFlags;
			public uint32 MembersSize;
			public uint32 MembersCount;
			public uint32 Flags;
		}
		[CRepr, Union]
		public struct KSPROPERTY_BOUNDS_LONG
		{
			public _Anonymous1_e__Struct Anonymous1;
			public _Anonymous2_e__Struct Anonymous2;
			
			[CRepr]
			public struct _Anonymous1_e__Struct
			{
				public int32 SignedMinimum;
				public int32 SignedMaximum;
			}
			[CRepr]
			public struct _Anonymous2_e__Struct
			{
				public uint32 UnsignedMinimum;
				public uint32 UnsignedMaximum;
			}
		}
		[CRepr, Union]
		public struct KSPROPERTY_BOUNDS_LONGLONG
		{
			public _Anonymous1_e__Struct Anonymous1;
			public _Anonymous2_e__Struct Anonymous2;
			
			[CRepr]
			public struct _Anonymous1_e__Struct
			{
				public int64 SignedMinimum;
				public int64 SignedMaximum;
			}
			[CRepr]
			public struct _Anonymous2_e__Struct
			{
				public uint64 UnsignedMinimum;
				public uint64 UnsignedMaximum;
			}
		}
		[CRepr]
		public struct KSPROPERTY_STEPPING_LONG
		{
			public uint32 SteppingDelta;
			public uint32 Reserved;
			public KSPROPERTY_BOUNDS_LONG Bounds;
		}
		[CRepr]
		public struct KSPROPERTY_STEPPING_LONGLONG
		{
			public uint64 SteppingDelta;
			public KSPROPERTY_BOUNDS_LONGLONG Bounds;
		}
		[CRepr]
		public struct KSEVENTDATA
		{
			public uint32 NotificationType;
			public _Anonymous_e__Union Anonymous;
			
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public _EventHandle_e__Struct EventHandle;
				public _SemaphoreHandle_e__Struct SemaphoreHandle;
				public _Alignment_e__Struct Alignment;
				
				[CRepr]
				public struct _SemaphoreHandle_e__Struct
				{
					public HANDLE Semaphore;
					public uint32 Reserved;
					public int32 Adjustment;
				}
				[CRepr]
				public struct _Alignment_e__Struct
				{
					public void* Unused;
					public int[2] Alignment;
				}
				[CRepr]
				public struct _EventHandle_e__Struct
				{
					public HANDLE Event;
					public uint[2] Reserved;
				}
			}
		}
		[CRepr]
		public struct KSQUERYBUFFER
		{
			public KSIDENTIFIER Event;
			public KSEVENTDATA* EventData;
			public void* Reserved;
		}
		[CRepr]
		public struct KSRELATIVEEVENT
		{
			public uint32 Size;
			public uint32 Flags;
			public _Anonymous_e__Union Anonymous;
			public void* Reserved;
			public KSIDENTIFIER Event;
			public KSEVENTDATA EventData;
			
			public HANDLE ObjectHandle { get => Anonymous.ObjectHandle; set mut => Anonymous.ObjectHandle = value; }
			public void* ObjectPointer { get => Anonymous.ObjectPointer; set mut => Anonymous.ObjectPointer = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public HANDLE ObjectHandle;
				public void* ObjectPointer;
			}
		}
		[CRepr]
		public struct KSEVENT_TIME_MARK
		{
			public KSEVENTDATA EventData;
			public int64 MarkTime;
		}
		[CRepr]
		public struct KSEVENT_TIME_INTERVAL
		{
			public KSEVENTDATA EventData;
			public int64 TimeBase;
			public int64 Interval;
		}
		[CRepr]
		public struct KSINTERVAL
		{
			public int64 TimeBase;
			public int64 Interval;
		}
		[CRepr]
		public struct KSCOMPONENTID
		{
			public Guid Manufacturer;
			public Guid Product;
			public Guid Component;
			public Guid Name;
			public uint32 Version;
			public uint32 Revision;
		}
		[CRepr]
		public struct KSPROPERTY_POSITIONS
		{
			public int64 Current;
			public int64 Stop;
			public KS_SEEKING_FLAGS CurrentFlags;
			public KS_SEEKING_FLAGS StopFlags;
		}
		[CRepr]
		public struct KSPROPERTY_MEDIAAVAILABLE
		{
			public int64 Earliest;
			public int64 Latest;
		}
		[CRepr]
		public struct KSP_TIMEFORMAT
		{
			public KSIDENTIFIER Property;
			public Guid SourceFormat;
			public Guid TargetFormat;
			public int64 Time;
		}
		[CRepr]
		public struct KSTOPOLOGY_CONNECTION
		{
			public uint32 FromNode;
			public uint32 FromNodePin;
			public uint32 ToNode;
			public uint32 ToNodePin;
		}
		[CRepr]
		public struct KSTOPOLOGY
		{
			public uint32 CategoriesCount;
			public Guid* Categories;
			public uint32 TopologyNodesCount;
			public Guid* TopologyNodes;
			public uint32 TopologyConnectionsCount;
			public KSTOPOLOGY_CONNECTION* TopologyConnections;
			public Guid* TopologyNodesNames;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSNODE_CREATE
		{
			public uint32 CreateFlags;
			public uint32 Node;
		}
		[CRepr]
		public struct KSP_PIN
		{
			public KSIDENTIFIER Property;
			public uint32 PinId;
			public _Anonymous_e__Union Anonymous;
			
			public uint32 Reserved { get => Anonymous.Reserved; set mut => Anonymous.Reserved = value; }
			public uint32 Flags { get => Anonymous.Flags; set mut => Anonymous.Flags = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public uint32 Reserved;
				public uint32 Flags;
			}
		}
		[CRepr]
		public struct KSE_PIN
		{
			public KSIDENTIFIER Event;
			public uint32 PinId;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSPIN_CINSTANCES
		{
			public uint32 PossibleCount;
			public uint32 CurrentCount;
		}
		[CRepr, Union]
		public struct KSDATAFORMAT
		{
			public _Anonymous_e__Struct Anonymous;
			public int64 Alignment;
			
			public uint32 FormatSize { get => Anonymous.FormatSize; set mut => Anonymous.FormatSize = value; }
			public uint32 Flags { get => Anonymous.Flags; set mut => Anonymous.Flags = value; }
			public uint32 SampleSize { get => Anonymous.SampleSize; set mut => Anonymous.SampleSize = value; }
			public uint32 Reserved { get => Anonymous.Reserved; set mut => Anonymous.Reserved = value; }
			public Guid MajorFormat { get => Anonymous.MajorFormat; set mut => Anonymous.MajorFormat = value; }
			public Guid SubFormat { get => Anonymous.SubFormat; set mut => Anonymous.SubFormat = value; }
			public Guid Specifier { get => Anonymous.Specifier; set mut => Anonymous.Specifier = value; }
			
			[CRepr]
			public struct _Anonymous_e__Struct
			{
				public uint32 FormatSize;
				public uint32 Flags;
				public uint32 SampleSize;
				public uint32 Reserved;
				public Guid MajorFormat;
				public Guid SubFormat;
				public Guid Specifier;
			}
		}
		[CRepr]
		public struct KSATTRIBUTE
		{
			public uint32 Size;
			public uint32 Flags;
			public Guid Attribute;
		}
		[CRepr]
		public struct KSPIN_CONNECT
		{
			public KSIDENTIFIER Interface;
			public KSIDENTIFIER Medium;
			public uint32 PinId;
			public HANDLE PinToHandle;
			public KSPRIORITY Priority;
		}
		[CRepr]
		public struct KSPIN_PHYSICALCONNECTION
		{
			public uint32 Size;
			public uint32 Pin;
			public char16[0] SymbolicLinkName;
		}
		[CRepr]
		public struct KSALLOCATOR_FRAMING
		{
			public _Anonymous1_e__Union Anonymous1;
			public uint32 PoolType;
			public uint32 Frames;
			public uint32 FrameSize;
			public _Anonymous2_e__Union Anonymous2;
			public uint32 Reserved;
			
			[CRepr, Union]
			public struct _Anonymous2_e__Union
			{
				public uint32 FileAlignment;
				public int32 FramePitch;
			}
			[CRepr, Union]
			public struct _Anonymous1_e__Union
			{
				public uint32 OptionsFlags;
				public uint32 RequirementsFlags;
			}
		}
		[CRepr]
		public struct KS_FRAMING_RANGE
		{
			public uint32 MinFrameSize;
			public uint32 MaxFrameSize;
			public uint32 Stepping;
		}
		[CRepr]
		public struct KS_FRAMING_RANGE_WEIGHTED
		{
			public KS_FRAMING_RANGE Range;
			public uint32 InPlaceWeight;
			public uint32 NotInPlaceWeight;
		}
		[CRepr]
		public struct KS_COMPRESSION
		{
			public uint32 RatioNumerator;
			public uint32 RatioDenominator;
			public uint32 RatioConstantMargin;
		}
		[CRepr]
		public struct KS_FRAMING_ITEM
		{
			public Guid MemoryType;
			public Guid BusType;
			public uint32 MemoryFlags;
			public uint32 BusFlags;
			public uint32 Flags;
			public uint32 Frames;
			public _Anonymous_e__Union Anonymous;
			public uint32 MemoryTypeWeight;
			public KS_FRAMING_RANGE PhysicalRange;
			public KS_FRAMING_RANGE_WEIGHTED FramingRange;
			
			public uint32 FileAlignment { get => Anonymous.FileAlignment; set mut => Anonymous.FileAlignment = value; }
			public int32 FramePitch { get => Anonymous.FramePitch; set mut => Anonymous.FramePitch = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public uint32 FileAlignment;
				public int32 FramePitch;
			}
		}
		[CRepr]
		public struct KSALLOCATOR_FRAMING_EX
		{
			public uint32 CountItems;
			public uint32 PinFlags;
			public KS_COMPRESSION OutputCompression;
			public uint32 PinWeight;
			public KS_FRAMING_ITEM[0] FramingItem;
		}
		[CRepr]
		public struct KSSTREAMALLOCATOR_STATUS
		{
			public KSALLOCATOR_FRAMING Framing;
			public uint32 AllocatedFrames;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSSTREAMALLOCATOR_STATUS_EX
		{
			public KSALLOCATOR_FRAMING_EX Framing;
			public uint32 AllocatedFrames;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSTIME
		{
			public int64 Time;
			public uint32 Numerator;
			public uint32 Denominator;
		}
		[CRepr]
		public struct KSSTREAM_HEADER
		{
			public uint32 Size;
			public uint32 TypeSpecificFlags;
			public KSTIME PresentationTime;
			public int64 Duration;
			public uint32 FrameExtent;
			public uint32 DataUsed;
			public void* Data;
			public uint32 OptionsFlags;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSSTREAM_METADATA_INFO
		{
			public uint32 BufferSize;
			public uint32 UsedSize;
			public void* Data;
			public void* SystemVa;
			public uint32 Flags;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSSTREAM_UVC_METADATATYPE_TIMESTAMP
		{
			public uint32 PresentationTimeStamp;
			public uint32 SourceClockReference;
			public _Anonymous_e__Union Anonymous;
			public uint16 Reserved0;
			public uint32 Reserved1;
			
			public uint16 SCRToken { get => Anonymous.SCRToken; set mut => Anonymous.SCRToken = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public _Anonymous_e__Struct Anonymous;
				public uint16 SCRToken;
				
				public uint16 _bitfield { get => Anonymous._bitfield; set mut => Anonymous._bitfield = value; }
				
				[CRepr]
				public struct _Anonymous_e__Struct
				{
					public uint16 _bitfield;
				}
			}
		}
		[CRepr]
		public struct KSSTREAM_UVC_METADATA
		{
			public KSSTREAM_UVC_METADATATYPE_TIMESTAMP StartOfFrameTimestamp;
			public KSSTREAM_UVC_METADATATYPE_TIMESTAMP EndOfFrameTimestamp;
		}
		[CRepr]
		public struct KSPIN_MDL_CACHING_NOTIFICATION
		{
			public KSPIN_MDL_CACHING_EVENT Event;
			public void* Buffer;
		}
		[CRepr]
		public struct KSPIN_MDL_CACHING_NOTIFICATION32
		{
			public KSPIN_MDL_CACHING_EVENT Event;
			public uint32 Buffer;
		}
		[CRepr]
		public struct KSQUALITY_MANAGER
		{
			public HANDLE QualityManager;
			public void* Context;
		}
		[CRepr]
		public struct KSFRAMETIME
		{
			public int64 Duration;
			public uint32 FrameFlags;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSRATE
		{
			public int64 PresentationStart;
			public int64 Duration;
			public KSIDENTIFIER Interface;
			public int32 Rate;
			public uint32 Flags;
		}
		[CRepr]
		public struct KSRATE_CAPABILITY
		{
			public KSIDENTIFIER Property;
			public KSRATE Rate;
		}
		[CRepr]
		public struct KSCLOCK_CREATE
		{
			public uint32 CreateFlags;
		}
		[CRepr]
		public struct KSCORRELATED_TIME
		{
			public int64 Time;
			public int64 SystemTime;
		}
		[CRepr]
		public struct KSRESOLUTION
		{
			public int64 Granularity;
			public int64 Error;
		}
		[CRepr]
		public struct KSQUALITY
		{
			public void* Context;
			public uint32 Proportion;
			public int64 DeltaTime;
		}
		[CRepr]
		public struct KSERROR
		{
			public void* Context;
			public uint32 Status;
		}
		[CRepr, Packed(1)]
		public struct KSPROPERTY_SERIALHDR
		{
			public Guid PropertySet;
			public uint32 Count;
		}
		[CRepr]
		public struct KSPROPERTY_SERIAL
		{
			public KSIDENTIFIER PropTypeSet;
			public uint32 Id;
			public uint32 PropertyLength;
		}
		[CRepr, Union]
		public struct MF_MDL_SHARED_PAYLOAD_KEY
		{
			public _combined_e__Struct combined;
			public Guid GMDLHandle;
			
			[CRepr]
			public struct _combined_e__Struct
			{
				public uint32 pHandle;
				public uint32 fHandle;
				public uint64 uPayload;
			}
		}
		[CRepr]
		public struct KSMULTIPLE_DATA_PROP
		{
			public KSIDENTIFIER Property;
			public KSMULTIPLE_ITEM MultipleItem;
		}
		[CRepr]
		public struct KSAUDIO_POSITION
		{
			public uint64 PlayOffset;
			public uint64 WriteOffset;
		}
		[CRepr]
		public struct KSAUDIO_PRESENTATION_POSITION
		{
			public uint64 u64PositionInBlocks;
			public uint64 u64QPCPosition;
		}
		[CRepr]
		public struct _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT
		{
			public Guid ProcessingMode;
			public uint32 SamplesPerProcessingPacket;
			public uint32 ProcessingPacketDurationInHns;
		}
		[CRepr]
		public struct KSAUDIO_PACKETSIZE_CONSTRAINTS
		{
			public uint32 MinPacketPeriodInHns;
			public uint32 PacketSizeFileAlignment;
			public uint32 Reserved;
			public uint32 NumProcessingModeConstraints;
			public _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT[0] ProcessingModeConstraints;
		}
		[CRepr]
		public struct KSAUDIO_PACKETSIZE_CONSTRAINTS2
		{
			public uint32 MinPacketPeriodInHns;
			public uint32 PacketSizeFileAlignment;
			public uint32 MaxPacketSizeInBytes;
			public uint32 NumProcessingModeConstraints;
			public _KSAUDIO_PACKETSIZE_SIGNALPROCESSINGMODE_CONSTRAINT[0] ProcessingModeConstraints;
		}
		[CRepr]
		public struct KSAUDIO_MICROPHONE_COORDINATES
		{
			public uint16 usType;
			public int16 wXCoord;
			public int16 wYCoord;
			public int16 wZCoord;
			public int16 wVerticalAngle;
			public int16 wHorizontalAngle;
		}
		[CRepr]
		public struct KSAUDIO_MIC_ARRAY_GEOMETRY
		{
			public uint16 usVersion;
			public uint16 usMicArrayType;
			public int16 wVerticalAngleBegin;
			public int16 wVerticalAngleEnd;
			public int16 wHorizontalAngleBegin;
			public int16 wHorizontalAngleEnd;
			public uint16 usFrequencyBandLo;
			public uint16 usFrequencyBandHi;
			public uint16 usNumberOfMicrophones;
			public KSAUDIO_MICROPHONE_COORDINATES[0] KsMicCoord;
		}
		[CRepr]
		public struct DS3DVECTOR
		{
			public _Anonymous1_e__Union Anonymous1;
			public _Anonymous2_e__Union Anonymous2;
			public _Anonymous3_e__Union Anonymous3;
			
			[CRepr, Union]
			public struct _Anonymous2_e__Union
			{
				public float y;
				public float dvY;
			}
			[CRepr, Union]
			public struct _Anonymous1_e__Union
			{
				public float x;
				public float dvX;
			}
			[CRepr, Union]
			public struct _Anonymous3_e__Union
			{
				public float z;
				public float dvZ;
			}
		}
		[CRepr]
		public struct KSDS3D_LISTENER_ALL
		{
			public DS3DVECTOR Position;
			public DS3DVECTOR Velocity;
			public DS3DVECTOR OrientFront;
			public DS3DVECTOR OrientTop;
			public float DistanceFactor;
			public float RolloffFactor;
			public float DopplerFactor;
		}
		[CRepr]
		public struct KSDS3D_LISTENER_ORIENTATION
		{
			public DS3DVECTOR Front;
			public DS3DVECTOR Top;
		}
		[CRepr]
		public struct KSDS3D_BUFFER_ALL
		{
			public DS3DVECTOR Position;
			public DS3DVECTOR Velocity;
			public uint32 InsideConeAngle;
			public uint32 OutsideConeAngle;
			public DS3DVECTOR ConeOrientation;
			public int32 ConeOutsideVolume;
			public float MinDistance;
			public float MaxDistance;
			public uint32 Mode;
		}
		[CRepr]
		public struct KSDS3D_BUFFER_CONE_ANGLES
		{
			public uint32 InsideConeAngle;
			public uint32 OutsideConeAngle;
		}
		[CRepr]
		public struct KSDS3D_HRTF_PARAMS_MSG
		{
			public uint32 Size;
			public uint32 Enabled;
			public BOOL SwapChannels;
			public BOOL ZeroAzimuth;
			public BOOL CrossFadeOutput;
			public uint32 FilterSize;
		}
		[CRepr]
		public struct KSDS3D_HRTF_INIT_MSG
		{
			public uint32 Size;
			public KSDS3D_HRTF_FILTER_QUALITY Quality;
			public float SampleRate;
			public uint32 MaxFilterSize;
			public uint32 FilterTransientMuteLength;
			public uint32 FilterOverlapBufferLength;
			public uint32 OutputOverlapBufferLength;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSDS3D_HRTF_FILTER_FORMAT_MSG
		{
			public KSDS3D_HRTF_FILTER_METHOD FilterMethod;
			public KSDS3D_HRTF_COEFF_FORMAT CoeffFormat;
			public KSDS3D_HRTF_FILTER_VERSION Version;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSDS3D_ITD_PARAMS
		{
			public int32 Channel;
			public float VolSmoothScale;
			public float TotalDryAttenuation;
			public float TotalWetAttenuation;
			public int32 SmoothFrequency;
			public int32 Delay;
		}
		[CRepr]
		public struct KSDS3D_ITD_PARAMS_MSG
		{
			public uint32 Enabled;
			public KSDS3D_ITD_PARAMS LeftParams;
			public KSDS3D_ITD_PARAMS RightParams;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSDATARANGE_AUDIO
		{
			public KSDATAFORMAT DataRange;
			public uint32 MaximumChannels;
			public uint32 MinimumBitsPerSample;
			public uint32 MaximumBitsPerSample;
			public uint32 MinimumSampleFrequency;
			public uint32 MaximumSampleFrequency;
		}
		[CRepr]
		public struct KSRTAUDIO_BUFFER_PROPERTY
		{
			public KSIDENTIFIER Property;
			public void* BaseAddress;
			public uint32 RequestedBufferSize;
		}
		[CRepr]
		public struct KSRTAUDIO_BUFFER_PROPERTY32
		{
			public KSIDENTIFIER Property;
			public uint32 BaseAddress;
			public uint32 RequestedBufferSize;
		}
		[CRepr]
		public struct KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION
		{
			public KSIDENTIFIER Property;
			public void* BaseAddress;
			public uint32 RequestedBufferSize;
			public uint32 NotificationCount;
		}
		[CRepr]
		public struct KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION32
		{
			public KSIDENTIFIER Property;
			public uint32 BaseAddress;
			public uint32 RequestedBufferSize;
			public uint32 NotificationCount;
		}
		[CRepr]
		public struct KSRTAUDIO_BUFFER
		{
			public void* BufferAddress;
			public uint32 ActualBufferSize;
			public BOOL CallMemoryBarrier;
		}
		[CRepr]
		public struct KSRTAUDIO_BUFFER32
		{
			public uint32 BufferAddress;
			public uint32 ActualBufferSize;
			public BOOL CallMemoryBarrier;
		}
		[CRepr]
		public struct KSRTAUDIO_HWLATENCY
		{
			public uint32 FifoSize;
			public uint32 ChipsetDelay;
			public uint32 CodecDelay;
		}
		[CRepr]
		public struct KSRTAUDIO_HWREGISTER_PROPERTY
		{
			public KSIDENTIFIER Property;
			public void* BaseAddress;
		}
		[CRepr]
		public struct KSRTAUDIO_HWREGISTER_PROPERTY32
		{
			public KSIDENTIFIER Property;
			public uint32 BaseAddress;
		}
		[CRepr]
		public struct KSRTAUDIO_HWREGISTER
		{
			public void* Register;
			public uint32 Width;
			public uint64 Numerator;
			public uint64 Denominator;
			public uint32 Accuracy;
		}
		[CRepr]
		public struct KSRTAUDIO_HWREGISTER32
		{
			public uint32 Register;
			public uint32 Width;
			public uint64 Numerator;
			public uint64 Denominator;
			public uint32 Accuracy;
		}
		[CRepr]
		public struct KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY
		{
			public KSIDENTIFIER Property;
			public HANDLE NotificationEvent;
		}
		[CRepr]
		public struct KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY32
		{
			public KSIDENTIFIER Property;
			public uint32 NotificationEvent;
		}
		[CRepr]
		public struct KSRTAUDIO_GETREADPACKET_INFO
		{
			public uint32 PacketNumber;
			public uint32 Flags;
			public uint64 PerformanceCounterValue;
			public BOOL MoreData;
		}
		[CRepr]
		public struct KSRTAUDIO_SETWRITEPACKET_INFO
		{
			public uint32 PacketNumber;
			public uint32 Flags;
			public uint32 EosPacketLength;
		}
		[CRepr]
		public struct KSRTAUDIO_PACKETVREGISTER_PROPERTY
		{
			public KSIDENTIFIER Property;
			public void* BaseAddress;
		}
		[CRepr]
		public struct KSRTAUDIO_PACKETVREGISTER
		{
			public uint64* CompletedPacketCount;
			public uint64* CompletedPacketQPC;
			public uint64* CompletedPacketHash;
		}
		[CRepr]
		public struct INTERLEAVED_AUDIO_FORMAT_INFORMATION
		{
			public uint32 Size;
			public uint32 PrimaryChannelCount;
			public uint32 PrimaryChannelStartPosition;
			public uint32 PrimaryChannelMask;
			public uint32 InterleavedChannelCount;
			public uint32 InterleavedChannelStartPosition;
			public uint32 InterleavedChannelMask;
		}
		[CRepr]
		public struct KSSOUNDDETECTORPROPERTY
		{
			public KSIDENTIFIER Property;
			public Guid EventId;
		}
		[CRepr]
		public struct SOUNDDETECTOR_PATTERNHEADER
		{
			public uint32 Size;
			public Guid PatternType;
		}
		[CRepr]
		public struct KSAUDIO_COPY_PROTECTION
		{
			public BOOL fCopyrighted;
			public BOOL fOriginal;
		}
		[CRepr]
		public struct KSAUDIO_CHANNEL_CONFIG
		{
			public int32 ActiveSpeakerPositions;
		}
		[CRepr]
		public struct KSAUDIO_DYNAMIC_RANGE
		{
			public uint32 QuietCompression;
			public uint32 LoudCompression;
		}
		[CRepr]
		public struct KSAUDIO_MIXLEVEL
		{
			public BOOL Mute;
			public int32 Level;
		}
		[CRepr]
		public struct KSAUDIO_MIX_CAPS
		{
			public BOOL Mute;
			public int32 Minimum;
			public int32 Maximum;
			public _Anonymous_e__Union Anonymous;
			
			public int32 Reset { get => Anonymous.Reset; set mut => Anonymous.Reset = value; }
			public int32 Resolution { get => Anonymous.Resolution; set mut => Anonymous.Resolution = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public int32 Reset;
				public int32 Resolution;
			}
		}
		[CRepr]
		public struct KSAUDIO_MIXCAP_TABLE
		{
			public uint32 InputChannels;
			public uint32 OutputChannels;
			public KSAUDIO_MIX_CAPS[0] Capabilities;
		}
		[CRepr]
		public struct KSAUDIO_POSITIONEX
		{
			public LARGE_INTEGER TimerFrequency;
			public LARGE_INTEGER TimeStamp1;
			public KSAUDIO_POSITION Position;
			public LARGE_INTEGER TimeStamp2;
		}
		[CRepr]
		public struct KSTELEPHONY_CALLCONTROL
		{
			public TELEPHONY_CALLTYPE CallType;
			public TELEPHONY_CALLCONTROLOP CallControlOp;
		}
		[CRepr]
		public struct KSTELEPHONY_PROVIDERCHANGE
		{
			public TELEPHONY_CALLTYPE CallType;
			public TELEPHONY_PROVIDERCHANGEOP ProviderChangeOp;
		}
		[CRepr]
		public struct KSTELEPHONY_CALLINFO
		{
			public TELEPHONY_CALLTYPE CallType;
			public TELEPHONY_CALLSTATE CallState;
		}
		[CRepr]
		public struct KSTOPOLOGY_ENDPOINTID
		{
			public char16[260] TopologyName;
			public uint32 PinId;
		}
		[CRepr]
		public struct KSTOPOLOGY_ENDPOINTIDPAIR
		{
			public KSTOPOLOGY_ENDPOINTID RenderEndpoint;
			public KSTOPOLOGY_ENDPOINTID CaptureEndpoint;
		}
		[CRepr]
		public struct KSWAVETABLE_WAVE_DESC
		{
			public KSIDENTIFIER Identifier;
			public uint32 Size;
			public BOOL Looped;
			public uint32 LoopPoint;
			public BOOL InROM;
			public KSDATAFORMAT Format;
		}
		[CRepr]
		public struct KSWAVE_COMPATCAPS
		{
			public uint32 ulDeviceType;
		}
		[CRepr]
		public struct KSWAVE_INPUT_CAPABILITIES
		{
			public uint32 MaximumChannelsPerConnection;
			public uint32 MinimumBitsPerSample;
			public uint32 MaximumBitsPerSample;
			public uint32 MinimumSampleFrequency;
			public uint32 MaximumSampleFrequency;
			public uint32 TotalConnections;
			public uint32 ActiveConnections;
		}
		[CRepr]
		public struct KSWAVE_OUTPUT_CAPABILITIES
		{
			public uint32 MaximumChannelsPerConnection;
			public uint32 MinimumBitsPerSample;
			public uint32 MaximumBitsPerSample;
			public uint32 MinimumSampleFrequency;
			public uint32 MaximumSampleFrequency;
			public uint32 TotalConnections;
			public uint32 StaticConnections;
			public uint32 StreamingConnections;
			public uint32 ActiveConnections;
			public uint32 ActiveStaticConnections;
			public uint32 ActiveStreamingConnections;
			public uint32 Total3DConnections;
			public uint32 Static3DConnections;
			public uint32 Streaming3DConnections;
			public uint32 Active3DConnections;
			public uint32 ActiveStatic3DConnections;
			public uint32 ActiveStreaming3DConnections;
			public uint32 TotalSampleMemory;
			public uint32 FreeSampleMemory;
			public uint32 LargestFreeContiguousSampleMemory;
		}
		[CRepr]
		public struct KSWAVE_VOLUME
		{
			public int32 LeftAttenuation;
			public int32 RightAttenuation;
		}
		[CRepr]
		public struct KSWAVE_BUFFER
		{
			public uint32 Attributes;
			public uint32 BufferSize;
			public void* BufferAddress;
		}
		[CRepr]
		public struct KSDATARANGE_MUSIC
		{
			public KSDATAFORMAT DataRange;
			public Guid Technology;
			public uint32 Channels;
			public uint32 Notes;
			public uint32 ChannelMask;
		}
		[CRepr]
		public struct LOOPEDSTREAMING_POSITION_EVENT_DATA
		{
			public KSEVENTDATA KsEventData;
			public uint64 Position;
		}
		[CRepr]
		public struct KSNODEPROPERTY
		{
			public KSIDENTIFIER Property;
			public uint32 NodeId;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSNODEPROPERTY_AUDIO_CHANNEL
		{
			public KSNODEPROPERTY NodeProperty;
			public int32 Channel;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSNODEPROPERTY_AUDIO_DEV_SPECIFIC
		{
			public KSNODEPROPERTY NodeProperty;
			public uint32 DevSpecificId;
			public uint32 DeviceInfo;
			public uint32 Length;
		}
		[CRepr]
		public struct KSNODEPROPERTY_AUDIO_3D_LISTENER
		{
			public KSNODEPROPERTY NodeProperty;
			public void* ListenerId;
		}
		[CRepr]
		public struct KSNODEPROPERTY_AUDIO_PROPERTY
		{
			public KSNODEPROPERTY NodeProperty;
			public void* AppContext;
			public uint32 Length;
		}
		[CRepr]
		public struct KSMUSICFORMAT
		{
			public uint32 TimeDeltaMs;
			public uint32 ByteCount;
		}
		[CRepr]
		public struct KSMPEGVID_RECT
		{
			public uint32 StartX;
			public uint32 StartY;
			public uint32 EndX;
			public uint32 EndY;
		}
		[CRepr]
		public struct KSAC3_ERROR_CONCEALMENT
		{
			public BOOL fRepeatPreviousBlock;
			public BOOL fErrorInCurrentBlock;
		}
		[CRepr]
		public struct KSAC3_ALTERNATE_AUDIO
		{
			public BOOL fStereo;
			public uint32 DualMode;
		}
		[CRepr]
		public struct KSAC3_DOWNMIX
		{
			public BOOL fDownMix;
			public BOOL fDolbySurround;
		}
		[CRepr]
		public struct KSAC3_BIT_STREAM_MODE
		{
			public int32 BitStreamMode;
		}
		[CRepr]
		public struct KSAC3_DIALOGUE_LEVEL
		{
			public uint32 DialogueLevel;
		}
		[CRepr]
		public struct KSAC3_ROOM_TYPE
		{
			public BOOL fLargeRoom;
		}
		[CRepr]
		public struct KS_DVD_YCrCb
		{
			public uint8 Reserved;
			public uint8 Y;
			public uint8 Cr;
			public uint8 Cb;
		}
		[CRepr]
		public struct KS_DVD_YUV
		{
			public uint8 Reserved;
			public uint8 Y;
			public uint8 V;
			public uint8 U;
		}
		[CRepr]
		public struct KSPROPERTY_SPPAL
		{
			public KS_DVD_YUV[16] sppal;
		}
		[CRepr]
		public struct KS_COLCON
		{
			public uint8 _bitfield1;
			public uint8 _bitfield2;
			public uint8 _bitfield3;
			public uint8 _bitfield4;
		}
		[CRepr]
		public struct KSPROPERTY_SPHLI
		{
			public uint16 HLISS;
			public uint16 Reserved;
			public uint32 StartPTM;
			public uint32 EndPTM;
			public uint16 StartX;
			public uint16 StartY;
			public uint16 StopX;
			public uint16 StopY;
			public KS_COLCON ColCon;
		}
		[CRepr]
		public struct KS_DVDCOPY_CHLGKEY
		{
			public uint8[10] ChlgKey;
			public uint8[2] Reserved;
		}
		[CRepr]
		public struct KS_DVDCOPY_BUSKEY
		{
			public uint8[5] BusKey;
			public uint8[0] Reserved;
		}
		[CRepr]
		public struct KS_DVDCOPY_DISCKEY
		{
			public uint8[2048] DiscKey;
		}
		[CRepr]
		public struct KS_DVDCOPY_REGION
		{
			public uint8 Reserved;
			public uint8 RegionData;
			public uint8[2] Reserved2;
		}
		[CRepr]
		public struct KS_DVDCOPY_TITLEKEY
		{
			public uint32 KeyFlags;
			public uint32[2] ReservedNT;
			public uint8[6] TitleKey;
			public uint8[2] Reserved;
		}
		[CRepr]
		public struct KS_COPY_MACROVISION
		{
			public uint32 MACROVISIONLevel;
		}
		[CRepr]
		public struct KS_DVDCOPY_SET_COPY_STATE
		{
			public uint32 DVDCopyState;
		}
		[CRepr]
		public struct KS_RGBQUAD
		{
			public uint8 rgbBlue;
			public uint8 rgbGreen;
			public uint8 rgbRed;
			public uint8 rgbReserved;
		}
		[CRepr]
		public struct KS_BITMAPINFOHEADER
		{
			public uint32 biSize;
			public int32 biWidth;
			public int32 biHeight;
			public uint16 biPlanes;
			public uint16 biBitCount;
			public uint32 biCompression;
			public uint32 biSizeImage;
			public int32 biXPelsPerMeter;
			public int32 biYPelsPerMeter;
			public uint32 biClrUsed;
			public uint32 biClrImportant;
		}
		[CRepr]
		public struct KS_TRUECOLORINFO
		{
			public uint32[3] dwBitMasks;
			public KS_RGBQUAD[256] bmiColors;
		}
		[CRepr]
		public struct KS_VIDEOINFOHEADER
		{
			public RECT rcSource;
			public RECT rcTarget;
			public uint32 dwBitRate;
			public uint32 dwBitErrorRate;
			public int64 AvgTimePerFrame;
			public KS_BITMAPINFOHEADER bmiHeader;
		}
		[CRepr]
		public struct KS_VIDEOINFO
		{
			public RECT rcSource;
			public RECT rcTarget;
			public uint32 dwBitRate;
			public uint32 dwBitErrorRate;
			public int64 AvgTimePerFrame;
			public KS_BITMAPINFOHEADER bmiHeader;
			public _Anonymous_e__Union Anonymous;
			
			public KS_RGBQUAD[256] bmiColors { get => Anonymous.bmiColors; set mut => Anonymous.bmiColors = value; }
			public uint32[3] dwBitMasks { get => Anonymous.dwBitMasks; set mut => Anonymous.dwBitMasks = value; }
			public KS_TRUECOLORINFO TrueColorInfo { get => Anonymous.TrueColorInfo; set mut => Anonymous.TrueColorInfo = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public KS_RGBQUAD[256] bmiColors;
				public uint32[3] dwBitMasks;
				public KS_TRUECOLORINFO TrueColorInfo;
			}
		}
		[CRepr]
		public struct KS_VBIINFOHEADER
		{
			public uint32 StartLine;
			public uint32 EndLine;
			public uint32 SamplingFrequency;
			public uint32 MinLineStartTime;
			public uint32 MaxLineStartTime;
			public uint32 ActualLineStartTime;
			public uint32 ActualLineEndTime;
			public uint32 VideoStandard;
			public uint32 SamplesPerLine;
			public uint32 StrideInBytes;
			public uint32 BufferSize;
		}
		[CRepr]
		public struct KS_AnalogVideoInfo
		{
			public RECT rcSource;
			public RECT rcTarget;
			public uint32 dwActiveWidth;
			public uint32 dwActiveHeight;
			public int64 AvgTimePerFrame;
		}
		[CRepr]
		public struct KS_TVTUNER_CHANGE_INFO
		{
			public uint32 dwFlags;
			public uint32 dwCountryCode;
			public uint32 dwAnalogVideoStandard;
			public uint32 dwChannel;
		}
		[CRepr]
		public struct KS_VIDEOINFOHEADER2
		{
			public RECT rcSource;
			public RECT rcTarget;
			public uint32 dwBitRate;
			public uint32 dwBitErrorRate;
			public int64 AvgTimePerFrame;
			public uint32 dwInterlaceFlags;
			public uint32 dwCopyProtectFlags;
			public uint32 dwPictAspectRatioX;
			public uint32 dwPictAspectRatioY;
			public _Anonymous_e__Union Anonymous;
			public uint32 dwReserved2;
			public KS_BITMAPINFOHEADER bmiHeader;
			
			public uint32 dwControlFlags { get => Anonymous.dwControlFlags; set mut => Anonymous.dwControlFlags = value; }
			public uint32 dwReserved1 { get => Anonymous.dwReserved1; set mut => Anonymous.dwReserved1 = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public uint32 dwControlFlags;
				public uint32 dwReserved1;
			}
		}
		[CRepr]
		public struct KS_MPEG1VIDEOINFO
		{
			public KS_VIDEOINFOHEADER hdr;
			public uint32 dwStartTimeCode;
			public uint32 cbSequenceHeader;
			public uint8[0] bSequenceHeader;
		}
		[CRepr]
		public struct KS_MPEGVIDEOINFO2
		{
			public KS_VIDEOINFOHEADER2 hdr;
			public uint32 dwStartTimeCode;
			public uint32 cbSequenceHeader;
			public uint32 dwProfile;
			public uint32 dwLevel;
			public uint32 dwFlags;
			public uint32[0] bSequenceHeader;
		}
		[CRepr]
		public struct KS_H264VIDEOINFO
		{
			public uint16 wWidth;
			public uint16 wHeight;
			public uint16 wSARwidth;
			public uint16 wSARheight;
			public uint16 wProfile;
			public uint8 bLevelIDC;
			public uint16 wConstrainedToolset;
			public uint32 bmSupportedUsages;
			public uint16 bmCapabilities;
			public uint32 bmSVCCapabilities;
			public uint32 bmMVCCapabilities;
			public uint32 dwFrameInterval;
			public uint8 bMaxCodecConfigDelay;
			public uint8 bmSupportedSliceModes;
			public uint8 bmSupportedSyncFrameTypes;
			public uint8 bResolutionScaling;
			public uint8 bSimulcastSupport;
			public uint8 bmSupportedRateControlModes;
			public uint16 wMaxMBperSecOneResolutionNoScalability;
			public uint16 wMaxMBperSecTwoResolutionsNoScalability;
			public uint16 wMaxMBperSecThreeResolutionsNoScalability;
			public uint16 wMaxMBperSecFourResolutionsNoScalability;
			public uint16 wMaxMBperSecOneResolutionTemporalScalability;
			public uint16 wMaxMBperSecTwoResolutionsTemporalScalablility;
			public uint16 wMaxMBperSecThreeResolutionsTemporalScalability;
			public uint16 wMaxMBperSecFourResolutionsTemporalScalability;
			public uint16 wMaxMBperSecOneResolutionTemporalQualityScalability;
			public uint16 wMaxMBperSecTwoResolutionsTemporalQualityScalability;
			public uint16 wMaxMBperSecThreeResolutionsTemporalQualityScalablity;
			public uint16 wMaxMBperSecFourResolutionsTemporalQualityScalability;
			public uint16 wMaxMBperSecOneResolutionTemporalSpatialScalability;
			public uint16 wMaxMBperSecTwoResolutionsTemporalSpatialScalability;
			public uint16 wMaxMBperSecThreeResolutionsTemporalSpatialScalablity;
			public uint16 wMaxMBperSecFourResolutionsTemporalSpatialScalability;
			public uint16 wMaxMBperSecOneResolutionFullScalability;
			public uint16 wMaxMBperSecTwoResolutionsFullScalability;
			public uint16 wMaxMBperSecThreeResolutionsFullScalability;
			public uint16 wMaxMBperSecFourResolutionsFullScalability;
		}
		[CRepr]
		public struct KS_MPEAUDIOINFO
		{
			public uint32 dwFlags;
			public uint32 dwReserved1;
			public uint32 dwReserved2;
			public uint32 dwReserved3;
		}
		[CRepr]
		public struct KS_DATAFORMAT_VIDEOINFOHEADER
		{
			public KSDATAFORMAT DataFormat;
			public KS_VIDEOINFOHEADER VideoInfoHeader;
		}
		[CRepr]
		public struct KS_DATAFORMAT_VIDEOINFOHEADER2
		{
			public KSDATAFORMAT DataFormat;
			public KS_VIDEOINFOHEADER2 VideoInfoHeader2;
		}
		[CRepr]
		public struct KS_DATAFORMAT_MPEGVIDEOINFO2
		{
			public KSDATAFORMAT DataFormat;
			public KS_MPEGVIDEOINFO2 MpegVideoInfoHeader2;
		}
		[CRepr]
		public struct KS_DATAFORMAT_H264VIDEOINFO
		{
			public KSDATAFORMAT DataFormat;
			public KS_H264VIDEOINFO H264VideoInfoHeader;
		}
		[CRepr]
		public struct KS_DATAFORMAT_IMAGEINFO
		{
			public KSDATAFORMAT DataFormat;
			public KS_BITMAPINFOHEADER ImageInfoHeader;
		}
		[CRepr]
		public struct KS_DATAFORMAT_VIDEOINFO_PALETTE
		{
			public KSDATAFORMAT DataFormat;
			public KS_VIDEOINFO VideoInfo;
		}
		[CRepr]
		public struct KS_DATAFORMAT_VBIINFOHEADER
		{
			public KSDATAFORMAT DataFormat;
			public KS_VBIINFOHEADER VBIInfoHeader;
		}
		[CRepr]
		public struct KS_VIDEO_STREAM_CONFIG_CAPS
		{
			public Guid guid;
			public uint32 VideoStandard;
			public SIZE InputSize;
			public SIZE MinCroppingSize;
			public SIZE MaxCroppingSize;
			public int32 CropGranularityX;
			public int32 CropGranularityY;
			public int32 CropAlignX;
			public int32 CropAlignY;
			public SIZE MinOutputSize;
			public SIZE MaxOutputSize;
			public int32 OutputGranularityX;
			public int32 OutputGranularityY;
			public int32 StretchTapsX;
			public int32 StretchTapsY;
			public int32 ShrinkTapsX;
			public int32 ShrinkTapsY;
			public int64 MinFrameInterval;
			public int64 MaxFrameInterval;
			public int32 MinBitsPerSecond;
			public int32 MaxBitsPerSecond;
		}
		[CRepr]
		public struct KS_DATARANGE_VIDEO
		{
			public KSDATAFORMAT DataRange;
			public BOOL bFixedSizeSamples;
			public BOOL bTemporalCompression;
			public uint32 StreamDescriptionFlags;
			public uint32 MemoryAllocationFlags;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_VIDEOINFOHEADER VideoInfoHeader;
		}
		[CRepr]
		public struct KS_DATARANGE_VIDEO2
		{
			public KSDATAFORMAT DataRange;
			public BOOL bFixedSizeSamples;
			public BOOL bTemporalCompression;
			public uint32 StreamDescriptionFlags;
			public uint32 MemoryAllocationFlags;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_VIDEOINFOHEADER2 VideoInfoHeader;
		}
		[CRepr]
		public struct KS_DATARANGE_MPEG1_VIDEO
		{
			public KSDATAFORMAT DataRange;
			public BOOL bFixedSizeSamples;
			public BOOL bTemporalCompression;
			public uint32 StreamDescriptionFlags;
			public uint32 MemoryAllocationFlags;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_MPEG1VIDEOINFO VideoInfoHeader;
		}
		[CRepr]
		public struct KS_DATARANGE_MPEG2_VIDEO
		{
			public KSDATAFORMAT DataRange;
			public BOOL bFixedSizeSamples;
			public BOOL bTemporalCompression;
			public uint32 StreamDescriptionFlags;
			public uint32 MemoryAllocationFlags;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_MPEGVIDEOINFO2 VideoInfoHeader;
		}
		[CRepr]
		public struct KS_DATARANGE_H264_VIDEO
		{
			public KSDATAFORMAT DataRange;
			public BOOL bFixedSizeSamples;
			public BOOL bTemporalCompression;
			public uint32 StreamDescriptionFlags;
			public uint32 MemoryAllocationFlags;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_H264VIDEOINFO VideoInfoHeader;
		}
		[CRepr]
		public struct KS_DATARANGE_IMAGE
		{
			public KSDATAFORMAT DataRange;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_BITMAPINFOHEADER ImageInfoHeader;
		}
		[CRepr]
		public struct KS_DATARANGE_VIDEO_PALETTE
		{
			public KSDATAFORMAT DataRange;
			public BOOL bFixedSizeSamples;
			public BOOL bTemporalCompression;
			public uint32 StreamDescriptionFlags;
			public uint32 MemoryAllocationFlags;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_VIDEOINFO VideoInfo;
		}
		[CRepr]
		public struct KS_DATARANGE_VIDEO_VBI
		{
			public KSDATAFORMAT DataRange;
			public BOOL bFixedSizeSamples;
			public BOOL bTemporalCompression;
			public uint32 StreamDescriptionFlags;
			public uint32 MemoryAllocationFlags;
			public KS_VIDEO_STREAM_CONFIG_CAPS ConfigCaps;
			public KS_VBIINFOHEADER VBIInfoHeader;
		}
		[CRepr]
		public struct KS_DATARANGE_ANALOGVIDEO
		{
			public KSDATAFORMAT DataRange;
			public KS_AnalogVideoInfo AnalogVideoInfo;
		}
		[CRepr]
		public struct VBICAP_PROPERTIES_PROTECTION_S
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public uint32 Status;
		}
		[CRepr]
		public struct NABTSFEC_BUFFER
		{
			public uint32 dataSize;
			public uint16 groupID;
			public uint16 Reserved;
			public uint8[448] data;
		}
		[CRepr]
		public struct VBICODECFILTERING_SCANLINES
		{
			public uint32[32] DwordBitArray;
		}
		[CRepr]
		public struct VBICODECFILTERING_NABTS_SUBSTREAMS
		{
			public uint32[128] SubstreamMask;
		}
		[CRepr]
		public struct VBICODECFILTERING_CC_SUBSTREAMS
		{
			public uint32 SubstreamMask;
		}
		[CRepr]
		public struct CC_BYTE_PAIR
		{
			public uint8[2] Decoded;
			public uint16 Reserved;
		}
		[CRepr]
		public struct CC_HW_FIELD
		{
			public VBICODECFILTERING_SCANLINES ScanlinesRequested;
			public uint32 fieldFlags;
			public int64 PictureNumber;
			public CC_BYTE_PAIR[12] Lines;
		}
		[CRepr]
		public struct NABTS_BUFFER_LINE
		{
			public uint8 Confidence;
			public uint8[36] Bytes;
		}
		[CRepr, Packed(1)]
		public struct NABTS_BUFFER
		{
			public VBICODECFILTERING_SCANLINES ScanlinesRequested;
			public int64 PictureNumber;
			public NABTS_BUFFER_LINE[11] NabtsLines;
		}
		[CRepr]
		public struct WST_BUFFER_LINE
		{
			public uint8 Confidence;
			public uint8[42] Bytes;
		}
		[CRepr]
		public struct WST_BUFFER
		{
			public VBICODECFILTERING_SCANLINES ScanlinesRequested;
			public WST_BUFFER_LINE[17] WstLines;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_COMMON
		{
			public uint32 InputSRBsProcessed;
			public uint32 OutputSRBsProcessed;
			public uint32 SRBsIgnored;
			public uint32 InputSRBsMissing;
			public uint32 OutputSRBsMissing;
			public uint32 OutputFailures;
			public uint32 InternalErrors;
			public uint32 ExternalErrors;
			public uint32 InputDiscontinuities;
			public uint32 DSPFailures;
			public uint32 TvTunerChanges;
			public uint32 VBIHeaderChanges;
			public uint32 LineConfidenceAvg;
			public uint32 BytesOutput;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_COMMON_PIN
		{
			public uint32 SRBsProcessed;
			public uint32 SRBsIgnored;
			public uint32 SRBsMissing;
			public uint32 InternalErrors;
			public uint32 ExternalErrors;
			public uint32 Discontinuities;
			public uint32 LineConfidenceAvg;
			public uint32 BytesOutput;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_NABTS
		{
			public VBICODECFILTERING_STATISTICS_COMMON Common;
			public uint32 FECBundleBadLines;
			public uint32 FECQueueOverflows;
			public uint32 FECCorrectedLines;
			public uint32 FECUncorrectableLines;
			public uint32 BundlesProcessed;
			public uint32 BundlesSent2IP;
			public uint32 FilteredLines;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_NABTS_PIN
		{
			public VBICODECFILTERING_STATISTICS_COMMON_PIN Common;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_CC
		{
			public VBICODECFILTERING_STATISTICS_COMMON Common;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_CC_PIN
		{
			public VBICODECFILTERING_STATISTICS_COMMON_PIN Common;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_TELETEXT
		{
			public VBICODECFILTERING_STATISTICS_COMMON Common;
		}
		[CRepr]
		public struct VBICODECFILTERING_STATISTICS_TELETEXT_PIN
		{
			public VBICODECFILTERING_STATISTICS_COMMON_PIN Common;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_SCANLINES_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_SCANLINES Scanlines;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_NABTS_SUBSTREAMS_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_NABTS_SUBSTREAMS Substreams;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_CC_SUBSTREAMS_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_CC_SUBSTREAMS Substreams;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_STATISTICS_COMMON Statistics;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_STATISTICS_COMMON_PIN_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_STATISTICS_COMMON_PIN Statistics;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_STATISTICS_NABTS Statistics;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_STATISTICS_NABTS_PIN_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_STATISTICS_NABTS_PIN Statistics;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_STATISTICS_CC Statistics;
		}
		[CRepr]
		public struct KSPROPERTY_VBICODECFILTERING_STATISTICS_CC_PIN_S
		{
			public KSIDENTIFIER Property;
			public VBICODECFILTERING_STATISTICS_CC_PIN Statistics;
		}
		[CRepr]
		public struct VRAM_SURFACE_INFO
		{
			public uint hSurface;
			public int64 VramPhysicalAddress;
			public uint32 cbCaptured;
			public uint32 dwWidth;
			public uint32 dwHeight;
			public uint32 dwLinearSize;
			public int32 lPitch;
			public uint64[16] ullReserved;
		}
		[CRepr]
		public struct VRAM_SURFACE_INFO_PROPERTY_S
		{
			public KSIDENTIFIER Property;
			public VRAM_SURFACE_INFO* pVramSurfaceInfo;
		}
		[CRepr]
		public struct SECURE_BUFFER_INFO
		{
			public Guid guidBufferIdentifier;
			public uint32 cbBufferSize;
			public uint32 cbCaptured;
			public uint64[16] ullReserved;
		}
		[CRepr]
		public struct KS_FRAME_INFO
		{
			public uint32 ExtendedHeaderSize;
			public uint32 dwFrameFlags;
			public int64 PictureNumber;
			public int64 DropCount;
			public HANDLE hDirectDraw;
			public HANDLE hSurfaceHandle;
			public RECT DirectDrawRect;
			public _Anonymous1_e__Union Anonymous1;
			public uint32 Reserved2;
			public _Anonymous2_e__Union Anonymous2;
			
			[CRepr, Union]
			public struct _Anonymous2_e__Union
			{
				public _Anonymous_e__Struct Anonymous;
				public uint64 FrameCompletionNumber;
				
				public uint32 Reserved3 { get => Anonymous.Reserved3; set mut => Anonymous.Reserved3 = value; }
				public uint32 Reserved4 { get => Anonymous.Reserved4; set mut => Anonymous.Reserved4 = value; }
				
				[CRepr]
				public struct _Anonymous_e__Struct
				{
					public uint32 Reserved3;
					public uint32 Reserved4;
				}
			}
			[CRepr, Union]
			public struct _Anonymous1_e__Union
			{
				public int32 lSurfacePitch;
				public uint32 Reserved1;
			}
		}
		[CRepr]
		public struct KS_VBI_FRAME_INFO
		{
			public uint32 ExtendedHeaderSize;
			public uint32 dwFrameFlags;
			public int64 PictureNumber;
			public int64 DropCount;
			public uint32 dwSamplingFrequency;
			public KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo;
			public KS_VBIINFOHEADER VBIInfoHeader;
		}
		[CRepr]
		public struct KSPROPERTY_ALLOCATOR_CONTROL_SURFACE_SIZE_S
		{
			public uint32 CX;
			public uint32 CY;
		}
		[CRepr]
		public struct KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_CAPS_S
		{
			public uint32 InterleavedCapSupported;
		}
		[CRepr]
		public struct KSPROPERTY_ALLOCATOR_CONTROL_CAPTURE_INTERLEAVE_S
		{
			public uint32 InterleavedCapPossible;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOPROCAMP_S
		{
			public KSIDENTIFIER Property;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOPROCAMP_NODE_S
		{
			public KSP_NODE NodeProperty;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOPROCAMP_S2
		{
			public KSIDENTIFIER Property;
			public int32 Value1;
			public uint32 Flags;
			public uint32 Capabilities;
			public int32 Value2;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOPROCAMP_NODE_S2
		{
			public KSP_NODE NodeProperty;
			public int32 Value1;
			public uint32 Flags;
			public uint32 Capabilities;
			public int32 Value2;
		}
		[CRepr]
		public struct KSPROPERTY_SELECTOR_S
		{
			public KSIDENTIFIER Property;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_SELECTOR_NODE_S
		{
			public KSP_NODE NodeProperty;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_CAPS_S
		{
			public KSIDENTIFIER Property;
			public uint32 ModesSupported;
			public KSIDENTIFIER VideoMedium;
			public KSIDENTIFIER TVAudioMedium;
			public KSIDENTIFIER RadioAudioMedium;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_IF_MEDIUM_S
		{
			public KSIDENTIFIER Property;
			public KSIDENTIFIER IFMedium;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_MODE_CAPS_S
		{
			public KSIDENTIFIER Property;
			public uint32 Mode;
			public uint32 StandardsSupported;
			public uint32 MinFrequency;
			public uint32 MaxFrequency;
			public uint32 TuningGranularity;
			public uint32 NumberOfInputs;
			public uint32 SettlingTime;
			public uint32 Strategy;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_MODE_S
		{
			public KSIDENTIFIER Property;
			public uint32 Mode;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_FREQUENCY_S
		{
			public KSIDENTIFIER Property;
			public uint32 Frequency;
			public uint32 LastFrequency;
			public uint32 TuningFlags;
			public uint32 VideoSubChannel;
			public uint32 AudioSubChannel;
			public uint32 Channel;
			public uint32 Country;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_STANDARD_S
		{
			public KSIDENTIFIER Property;
			public uint32 Standard;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_STANDARD_MODE_S
		{
			public KSIDENTIFIER Property;
			public BOOL AutoDetect;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_INPUT_S
		{
			public KSIDENTIFIER Property;
			public uint32 InputIndex;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_STATUS_S
		{
			public KSIDENTIFIER Property;
			public uint32 CurrentFrequency;
			public uint32 PLLOffset;
			public uint32 SignalStrength;
			public uint32 Busy;
		}
		[CRepr]
		public struct TUNER_ANALOG_CAPS_S
		{
			public uint32 Mode;
			public uint32 StandardsSupported;
			public uint32 MinFrequency;
			public uint32 MaxFrequency;
			public uint32 TuningGranularity;
			public uint32 SettlingTime;
			public uint32 ScanSensingRange;
			public uint32 FineTuneSensingRange;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_SCAN_CAPS_S
		{
			public KSIDENTIFIER Property;
			public BOOL fSupportsHardwareAssistedScanning;
			public uint32 SupportedBroadcastStandards;
			public void* GUIDBucket;
			public uint32 lengthofBucket;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_NETWORKTYPE_SCAN_CAPS_S
		{
			public KSIDENTIFIER Property;
			public Guid NetworkType;
			public uint32 BufferSize;
			public void* NetworkTunerCapabilities;
		}
		[CRepr]
		public struct KSPROPERTY_TUNER_SCAN_STATUS_S
		{
			public KSIDENTIFIER Property;
			public _TunerDecoderLockType LockStatus;
			public uint32 CurrentFrequency;
		}
		[CRepr]
		public struct KSEVENT_TUNER_INITIATE_SCAN_S
		{
			public KSEVENTDATA EventData;
			public uint32 StartFrequency;
			public uint32 EndFrequency;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOENCODER_S
		{
			public KSIDENTIFIER Property;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEODECODER_CAPS_S
		{
			public KSIDENTIFIER Property;
			public uint32 StandardsSupported;
			public uint32 Capabilities;
			public uint32 SettlingTime;
			public uint32 HSyncPerVSync;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEODECODER_STATUS_S
		{
			public KSIDENTIFIER Property;
			public uint32 NumberOfLines;
			public uint32 SignalLocked;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEODECODER_STATUS2_S
		{
			public KSIDENTIFIER Property;
			public uint32 NumberOfLines;
			public uint32 SignalLocked;
			public uint32 ChromaLock;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEODECODER_S
		{
			public KSIDENTIFIER Property;
			public uint32 Value;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_S_EX
		{
			public KSIDENTIFIER Property;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
			public RECT FocusRect;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_S
		{
			public KSIDENTIFIER Property;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_NODE_S
		{
			public KSP_NODE NodeProperty;
			public int32 Value;
			public uint32 Flags;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_S2
		{
			public KSIDENTIFIER Property;
			public int32 Value1;
			public uint32 Flags;
			public uint32 Capabilities;
			public int32 Value2;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_NODE_S2
		{
			public KSP_NODE NodeProperty;
			public int32 Value1;
			public uint32 Flags;
			public uint32 Capabilities;
			public int32 Value2;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_FOCAL_LENGTH_S
		{
			public KSIDENTIFIER Property;
			public int32 lOcularFocalLength;
			public int32 lObjectiveFocalLengthMin;
			public int32 lObjectiveFocalLengthMax;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_NODE_FOCAL_LENGTH_S
		{
			public KSNODEPROPERTY NodeProperty;
			public int32 lOcularFocalLength;
			public int32 lObjectiveFocalLengthMin;
			public int32 lObjectiveFocalLengthMax;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_FLASH_S
		{
			public uint32 Flash;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_VIDEOSTABILIZATION_MODE_S
		{
			public uint32 VideoStabilizationMode;
			public uint32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_S
		{
			public RECT FocusRect;
			public BOOL AutoFocusLock;
			public BOOL AutoExposureLock;
			public BOOL AutoWhitebalanceLock;
			public _Anonymous_e__Union Anonymous;
			
			public uint32 Capabilities { get => Anonymous.Capabilities; set mut => Anonymous.Capabilities = value; }
			public uint32 Configuration { get => Anonymous.Configuration; set mut => Anonymous.Configuration = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public uint32 Capabilities;
				public uint32 Configuration;
			}
		}
		[CRepr]
		public struct KSPROPERTY_CAMERACONTROL_IMAGE_PIN_CAPABILITY_S
		{
			public uint32 Capabilities;
			public uint32 Reserved0;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_HEADER
		{
			public uint32 Version;
			public uint32 PinId;
			public uint32 Size;
			public uint32 Result;
			public uint64 Flags;
			public uint64 Capability;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_VALUE
		{
			public _Value_e__Union Value;
			
			[CRepr, Union]
			public struct _Value_e__Union
			{
				public double dbl;
				public uint64 ull;
				public uint32 ul;
				public ULARGE_INTEGER ratio;
				public int32 l;
				public int64 ll;
			}
		}
		[CRepr]
		public struct KSCAMERA_MAXVIDEOFPS_FORPHOTORES
		{
			public uint32 PhotoResWidth;
			public uint32 PhotoResHeight;
			public uint32 PreviewFPSNum;
			public uint32 PreviewFPSDenom;
			public uint32 CaptureFPSNum;
			public uint32 CaptureFPSDenom;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_PHOTOMODE
		{
			public uint32 RequestedHistoryFrames;
			public uint32 MaxHistoryFrames;
			public uint32 SubMode;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING
		{
			public uint32 Mode;
			public int32 Min;
			public int32 Max;
			public int32 Step;
			public KSCAMERA_EXTENDEDPROP_VALUE VideoProc;
			public uint64 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_EVCOMPENSATION
		{
			public uint32 Mode;
			public int32 Min;
			public int32 Max;
			public int32 Value;
			public uint64 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_FIELDOFVIEW
		{
			public uint32 NormalizedFocalLengthX;
			public uint32 NormalizedFocalLengthY;
			public uint32 Flag;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_CAMERAOFFSET
		{
			public int32 PitchAngle;
			public int32 YawAngle;
			public uint32 Flag;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_METADATAINFO
		{
			public int32 BufferAlignment;
			public uint32 MaxMetadataBufferSize;
		}
		[CRepr]
		public struct KSCAMERA_METADATA_ITEMHEADER
		{
			public uint32 MetadataId;
			public uint32 Size;
		}
		[CRepr]
		public struct KSCAMERA_METADATA_PHOTOCONFIRMATION
		{
			public KSCAMERA_METADATA_ITEMHEADER Header;
			public uint32 PhotoConfirmationIndex;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_METADATA_FRAMEILLUMINATION
		{
			public KSCAMERA_METADATA_ITEMHEADER Header;
			public uint32 Flags;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_METADATA_CAPTURESTATS
		{
			public KSCAMERA_METADATA_ITEMHEADER Header;
			public uint32 Flags;
			public uint32 Reserved;
			public uint64 ExposureTime;
			public uint64 ExposureCompensationFlags;
			public int32 ExposureCompensationValue;
			public uint32 IsoSpeed;
			public uint32 FocusState;
			public uint32 LensPosition;
			public uint32 WhiteBalance;
			public uint32 Flash;
			public uint32 FlashPower;
			public uint32 ZoomFactor;
			public uint64 SceneMode;
			public uint64 SensorFramerate;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPSHEADER
		{
			public uint32 Size;
			public uint32 ConfigCapCount;
			public uint64 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_CONFIGCAPS
		{
			public uint32 ControlId;
			public uint32 MaxNumberOfROIs;
			public uint64 Capability;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER
		{
			public uint32 Size;
			public uint32 ControlCount;
			public uint64 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL
		{
			public uint32 ControlId;
			public uint32 ROICount;
			public uint32 Result;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_INFO
		{
			public RECT Region;
			public uint64 Flags;
			public int32 Weight;
			public int32 RegionOfInterestType;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_WHITEBALANCE
		{
			public KSCAMERA_EXTENDEDPROP_ROI_INFO ROIInfo;
			public uint64 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE
		{
			public KSCAMERA_EXTENDEDPROP_ROI_INFO ROIInfo;
			public uint64 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_ROI_FOCUS
		{
			public KSCAMERA_EXTENDEDPROP_ROI_INFO ROIInfo;
			public uint64 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER
		{
			public uint32 Size;
			public uint32 Type;
			public uint64 Flags;
		}
		[CRepr]
		public struct KSCAMERA_PERFRAMESETTING_CAP_HEADER
		{
			public uint32 Size;
			public uint32 ItemCount;
			public uint64 Flags;
		}
		[CRepr]
		public struct KSCAMERA_PERFRAMESETTING_CUSTOM_ITEM
		{
			public uint32 Size;
			public uint32 Reserved;
			public Guid Id;
		}
		[CRepr]
		public struct KSCAMERA_PERFRAMESETTING_ITEM_HEADER
		{
			public uint32 Size;
			public uint32 Type;
			public uint64 Flags;
		}
		[CRepr]
		public struct KSCAMERA_PERFRAMESETTING_FRAME_HEADER
		{
			public uint32 Size;
			public uint32 Id;
			public uint32 ItemCount;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_PERFRAMESETTING_HEADER
		{
			public uint32 Size;
			public uint32 FrameCount;
			public Guid Id;
			public uint64 Flags;
			public uint32 LoopCount;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING
		{
			public int32 OriginX;
			public int32 OriginY;
			public int32 WindowSize;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_METADATA_DIGITALWINDOW
		{
			public KSCAMERA_METADATA_ITEMHEADER Header;
			public KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_SETTING Window;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPSHEADER
		{
			public uint32 Size;
			public uint32 Count;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_CONFIGCAPS
		{
			public int32 ResolutionX;
			public int32 ResolutionY;
			public int32 PorchTop;
			public int32 PorchLeft;
			public int32 PorchBottom;
			public int32 PorchRight;
			public int32 NonUpscalingWindowSize;
			public int32 MinWindowSize;
			public int32 MaxWindowSize;
			public int32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_CONFIGCAPS
		{
			public SIZE Resolution;
			public _MaxFrameRate_e__Struct MaxFrameRate;
			public SIZE MaskResolution;
			public Guid SubType;
			
			[CRepr]
			public struct _MaxFrameRate_e__Struct
			{
				public int32 Numerator;
				public int32 Denominator;
			}
		}
		[CRepr]
		public struct KSCAMERA_METADATA_BACKGROUNDSEGMENTATIONMASK
		{
			public KSCAMERA_METADATA_ITEMHEADER Header;
			public RECT MaskCoverageBoundingBox;
			public SIZE MaskResolution;
			public RECT ForegroundBoundingBox;
			public uint8[0] MaskData;
		}
		[CRepr]
		public struct KSCAMERA_EXTENDEDPROP_PROFILE
		{
			public Guid ProfileId;
			public uint32 Index;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSCAMERA_PROFILE_MEDIAINFO
		{
			public _Resolution_e__Struct Resolution;
			public _MaxFrameRate_e__Struct MaxFrameRate;
			public uint64 Flags;
			public uint32 Data0;
			public uint32 Data1;
			public uint32 Data2;
			public uint32 Data3;
			
			[CRepr]
			public struct _Resolution_e__Struct
			{
				public uint32 X;
				public uint32 Y;
			}
			[CRepr]
			public struct _MaxFrameRate_e__Struct
			{
				public uint32 Numerator;
				public uint32 Denominator;
			}
		}
		[CRepr]
		public struct KSCAMERA_PROFILE_PININFO
		{
			public Guid PinCategory;
			public _Anonymous_e__Union Anonymous;
			public uint32 MediaInfoCount;
			public KSCAMERA_PROFILE_MEDIAINFO* MediaInfos;
			
			public uint32 Reserved { get => Anonymous.Reserved; set mut => Anonymous.Reserved = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public _Anonymous_e__Struct Anonymous;
				public uint32 Reserved;
				
				public uint16 PinIndex { get => Anonymous.PinIndex; set mut => Anonymous.PinIndex = value; }
				public uint16 ProfileSensorType { get => Anonymous.ProfileSensorType; set mut => Anonymous.ProfileSensorType = value; }
				
				[CRepr]
				public struct _Anonymous_e__Struct
				{
					public uint16 PinIndex;
					public uint16 ProfileSensorType;
				}
			}
		}
		[CRepr]
		public struct KSCAMERA_PROFILE_INFO
		{
			public Guid ProfileId;
			public uint32 Index;
			public uint32 PinCount;
			public KSCAMERA_PROFILE_PININFO* Pins;
		}
		[CRepr]
		public struct KSCAMERA_PROFILE_CONCURRENCYINFO
		{
			public Guid ReferenceGuid;
			public uint32 Reserved;
			public uint32 ProfileCount;
			public KSCAMERA_PROFILE_INFO* Profiles;
		}
		[CRepr]
		public struct KSDEVICE_PROFILE_INFO
		{
			public uint32 Type;
			public uint32 Size;
			public _Anonymous_e__Union Anonymous;
			
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public _Camera_e__Struct Camera;
				
				[CRepr]
				public struct _Camera_e__Struct
				{
					public KSCAMERA_PROFILE_INFO Info;
					public uint32 Reserved;
					public uint32 ConcurrencyCount;
					public KSCAMERA_PROFILE_CONCURRENCYINFO* Concurrency;
				}
			}
		}
		[CRepr]
		public struct WNF_KSCAMERA_STREAMSTATE_INFO
		{
			public uint32 ProcessId;
			public uint32 SessionId;
			public uint32 StreamState;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_HEADER
		{
			public uint32 Size;
			public KSPROPERTY_NETWORKCAMERACONTROL_NTPINFO_TYPE Type;
		}
		[CRepr]
		public struct KSPROPERTY_NETWORKCAMERACONTROL_METADATA_INFO
		{
			public uint32 MetadataItems;
			public uint32 Size;
			public BOOL PTZStatus;
			public BOOL Events;
			public BOOL Analytics;
			public BOOL Reserved;
		}
		[CRepr]
		public struct KSPROPERTY_NETWORKCAMERACONTROL_EVENT_INFO
		{
			public KSCAMERA_METADATA_ITEMHEADER Header;
			public char16[0] EventFilter;
		}
		[CRepr]
		public struct DEVCAPS
		{
			public int32 CanRecord;
			public int32 CanRecordStrobe;
			public int32 HasAudio;
			public int32 HasVideo;
			public int32 UsesFiles;
			public int32 CanSave;
			public int32 DeviceType;
			public int32 TCRead;
			public int32 TCWrite;
			public int32 CTLRead;
			public int32 IndexRead;
			public int32 Preroll;
			public int32 Postroll;
			public int32 SyncAcc;
			public int32 NormRate;
			public int32 CanPreview;
			public int32 CanMonitorSrc;
			public int32 CanTest;
			public int32 VideoIn;
			public int32 AudioIn;
			public int32 Calibrate;
			public int32 SeekType;
			public int32 SimulatedHardware;
		}
		[CRepr]
		public struct KSPROPERTY_EXTDEVICE_S
		{
			public KSIDENTIFIER Property;
			public _u_e__Union u;
			
			[CRepr, Union]
			public struct _u_e__Union
			{
				public DEVCAPS Capabilities;
				public uint32 DevPort;
				public uint32 PowerState;
				public char16[260] pawchString;
				public uint32[2] NodeUniqueID;
			}
		}
		[CRepr]
		public struct TRANSPORTSTATUS
		{
			public int32 Mode;
			public int32 LastError;
			public int32 RecordInhibit;
			public int32 ServoLock;
			public int32 MediaPresent;
			public int32 MediaLength;
			public int32 MediaSize;
			public int32 MediaTrackCount;
			public int32 MediaTrackLength;
			public int32 MediaTrackSide;
			public int32 MediaType;
			public int32 LinkMode;
			public int32 NotifyOn;
		}
		[CRepr]
		public struct TRANSPORTBASICPARMS
		{
			public int32 TimeFormat;
			public int32 TimeReference;
			public int32 Superimpose;
			public int32 EndStopAction;
			public int32 RecordFormat;
			public int32 StepFrames;
			public int32 SetpField;
			public int32 Preroll;
			public int32 RecPreroll;
			public int32 Postroll;
			public int32 EditDelay;
			public int32 PlayTCDelay;
			public int32 RecTCDelay;
			public int32 EditField;
			public int32 FrameServo;
			public int32 ColorFrameServo;
			public int32 ServoRef;
			public int32 WarnGenlock;
			public int32 SetTracking;
			public int8[40] VolumeName;
			public int32[20] Ballistic;
			public int32 Speed;
			public int32 CounterFormat;
			public int32 TunerChannel;
			public int32 TunerNumber;
			public int32 TimerEvent;
			public int32 TimerStartDay;
			public int32 TimerStartTime;
			public int32 TimerStopDay;
			public int32 TimerStopTime;
		}
		[CRepr]
		public struct TRANSPORTVIDEOPARMS
		{
			public int32 OutputMode;
			public int32 Input;
		}
		[CRepr]
		public struct TRANSPORTAUDIOPARMS
		{
			public int32 EnableOutput;
			public int32 EnableRecord;
			public int32 EnableSelsync;
			public int32 Input;
			public int32 MonitorSource;
		}
		[CRepr]
		public struct MEDIUM_INFO
		{
			public BOOL MediaPresent;
			public uint32 MediaType;
			public BOOL RecordInhibit;
		}
		[CRepr]
		public struct TRANSPORT_STATE
		{
			public uint32 Mode;
			public uint32 State;
		}
		[CRepr]
		public struct KSPROPERTY_EXTXPORT_S
		{
			public KSIDENTIFIER Property;
			public _u_e__Union u;
			
			[CRepr, Union]
			public struct _u_e__Union
			{
				public uint32 Capabilities;
				public uint32 SignalMode;
				public uint32 LoadMedium;
				public MEDIUM_INFO MediumInfo;
				public TRANSPORT_STATE XPrtState;
				public _Timecode_e__Struct Timecode;
				public uint32 dwTimecode;
				public uint32 dwAbsTrackNumber;
				public _RawAVC_e__Struct RawAVC;
				
				[CRepr]
				public struct _RawAVC_e__Struct
				{
					public uint32 PayloadSize;
					public uint8[512] Payload;
				}
				[CRepr]
				public struct _Timecode_e__Struct
				{
					public uint8 frame;
					public uint8 second;
					public uint8 minute;
					public uint8 hour;
				}
			}
		}
		[CRepr]
		public struct KSPROPERTY_EXTXPORT_NODE_S
		{
			public KSP_NODE NodeProperty;
			public _u_e__Union u;
			
			[CRepr, Union]
			public struct _u_e__Union
			{
				public uint32 Capabilities;
				public uint32 SignalMode;
				public uint32 LoadMedium;
				public MEDIUM_INFO MediumInfo;
				public TRANSPORT_STATE XPrtState;
				public _Timecode_e__Struct Timecode;
				public uint32 dwTimecode;
				public uint32 dwAbsTrackNumber;
				public _RawAVC_e__Struct RawAVC;
				
				[CRepr]
				public struct _RawAVC_e__Struct
				{
					public uint32 PayloadSize;
					public uint8[512] Payload;
				}
				[CRepr]
				public struct _Timecode_e__Struct
				{
					public uint8 frame;
					public uint8 second;
					public uint8 minute;
					public uint8 hour;
				}
			}
		}
		[CRepr]
		public struct KSPROPERTY_TIMECODE_S
		{
			public KSIDENTIFIER Property;
			public TIMECODE_SAMPLE TimecodeSamp;
		}
		[CRepr]
		public struct KSPROPERTY_TIMECODE_NODE_S
		{
			public KSP_NODE NodeProperty;
			public TIMECODE_SAMPLE TimecodeSamp;
		}
		[CRepr]
		public struct KSPROPERTY_CROSSBAR_CAPS_S
		{
			public KSIDENTIFIER Property;
			public uint32 NumberOfInputs;
			public uint32 NumberOfOutputs;
		}
		[CRepr]
		public struct KSPROPERTY_CROSSBAR_PININFO_S
		{
			public KSIDENTIFIER Property;
			public KSPIN_DATAFLOW Direction;
			public uint32 Index;
			public uint32 PinType;
			public uint32 RelatedPinIndex;
			public KSIDENTIFIER Medium;
		}
		[CRepr]
		public struct KSPROPERTY_CROSSBAR_ROUTE_S
		{
			public KSIDENTIFIER Property;
			public uint32 IndexInputPin;
			public uint32 IndexOutputPin;
			public uint32 CanRoute;
		}
		[CRepr]
		public struct KSPROPERTY_CROSSBAR_ACTIVE_S
		{
			public KSIDENTIFIER Property;
			public uint32 IndexInputPin;
			public uint32 Active;
		}
		[CRepr]
		public struct KSPROPERTY_TVAUDIO_CAPS_S
		{
			public KSIDENTIFIER Property;
			public uint32 Capabilities;
			public KSIDENTIFIER InputMedium;
			public KSIDENTIFIER OutputMedium;
		}
		[CRepr]
		public struct KSPROPERTY_TVAUDIO_S
		{
			public KSIDENTIFIER Property;
			public uint32 Mode;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public int32 DefaultKeyFrameRate;
			public int32 DefaultPFrameRate;
			public int32 DefaultQuality;
			public int32 NumberOfQualitySettings;
			public int32 Capabilities;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOCOMPRESSION_S
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public int32 Value;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOCOMPRESSION_S1
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public int32 Value;
			public uint32 Flags;
		}
		[CRepr]
		public struct KSDISPLAYCHANGE
		{
			public uint32 PelsWidth;
			public uint32 PelsHeight;
			public uint32 BitsPerPel;
			public char16[0] DeviceID;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOCONTROL_CAPS_S
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public uint32 VideoControlCaps;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOCONTROL_MODE_S
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public int32 Mode;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public uint32 RangeIndex;
			public SIZE Dimensions;
			public int64 CurrentActualFrameRate;
			public int64 CurrentMaxAvailableFrameRate;
		}
		[CRepr]
		public struct KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S
		{
			public KSIDENTIFIER Property;
			public uint32 StreamIndex;
			public uint32 RangeIndex;
			public SIZE Dimensions;
		}
		[CRepr]
		public struct KSPROPERTY_DROPPEDFRAMES_CURRENT_S
		{
			public KSIDENTIFIER Property;
			public int64 PictureNumber;
			public int64 DropCount;
			public uint32 AverageFrameSize;
		}
		[CRepr]
		public struct KS_AMVPDIMINFO
		{
			public uint32 dwFieldWidth;
			public uint32 dwFieldHeight;
			public uint32 dwVBIWidth;
			public uint32 dwVBIHeight;
			public RECT rcValidRegion;
		}
		[CRepr]
		public struct KS_AMVPDATAINFO
		{
			public uint32 dwSize;
			public uint32 dwMicrosecondsPerField;
			public KS_AMVPDIMINFO amvpDimInfo;
			public uint32 dwPictAspectRatioX;
			public uint32 dwPictAspectRatioY;
			public BOOL bEnableDoubleClock;
			public BOOL bEnableVACT;
			public BOOL bDataIsInterlaced;
			public int32 lHalfLinesOdd;
			public BOOL bFieldPolarityInverted;
			public uint32 dwNumLinesInVREF;
			public int32 lHalfLinesEven;
			public uint32 dwReserved1;
		}
		[CRepr]
		public struct KS_AMVPSIZE
		{
			public uint32 dwWidth;
			public uint32 dwHeight;
		}
		[CRepr]
		public struct KSVPMAXPIXELRATE
		{
			public KS_AMVPSIZE Size;
			public uint32 MaxPixelsPerSecond;
			public uint32 Reserved;
		}
		[CRepr]
		public struct KSVPSIZE_PROP
		{
			public KSIDENTIFIER Property;
			public KS_AMVPSIZE Size;
		}
		[CRepr]
		public struct KSVPSURFACEPARAMS
		{
			public uint32 dwPitch;
			public uint32 dwXOrigin;
			public uint32 dwYOrigin;
		}
		[CRepr]
		public struct KSGOP_USERDATA
		{
			public uint32 sc;
			public uint32 reserved1;
			public uint8 cFields;
			public CHAR[3] l21Data;
		}
		[CRepr]
		public struct KS_AM_SimpleRateChange
		{
			public int64 StartTime;
			public int32 Rate;
		}
		[CRepr]
		public struct KS_AM_ExactRateChange
		{
			public int64 OutputZeroTime;
			public int32 Rate;
		}
		[CRepr]
		public struct KSJACK_DESCRIPTION
		{
			public uint32 ChannelMapping;
			public uint32 Color;
			public EPcxConnectionType ConnectionType;
			public EPcxGeoLocation GeoLocation;
			public EPcxGenLocation GenLocation;
			public EPxcPortConnection PortConnection;
			public BOOL IsConnected;
		}
		[CRepr]
		public struct KSJACK_SINK_INFORMATION
		{
			public KSJACK_SINK_CONNECTIONTYPE ConnType;
			public uint16 ManufacturerId;
			public uint16 ProductId;
			public uint16 AudioLatency;
			public BOOL HDCPCapable;
			public BOOL AICapable;
			public uint8 SinkDescriptionLength;
			public char16[32] SinkDescription;
			public LUID PortId;
		}
		[CRepr]
		public struct KSJACK_DESCRIPTION2
		{
			public uint32 DeviceStateInfo;
			public uint32 JackCapabilities;
		}
		[CRepr]
		public struct KSAUDIOENGINE_DESCRIPTOR
		{
			public uint32 nHostPinId;
			public uint32 nOffloadPinId;
			public uint32 nLoopbackPinId;
		}
		[CRepr]
		public struct KSAUDIOENGINE_BUFFER_SIZE_RANGE
		{
			public uint32 MinBufferBytes;
			public uint32 MaxBufferBytes;
		}
		[CRepr]
		public struct KSAUDIOENGINE_VOLUMELEVEL
		{
			public int32 TargetVolume;
			public AUDIO_CURVE_TYPE CurveType;
			public uint64 CurveDuration;
		}
		[CRepr]
		public struct KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE
		{
			public KSATTRIBUTE AttributeHeader;
			public Guid SignalProcessingMode;
		}
		[CRepr]
		public struct AUDIORESOURCEMANAGEMENT_RESOURCEGROUP
		{
			public BOOL ResourceGroupAcquired;
			public char16[256] ResourceGroupName;
		}
		[CRepr]
		public struct KSAUDIOMODULE_DESCRIPTOR
		{
			public Guid ClassId;
			public uint32 InstanceId;
			public uint32 VersionMajor;
			public uint32 VersionMinor;
			public char16[128] Name;
		}
		[CRepr]
		public struct KSAUDIOMODULE_PROPERTY
		{
			public KSIDENTIFIER Property;
			public Guid ClassId;
			public uint32 InstanceId;
		}
		[CRepr]
		public struct KSAUDIOMODULE_NOTIFICATION
		{
			public _Anonymous_e__Union Anonymous;
			
			public int64 Alignment { get => Anonymous.Alignment; set mut => Anonymous.Alignment = value; }
			
			[CRepr, Union]
			public struct _Anonymous_e__Union
			{
				public _ProviderId_e__Struct ProviderId;
				public int64 Alignment;
				
				[CRepr]
				public struct _ProviderId_e__Struct
				{
					public Guid DeviceId;
					public Guid ClassId;
					public uint32 InstanceId;
					public uint32 Reserved;
				}
			}
		}
		[CRepr]
		public struct OPTIMAL_WEIGHT_TOTALS
		{
			public int64 MinTotalNominator;
			public int64 MaxTotalNominator;
			public int64 TotalDenominator;
		}
		[CRepr]
		public struct PIPE_DIMENSIONS
		{
			public KS_COMPRESSION AllocatorPin;
			public KS_COMPRESSION MaxExpansionPin;
			public KS_COMPRESSION EndPin;
		}
		[CRepr]
		public struct PIPE_TERMINATION
		{
			public uint32 Flags;
			public uint32 OutsideFactors;
			public uint32 Weigth;
			public KS_FRAMING_RANGE PhysicalRange;
			public KS_FRAMING_RANGE_WEIGHTED OptimalRange;
			public KS_COMPRESSION Compression;
		}
		[CRepr]
		public struct ALLOCATOR_PROPERTIES_EX
		{
			public int32 cBuffers;
			public int32 cbBuffer;
			public int32 cbAlign;
			public int32 cbPrefix;
			public Guid MemoryType;
			public Guid BusType;
			public PIPE_STATE State;
			public PIPE_TERMINATION Input;
			public PIPE_TERMINATION Output;
			public uint32 Strategy;
			public uint32 Flags;
			public uint32 Weight;
			public KS_LogicalMemoryType LogicalMemoryType;
			public PIPE_ALLOCATOR_PLACE AllocatorPlace;
			public PIPE_DIMENSIONS Dimensions;
			public KS_FRAMING_RANGE PhysicalRange;
			public IKsAllocatorEx* PrevSegment;
			public uint32 CountNextSegments;
			public IKsAllocatorEx** NextSegments;
			public uint32 InsideFactors;
			public uint32 NumberPins;
		}
		
		// --- COM Class IDs ---
		
		public const Guid CLSID_GUID_NULL = .(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
		public const Guid CLSID_KSPROPTYPESETID_General = .(0x97e99ba0, 0xbdea, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSPROPSETID_General = .(0x1464eda5, 0x6a8f, 0x11d1, 0x9a, 0xa7, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSMETHODSETID_StreamIo = .(0x65d003ca, 0x1523, 0x11d2, 0xb2, 0x7a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSPROPSETID_MediaSeeking = .(0xee904f0c, 0xd09b, 0x11d0, 0xab, 0xe9, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSPROPSETID_Topology = .(0x720d4ac0, 0x7533, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_BRIDGE = .(0x085aff00, 0x62ce, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_CAPTURE = .(0x65e8773d, 0x8f56, 0x11d0, 0xa3, 0xb9, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_VIDEO_CAMERA = .(0xe5323777, 0xf976, 0x4f5b, 0x9b, 0x55, 0xb9, 0x46, 0x99, 0xc4, 0x6e, 0x44);
		public const Guid CLSID_KSCATEGORY_SENSOR_CAMERA = .(0x24e552d7, 0x6523, 0x47f7, 0xa6, 0x47, 0xd3, 0x46, 0x5b, 0xf1, 0xf5, 0xca);
		public const Guid CLSID_KSCATEGORY_NETWORK_CAMERA = .(0xb8238652, 0xb500, 0x41eb, 0xb4, 0xf3, 0x42, 0x34, 0xf7, 0xf5, 0xae, 0x99);
		public const Guid CLSID_KSCATEGORY_SENSOR_GROUP = .(0x669c7214, 0x0a88, 0x4311, 0xa7, 0xf3, 0x4e, 0x79, 0x82, 0x0e, 0x33, 0xbd);
		public const Guid CLSID_KSCATEGORY_RENDER = .(0x65e8773e, 0x8f56, 0x11d0, 0xa3, 0xb9, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_MIXER = .(0xad809c00, 0x7b88, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_SPLITTER = .(0x0a4252a0, 0x7e70, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_DATACOMPRESSOR = .(0x1e84c900, 0x7e70, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_DATADECOMPRESSOR = .(0x2721ae20, 0x7e70, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_DATATRANSFORM = .(0x2eb07ea0, 0x7e70, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSMFT_CATEGORY_VIDEO_DECODER = .(0xd6c02d4b, 0x6833, 0x45b4, 0x97, 0x1a, 0x05, 0xa4, 0xb0, 0x4b, 0xab, 0x91);
		public const Guid CLSID_KSMFT_CATEGORY_VIDEO_ENCODER = .(0xf79eac7d, 0xe545, 0x4387, 0xbd, 0xee, 0xd6, 0x47, 0xd7, 0xbd, 0xe4, 0x2a);
		public const Guid CLSID_KSMFT_CATEGORY_VIDEO_EFFECT = .(0x12e17c21, 0x532c, 0x4a6e, 0x8a, 0x1c, 0x40, 0x82, 0x5a, 0x73, 0x63, 0x97);
		public const Guid CLSID_KSMFT_CATEGORY_MULTIPLEXER = .(0x059c561e, 0x05ae, 0x4b61, 0xb6, 0x9d, 0x55, 0xb6, 0x1e, 0xe5, 0x4a, 0x7b);
		public const Guid CLSID_KSMFT_CATEGORY_DEMULTIPLEXER = .(0xa8700a7a, 0x939b, 0x44c5, 0x99, 0xd7, 0x76, 0x22, 0x6b, 0x23, 0xb3, 0xf1);
		public const Guid CLSID_KSMFT_CATEGORY_AUDIO_DECODER = .(0x9ea73fb4, 0xef7a, 0x4559, 0x8d, 0x5d, 0x71, 0x9d, 0x8f, 0x04, 0x26, 0xc7);
		public const Guid CLSID_KSMFT_CATEGORY_AUDIO_ENCODER = .(0x91c64bd0, 0xf91e, 0x4d8c, 0x92, 0x76, 0xdb, 0x24, 0x82, 0x79, 0xd9, 0x75);
		public const Guid CLSID_KSMFT_CATEGORY_AUDIO_EFFECT = .(0x11064c48, 0x3648, 0x4ed0, 0x93, 0x2e, 0x05, 0xce, 0x8a, 0xc8, 0x11, 0xb7);
		public const Guid CLSID_KSMFT_CATEGORY_VIDEO_PROCESSOR = .(0x302ea3fc, 0xaa5f, 0x47f9, 0x9f, 0x7a, 0xc2, 0x18, 0x8b, 0xb1, 0x63, 0x02);
		public const Guid CLSID_KSMFT_CATEGORY_OTHER = .(0x90175d57, 0xb7ea, 0x4901, 0xae, 0xb3, 0x93, 0x3a, 0x87, 0x47, 0x75, 0x6f);
		public const Guid CLSID_KSCATEGORY_COMMUNICATIONSTRANSFORM = .(0xcf1dda2c, 0x9743, 0x11d0, 0xa3, 0xee, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_INTERFACETRANSFORM = .(0xcf1dda2d, 0x9743, 0x11d0, 0xa3, 0xee, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_MEDIUMTRANSFORM = .(0xcf1dda2e, 0x9743, 0x11d0, 0xa3, 0xee, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_FILESYSTEM = .(0x760fed5e, 0x9357, 0x11d0, 0xa3, 0xcc, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_CLOCK = .(0x53172480, 0x4791, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_PROXY = .(0x97ebaaca, 0x95bd, 0x11d0, 0xa3, 0xea, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_QUALITY = .(0x97ebaacb, 0x95bd, 0x11d0, 0xa3, 0xea, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSTIME_FORMAT_FRAME = .(0x7b785570, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6);
		public const Guid CLSID_KSTIME_FORMAT_BYTE = .(0x7b785571, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6);
		public const Guid CLSID_KSTIME_FORMAT_SAMPLE = .(0x7b785572, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6);
		public const Guid CLSID_KSTIME_FORMAT_FIELD = .(0x7b785573, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6);
		public const Guid CLSID_KSTIME_FORMAT_MEDIA_TIME = .(0x7b785574, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6);
		public const Guid CLSID_KSINTERFACESETID_Standard = .(0x1a8766a0, 0x62ce, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSINTERFACESETID_FileIo = .(0x8c6f932c, 0xe771, 0x11d0, 0xb8, 0xff, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSMEDIUMSETID_Standard = .(0x4747b320, 0x62ce, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSPROPSETID_Pin = .(0x8c134960, 0x51ad, 0x11cf, 0x87, 0x8a, 0x94, 0xf8, 0x01, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSEVENTSETID_PinCapsChange = .(0xdd4f192e, 0x3b78, 0x49ad, 0xa5, 0x34, 0x2c, 0x31, 0x5b, 0x82, 0x20, 0x00);
		public const Guid CLSID_KSEVENTSETID_VolumeLimit = .(0xda168465, 0x3a7c, 0x4858, 0x9d, 0x4a, 0x3e, 0x8e, 0x24, 0x70, 0x1a, 0xef);
		public const Guid CLSID_KSNAME_Filter = .(0x9b365890, 0x165f, 0x11d0, 0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4);
		public const Guid CLSID_KSNAME_Pin = .(0x146f1a80, 0x4791, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSNAME_Clock = .(0x53172480, 0x4791, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSNAME_Allocator = .(0x642f5d00, 0x4791, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSNAME_TopologyNode = .(0x0621061a, 0xee75, 0x11d0, 0xb9, 0x15, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSDATAFORMAT_TYPE_STREAM = .(0xe436eb83, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_NONE = .(0xe436eb8e, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_FILENAME = .(0xaa797b40, 0xe974, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_FILEHANDLE = .(0x65e8773c, 0x8f56, 0x11d0, 0xa3, 0xb9, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_NONE = .(0x0f6417d6, 0xc318, 0x11d0, 0xa4, 0x3f, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSPROPSETID_Quality = .(0xd16ad380, 0xac1a, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSPROPSETID_Connection = .(0x1d58c920, 0xac9b, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSPROPSETID_MemoryTransport = .(0x0a3d1c5d, 0x5243, 0x4819, 0x9e, 0xd0, 0xae, 0xe8, 0x04, 0x4c, 0xee, 0x2b);
		public const Guid CLSID_KSMEMORY_TYPE_SYSTEM = .(0x091bb638, 0x603f, 0x11d1, 0xb0, 0x67, 0x00, 0xa0, 0xc9, 0x06, 0x28, 0x02);
		public const Guid CLSID_KSMEMORY_TYPE_USER = .(0x8cb0fc28, 0x7893, 0x11d1, 0xb0, 0x69, 0x00, 0xa0, 0xc9, 0x06, 0x28, 0x02);
		public const Guid CLSID_KSMEMORY_TYPE_KERNEL_PAGED = .(0xd833f8f8, 0x7894, 0x11d1, 0xb0, 0x69, 0x00, 0xa0, 0xc9, 0x06, 0x28, 0x02);
		public const Guid CLSID_KSMEMORY_TYPE_KERNEL_NONPAGED = .(0x4a6d5fc4, 0x7895, 0x11d1, 0xb0, 0x69, 0x00, 0xa0, 0xc9, 0x06, 0x28, 0x02);
		public const Guid CLSID_KSMEMORY_TYPE_DEVICE_UNKNOWN = .(0x091bb639, 0x603f, 0x11d1, 0xb0, 0x67, 0x00, 0xa0, 0xc9, 0x06, 0x28, 0x02);
		public const Guid CLSID_KSEVENTSETID_StreamAllocator = .(0x75d95571, 0x073c, 0x11d0, 0xa1, 0x61, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4);
		public const Guid CLSID_KSMETHODSETID_StreamAllocator = .(0xcf6e4341, 0xec87, 0x11cf, 0xa1, 0x30, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4);
		public const Guid CLSID_KSPROPSETID_StreamAllocator = .(0xcf6e4342, 0xec87, 0x11cf, 0xa1, 0x30, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4);
		public const Guid CLSID_KSPROPSETID_StreamInterface = .(0x1fdd8ee1, 0x9cd3, 0x11d0, 0x82, 0xaa, 0x00, 0x00, 0xf8, 0x22, 0xfe, 0x8a);
		public const Guid CLSID_KSPROPSETID_Stream = .(0x65aaba60, 0x98ae, 0x11cf, 0xa1, 0x0d, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4);
		public const Guid CLSID_KSPROPSETID_PinMDLCacheClearProp = .(0xbd718a7b, 0x97fc, 0x40c7, 0x88, 0xce, 0xd3, 0xff, 0x06, 0xf5, 0x5b, 0x16);
		public const Guid CLSID_KSPROPSETID_Clock = .(0xdf12a4c0, 0xac17, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSEVENTSETID_Clock = .(0x364d8e20, 0x62c7, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSEVENTSETID_Connection = .(0x7f4bcbe0, 0x9ea5, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSEVENTSETID_Device = .(0x288296ec, 0x9f94, 0x41b4, 0xa1, 0x53, 0xaa, 0x31, 0xae, 0xec, 0xb3, 0x3f);
		public const Guid CLSID_KSDEGRADESETID_Standard = .(0x9f564180, 0x704c, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSMEDIUMSETID_MidiBus = .(0x05908040, 0x3246, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSMEDIUMSETID_VPBus = .(0xa18c15ec, 0xce43, 0x11d0, 0xab, 0xe7, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSINTERFACESETID_Media = .(0x3a13eb40, 0x30a7, 0x11d0, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCOMPONENTID_USBAUDIO = .(0x8f1275f0, 0x26e9, 0x4264, 0xba, 0x4d, 0x39, 0xff, 0xf0, 0x1d, 0x94, 0xaa);
		public const Guid CLSID_KSNODETYPE_INPUT_UNDEFINED = .(0xdff21be0, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_MICROPHONE = .(0xdff21be1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DESKTOP_MICROPHONE = .(0xdff21be2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_PERSONAL_MICROPHONE = .(0xdff21be3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE = .(0xdff21be4, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_MICROPHONE_ARRAY = .(0xdff21be5, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_PROCESSING_MICROPHONE_ARRAY = .(0xdff21be6, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR = .(0x830a44f2, 0xa32d, 0x476b, 0xbe, 0x97, 0x42, 0x84, 0x56, 0x73, 0xb3, 0x5a);
		public const Guid CLSID_KSNODETYPE_OUTPUT_UNDEFINED = .(0xdff21ce0, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_SPEAKER = .(0xdff21ce1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_HEADPHONES = .(0xdff21ce2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO = .(0xdff21ce3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DESKTOP_SPEAKER = .(0xdff21ce4, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_ROOM_SPEAKER = .(0xdff21ce5, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_COMMUNICATION_SPEAKER = .(0xdff21ce6, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER = .(0xdff21ce7, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_BIDIRECTIONAL_UNDEFINED = .(0xdff21de0, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_HANDSET = .(0xdff21de1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_HEADSET = .(0xdff21de2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION = .(0xdff21de3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE = .(0xdff21de4, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE = .(0xdff21de5, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_TELEPHONY_UNDEFINED = .(0xdff21ee0, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_PHONE_LINE = .(0xdff21ee1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_TELEPHONE = .(0xdff21ee2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DOWN_LINE_PHONE = .(0xdff21ee3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_EXTERNAL_UNDEFINED = .(0xdff21fe0, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_ANALOG_CONNECTOR = .(0xdff21fe1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DIGITAL_AUDIO_INTERFACE = .(0xdff21fe2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_LINE_CONNECTOR = .(0xdff21fe3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_LEGACY_AUDIO_CONNECTOR = .(0xdff21fe4, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_SPDIF_INTERFACE = .(0xdff21fe5, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_1394_DA_STREAM = .(0xdff21fe6, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_1394_DV_STREAM_SOUNDTRACK = .(0xdff21fe7, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_EMBEDDED_UNDEFINED = .(0xdff220e0, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE = .(0xdff220e1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_EQUALIZATION_NOISE = .(0xdff220e2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_CD_PLAYER = .(0xdff220e3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE = .(0xdff220e4, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE = .(0xdff220e5, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_MINIDISK = .(0xdff220e6, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_ANALOG_TAPE = .(0xdff220e7, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_PHONOGRAPH = .(0xdff220e8, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VCR_AUDIO = .(0xdff220e9, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_DISC_AUDIO = .(0xdff220ea, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DVD_AUDIO = .(0xdff220eb, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_TV_TUNER_AUDIO = .(0xdff220ec, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_SATELLITE_RECEIVER_AUDIO = .(0xdff220ed, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_CABLE_TUNER_AUDIO = .(0xdff220ee, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_DSS_AUDIO = .(0xdff220ef, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_RADIO_RECEIVER = .(0xdff220f0, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_RADIO_TRANSMITTER = .(0xdff220f1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_MULTITRACK_RECORDER = .(0xdff220f2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_SYNTHESIZER = .(0xdff220f3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_HDMI_INTERFACE = .(0xd1b9cc2a, 0xf519, 0x417f, 0x91, 0xc9, 0x55, 0xfa, 0x65, 0x48, 0x10, 0x01);
		public const Guid CLSID_KSNODETYPE_DISPLAYPORT_INTERFACE = .(0xe47e4031, 0x3ea6, 0x418d, 0x8f, 0x9b, 0xb7, 0x38, 0x43, 0xcc, 0xba, 0x97);
		public const Guid CLSID_KSNODETYPE_AUDIO_LOOPBACK = .(0x8f42c0b2, 0x91ce, 0x4bcf, 0x9c, 0xcd, 0x0e, 0x59, 0x90, 0x37, 0xab, 0x35);
		public const Guid CLSID_KSNODETYPE_AUDIO_KEYWORDDETECTOR = .(0x3817e0b8, 0xdf58, 0x4375, 0xb6, 0x69, 0xc4, 0x96, 0x34, 0x33, 0x1f, 0x9d);
		public const Guid CLSID_KSNODETYPE_AUDIO_MODULE = .(0x45aab42e, 0xcaeb, 0x4052, 0x8a, 0xa9, 0xb3, 0x8c, 0xb5, 0x10, 0x96, 0x19);
		public const Guid CLSID_KSNODETYPE_MIDI_JACK = .(0x265e0c3f, 0xfa39, 0x4df3, 0xab, 0x04, 0xbe, 0x01, 0xb9, 0x1e, 0x29, 0x9a);
		public const Guid CLSID_KSNODETYPE_MIDI_ELEMENT = .(0x01c6fe66, 0x6e48, 0x4c65, 0xac, 0x9b, 0x52, 0xdb, 0x5d, 0x65, 0x6c, 0x7e);
		public const Guid CLSID_KSNODETYPE_AUDIO_ENGINE = .(0x35caf6e4, 0xf3b3, 0x4168, 0xbb, 0x4b, 0x55, 0xe7, 0x7a, 0x46, 0x1c, 0x7e);
		public const Guid CLSID_KSNODETYPE_SPEAKERS_STATIC_JACK = .(0x28e04f87, 0x4dbe, 0x4f8d, 0x85, 0x89, 0x02, 0x5d, 0x20, 0x9d, 0xfb, 0x4a);
		public const Guid CLSID_PINNAME_SPDIF_OUT = .(0x3a264481, 0xe52c, 0x4b82, 0x8e, 0x7a, 0xc8, 0xe2, 0xf9, 0x1d, 0xc3, 0x80);
		public const Guid CLSID_PINNAME_SPDIF_IN = .(0x15dc9025, 0x22ad, 0x41b3, 0x88, 0x75, 0xf4, 0xce, 0xb0, 0x29, 0x9e, 0x20);
		public const Guid CLSID_PINNAME_HDMI_OUT = .(0x387bfc03, 0xe7ef, 0x4901, 0x86, 0xe0, 0x35, 0xb7, 0xc3, 0x2b, 0x00, 0xef);
		public const Guid CLSID_PINNAME_DISPLAYPORT_OUT = .(0x21fbb329, 0x1a4a, 0x48da, 0xa0, 0x76, 0x23, 0x18, 0xa3, 0xc5, 0x9b, 0x26);
		public const Guid CLSID_KSNODETYPE_DRM_DESCRAMBLE = .(0xffbb6e3f, 0xccfe, 0x4d84, 0x90, 0xd9, 0x42, 0x14, 0x18, 0xb0, 0x3a, 0x8e);
		public const Guid CLSID_KSNODETYPE_TELEPHONY_BIDI = .(0x686d7cc0, 0xd903, 0x4258, 0xb4, 0x43, 0x3a, 0x3d, 0x35, 0x80, 0x74, 0x1c);
		public const Guid CLSID_KSNODETYPE_FM_RX = .(0x834a733c, 0xf485, 0x41c0, 0xa6, 0x2b, 0x51, 0x30, 0x25, 0x01, 0x4e, 0x40);
		public const Guid CLSID_KSCATEGORY_AUDIO = .(0x6994ad04, 0x93ef, 0x11d0, 0xa3, 0xcc, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_VIDEO = .(0x6994ad05, 0x93ef, 0x11d0, 0xa3, 0xcc, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_REALTIME = .(0xeb115ffc, 0x10c8, 0x4964, 0x83, 0x1d, 0x6d, 0xcb, 0x02, 0xe6, 0xf2, 0x3f);
		public const Guid CLSID_KSCATEGORY_TEXT = .(0x6994ad06, 0x93ef, 0x11d0, 0xa3, 0xcc, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_NETWORK = .(0x67c9cc3c, 0x69c4, 0x11d2, 0x87, 0x59, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_TOPOLOGY = .(0xdda54a40, 0x1e4c, 0x11d1, 0xa0, 0x50, 0x40, 0x57, 0x05, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_VIRTUAL = .(0x3503eac4, 0x1f26, 0x11d1, 0x8a, 0xb0, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSCATEGORY_ACOUSTIC_ECHO_CANCEL = .(0xbf963d80, 0xc559, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSCATEGORY_WDMAUD_USE_PIN_NAME = .(0x47a4fa20, 0xa251, 0x11d1, 0xa0, 0x50, 0x00, 0x00, 0xf8, 0x00, 0x47, 0x88);
		public const Guid CLSID_KSCATEGORY_ESCALANTE_PLATFORM_DRIVER = .(0x74f3aea8, 0x9768, 0x11d1, 0x8e, 0x07, 0x00, 0xa0, 0xc9, 0x5e, 0xc2, 0x2e);
		public const Guid CLSID_KSDATAFORMAT_TYPE_VIDEO = .(0x73646976, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_TYPE_AUDIO = .(0x73647561, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_TYPE_TEXT = .(0x73747874, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX = .(0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_ANALOG = .(0x6dba3190, 0x67bd, 0x11cf, 0xa0, 0xf7, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_PCM = .(0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_VC_ID = .(0xad98d184, 0xaac3, 0x11d0, 0xa4, 0x1c, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_WAVEFORMATEX = .(0x05589f81, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_DSOUND = .(0x518590a2, 0xa184, 0x11d0, 0x85, 0x22, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3);
		public const Guid CLSID_KSPROPSETID_DirectSound3DListener = .(0x437b3414, 0xd060, 0x11d0, 0x85, 0x83, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3);
		public const Guid CLSID_KSPROPSETID_DirectSound3DBuffer = .(0x437b3411, 0xd060, 0x11d0, 0x85, 0x83, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3);
		public const Guid CLSID_KSPROPSETID_Hrtf3d = .(0xb66decb0, 0xa083, 0x11d0, 0x85, 0x1e, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3);
		public const Guid CLSID_KSPROPSETID_Itd3d = .(0x6429f090, 0x9fd9, 0x11d0, 0xa7, 0x5b, 0x00, 0xa0, 0xc9, 0x03, 0x65, 0xe3);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_RIFF = .(0x4995daee, 0x9ee6, 0x11d0, 0xa4, 0x0e, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_RIFFWAVE = .(0xe436eb8b, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
		public const Guid CLSID_KSPROPSETID_Bibliographic = .(0x07ba150e, 0xe2b1, 0x11d0, 0xac, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSPROPSETID_TopologyNode = .(0x45ffaaa1, 0x6e1b, 0x11d0, 0xbc, 0xf2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
		public const Guid CLSID_KSPROPSETID_RtAudio = .(0xa855a48c, 0x2f78, 0x4729, 0x90, 0x51, 0x19, 0x68, 0x74, 0x6b, 0x9e, 0xef);
		public const Guid CLSID_KSPROPSETID_BtAudio = .(0x7fa06c40, 0xb8f6, 0x4c7e, 0x85, 0x56, 0xe8, 0xc3, 0x3a, 0x12, 0xe5, 0x4d);
		public const Guid CLSID_KSPROPSETID_DrmAudioStream = .(0x2f2c8ddd, 0x4198, 0x4fac, 0xba, 0x29, 0x61, 0xbb, 0x05, 0xb7, 0xde, 0x06);
		public const Guid CLSID_KSPROPSETID_SoundDetector = .(0x113c425e, 0xfd17, 0x4057, 0xb4, 0x22, 0xed, 0x40, 0x74, 0xf1, 0xaf, 0xdf);
		public const Guid CLSID_KSPROPSETID_SoundDetector2 = .(0xfe07e322, 0x450c, 0x4bd5, 0x84, 0xca, 0xa9, 0x48, 0x50, 0x0e, 0xa6, 0xaa);
		public const Guid CLSID_KSPROPSETID_InterleavedAudio = .(0xe9ebe550, 0xd619, 0x4c0a, 0x97, 0x6b, 0x70, 0x62, 0x32, 0x2b, 0x30, 0x06);
		public const Guid CLSID_KSEVENTSETID_SoundDetector = .(0x69785c9b, 0xfc2d, 0x49d6, 0xac, 0x32, 0x47, 0x99, 0xf8, 0x7d, 0xe9, 0xf6);
		public const Guid CLSID_KSNOTIFICATIONID_SoundDetector = .(0x6389d844, 0xbb32, 0x4c4c, 0xa8, 0x02, 0xf4, 0xb4, 0xb7, 0x7a, 0xfe, 0xad);
		public const Guid CLSID_KSPROPSETID_Audio = .(0x45ffaaa0, 0x6e1b, 0x11d0, 0xbc, 0xf2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
		public const Guid CLSID_KSPROPSETID_TelephonyControl = .(0xb6df7eb1, 0xd099, 0x489f, 0xa6, 0xa0, 0xc0, 0x10, 0x6f, 0x08, 0x87, 0xa7);
		public const Guid CLSID_KSPROPSETID_TelephonyTopology = .(0xabf25c7e, 0x0e64, 0x4e32, 0xb1, 0x90, 0xd0, 0xf6, 0xd7, 0xc5, 0x3e, 0x97);
		public const Guid CLSID_KSPROPSETID_FMRXTopology = .(0x0c46ce8f, 0xdc2d, 0x4204, 0x9d, 0xc9, 0xf5, 0x89, 0x63, 0x36, 0x65, 0x63);
		public const Guid CLSID_KSPROPSETID_FMRXControl = .(0x947bba3a, 0xe8ee, 0x4786, 0x90, 0xc4, 0x84, 0x28, 0x18, 0x5f, 0x05, 0xbe);
		public const Guid CLSID_KSEVENTSETID_Telephony = .(0xb77f12b4, 0xceb4, 0x4484, 0x8d, 0x5e, 0x52, 0xc1, 0xe7, 0xd8, 0x76, 0x2d);
		public const Guid CLSID_KSNODETYPE_DAC = .(0x507ae360, 0xc554, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_ADC = .(0x4d837fe0, 0xc555, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_SRC = .(0x9db7b9e0, 0xc555, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_SUPERMIX = .(0xe573adc0, 0xc555, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_MUX = .(0x2ceaf780, 0xc556, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_DEMUX = .(0xc0eb67d4, 0xe807, 0x11d0, 0x95, 0x8a, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSNODETYPE_SUM = .(0xda441a60, 0xc556, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_MUTE = .(0x02b223c0, 0xc557, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_VOLUME = .(0x3a5acc00, 0xc557, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_TONE = .(0x7607e580, 0xc557, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_EQUALIZER = .(0x9d41b4a0, 0xc557, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_AGC = .(0xe88c9ba0, 0xc557, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_NOISE_SUPPRESS = .(0xe07f903f, 0x62fd, 0x4e60, 0x8c, 0xdd, 0xde, 0xa7, 0x23, 0x66, 0x65, 0xb5);
		public const Guid CLSID_KSNODETYPE_DELAY = .(0x144981e0, 0xc558, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_LOUDNESS = .(0x41887440, 0xc558, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_PROLOGIC_DECODER = .(0x831c2c80, 0xc558, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_STEREO_WIDE = .(0xa9e69800, 0xc558, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_REVERB = .(0xef0328e0, 0xc558, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_CHORUS = .(0x20173f20, 0xc559, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_3D_EFFECTS = .(0x55515860, 0xc559, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_PARAMETRIC_EQUALIZER = .(0x19bb3a6a, 0xce2b, 0x4442, 0x87, 0xec, 0x67, 0x27, 0xc3, 0xca, 0xb4, 0x77);
		public const Guid CLSID_KSNODETYPE_UPDOWN_MIX = .(0xb7edc5cf, 0x7b63, 0x4ee2, 0xa1, 0x00, 0x29, 0xee, 0x2c, 0xb6, 0xb2, 0xde);
		public const Guid CLSID_KSNODETYPE_DYN_RANGE_COMPRESSOR = .(0x08c8a6a8, 0x601f, 0x4af8, 0x87, 0x93, 0xd9, 0x05, 0xff, 0x4c, 0xa9, 0x7d);
		public const Guid CLSID_KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL = .(0x1c22c56d, 0x9879, 0x4f5b, 0xa3, 0x89, 0x27, 0x99, 0x6d, 0xdc, 0x28, 0x10);
		public const Guid CLSID_KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS = .(0x5ab0882e, 0x7274, 0x4516, 0x87, 0x7d, 0x4e, 0xee, 0x99, 0xba, 0x4f, 0xd0);
		public const Guid CLSID_KSALGORITHMINSTANCE_SYSTEM_AGC = .(0x950e55b9, 0x877c, 0x4c67, 0xbe, 0x08, 0xe4, 0x7b, 0x56, 0x11, 0x13, 0x0a);
		public const Guid CLSID_KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR = .(0xb6f5a0a0, 0x9e61, 0x4f8c, 0x91, 0xe3, 0x76, 0xcf, 0x0f, 0x3c, 0x47, 0x1f);
		public const Guid CLSID_KSNODETYPE_DEV_SPECIFIC = .(0x941c7ac0, 0xc559, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1);
		public const Guid CLSID_KSNODETYPE_PROLOGIC_ENCODER = .(0x8074c5b2, 0x3c66, 0x11d2, 0xb4, 0x5a, 0x30, 0x78, 0x30, 0x2c, 0x20, 0x30);
		public const Guid CLSID_KSNODETYPE_PEAKMETER = .(0xa085651e, 0x5f0d, 0x4b36, 0xa8, 0x69, 0xd1, 0x95, 0xd6, 0xab, 0x4b, 0x9e);
		public const Guid CLSID_KSAUDFNAME_BASS = .(0x185fede0, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_TREBLE = .(0x185fede1, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIDRANGE = .(0xa2cbe478, 0xae84, 0x49a1, 0x8b, 0x72, 0x4a, 0xd0, 0x9b, 0x78, 0xed, 0x34);
		public const Guid CLSID_KSAUDFNAME_3D_STEREO = .(0x185fede2, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MASTER_VOLUME = .(0x185fede3, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MASTER_MUTE = .(0x185fede4, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_WAVE_VOLUME = .(0x185fede5, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_WAVE_MUTE = .(0x185fede6, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIDI_VOLUME = .(0x185fede7, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIDI_MUTE = .(0x185fede8, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_CD_VOLUME = .(0x185fede9, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_CD_MUTE = .(0x185fedea, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_LINE_VOLUME = .(0x185fedeb, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_LINE_MUTE = .(0x185fedec, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIC_VOLUME = .(0x185feded, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIC_MUTE = .(0x185fedee, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_RECORDING_SOURCE = .(0x185fedef, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_PC_SPEAKER_VOLUME = .(0x185fedf0, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_PC_SPEAKER_MUTE = .(0x185fedf1, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIDI_IN_VOLUME = .(0x185fedf2, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_CD_IN_VOLUME = .(0x185fedf3, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_LINE_IN_VOLUME = .(0x185fedf4, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIC_IN_VOLUME = .(0x185fedf5, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_WAVE_IN_VOLUME = .(0x185fedf6, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_VOLUME_CONTROL = .(0x185fedf7, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MIDI = .(0x185fedf8, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_LINE_IN = .(0x185fedf9, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_RECORDING_CONTROL = .(0x185fedfa, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_CD_AUDIO = .(0x185fedfb, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_AUX_VOLUME = .(0x185fedfc, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_AUX_MUTE = .(0x185fedfd, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_AUX = .(0x185fedfe, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_PC_SPEAKER = .(0x185fedff, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_WAVE_OUT_MIX = .(0x185fee00, 0x9905, 0x11d1, 0x95, 0xa9, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSAUDFNAME_MONO_OUT = .(0xf9b41dc3, 0x96e2, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_STEREO_MIX = .(0x00dff077, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_MONO_MIX = .(0x00dff078, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_MONO_OUT_VOLUME = .(0x1ad247eb, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_MONO_OUT_MUTE = .(0x1ad247ec, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_STEREO_MIX_VOLUME = .(0x1ad247ed, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_STEREO_MIX_MUTE = .(0x22b0eafd, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_MONO_MIX_VOLUME = .(0x22b0eafe, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_MONO_MIX_MUTE = .(0x2bc31d69, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_MICROPHONE_BOOST = .(0x2bc31d6a, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_ALTERNATE_MICROPHONE = .(0x2bc31d6b, 0x96e3, 0x11d2, 0xac, 0x4c, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_3D_DEPTH = .(0x63ff5747, 0x991f, 0x11d2, 0xac, 0x4d, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_3D_CENTER = .(0x9f0670b4, 0x991f, 0x11d2, 0xac, 0x4d, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_VIDEO_VOLUME = .(0x9b46e708, 0x992a, 0x11d2, 0xac, 0x4d, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_VIDEO_MUTE = .(0x9b46e709, 0x992a, 0x11d2, 0xac, 0x4d, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_VIDEO = .(0x915daec4, 0xa434, 0x11d2, 0xac, 0x52, 0x00, 0xc0, 0x4f, 0x8e, 0xfb, 0x68);
		public const Guid CLSID_KSAUDFNAME_PEAKMETER = .(0x57e24340, 0xfc5b, 0x4612, 0xa5, 0x62, 0x72, 0xb1, 0x1a, 0x29, 0xdf, 0xae);
		public const Guid CLSID_KSMETHODSETID_Wavetable = .(0xdcef31eb, 0xd907, 0x11d0, 0x95, 0x83, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSPROPSETID_Wave = .(0x924e54b0, 0x630f, 0x11cf, 0xad, 0xa7, 0x08, 0x00, 0x3e, 0x30, 0x49, 0x4a);
		public const Guid CLSID_KSMUSIC_TECHNOLOGY_PORT = .(0x86c92e60, 0x62e8, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSMUSIC_TECHNOLOGY_SQSYNTH = .(0x0ecf4380, 0x62e9, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSMUSIC_TECHNOLOGY_FMSYNTH = .(0x252c5c80, 0x62e9, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSMUSIC_TECHNOLOGY_WAVETABLE = .(0x394ec7c0, 0x62e9, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSMUSIC_TECHNOLOGY_SWSYNTH = .(0x37407736, 0x3620, 0x11d1, 0x85, 0xd3, 0x00, 0x00, 0xf8, 0x75, 0x43, 0x80);
		public const Guid CLSID_KSPROPSETID_Cyclic = .(0x3ffeaea0, 0x2bee, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSEVENTSETID_AudioControlChange = .(0xe85e9698, 0xfa2f, 0x11d1, 0x95, 0xbd, 0x00, 0xc0, 0x4f, 0xb9, 0x25, 0xd3);
		public const Guid CLSID_KSEVENTSETID_LoopedStreaming = .(0x4682b940, 0xc6ef, 0x11d0, 0x96, 0xd8, 0x00, 0xaa, 0x00, 0x51, 0xe5, 0x1d);
		public const Guid CLSID_KSDATAFORMAT_TYPE_MUSIC = .(0xe725d360, 0x62cc, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSDATAFORMAT_TYPE_MIDI = .(0x7364696d, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MIDI = .(0x1d262760, 0xe957, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MIDI_BUS = .(0x2ca15fa0, 0x6cfe, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_RIFFMIDI = .(0x4995daf0, 0x9ee6, 0x11d0, 0xa4, 0x0e, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM = .(0x36523b11, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_TYPE_STANDARD_PES_PACKET = .(0x36523b12, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER = .(0x36523b13, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO = .(0x36523b21, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO = .(0x36523b22, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO = .(0x36523b23, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO = .(0x36523b24, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO = .(0x36523b25, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO = .(0x36523b31, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO = .(0x36523b32, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO = .(0x36523b33, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO = .(0x36523b34, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO = .(0x36523b35, 0x8ee5, 0x11d1, 0x8c, 0xa3, 0x00, 0x60, 0xb0, 0x57, 0x66, 0x4a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_DSS_VIDEO = .(0xa0af4f81, 0xe163, 0x11d0, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_DSS_AUDIO = .(0xa0af4f82, 0xe163, 0x11d0, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MPEG1Packet = .(0xe436eb80, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MPEG1Payload = .(0xe436eb81, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MPEG1Video = .(0xe436eb86, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO = .(0x05589f82, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
		public const Guid CLSID_KSDATAFORMAT_TYPE_MPEG2_PES = .(0xe06d8020, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_TYPE_MPEG2_PROGRAM = .(0xe06d8022, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_TYPE_MPEG2_TRANSPORT = .(0xe06d8023, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO = .(0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO = .(0xe06d80e3, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSPROPSETID_Mpeg2Vid = .(0xc8e11b60, 0x0cc9, 0x11d0, 0xbd, 0x69, 0x00, 0x35, 0x05, 0xc1, 0x03, 0xa9);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO = .(0xe06d802b, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO = .(0xe06d80e5, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_LPCM_AUDIO = .(0xe06d8032, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_LPCM_AUDIO = .(0xe06d80e6, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_AC3_AUDIO = .(0xe06d802c, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_AC3_AUDIO = .(0xe06d80e4, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSPROPSETID_AC3 = .(0xbfabe720, 0x6e1f, 0x11d0, 0xbc, 0xf2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL = .(0x00000092, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_WMA_PRO = .(0x00000164, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DTS = .(0x00000008, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_MPEG1 = .(0x00000003, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_MPEG2 = .(0x00000004, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_MPEG3 = .(0x00000005, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_AAC = .(0x00000006, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_ATRAC = .(0x00000008, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_ONE_BIT_AUDIO = .(0x00000009, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS = .(0x0000000a, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS_ATMOS = .(0x0000010a, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DTS_HD = .(0x0000000b, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DTSX_E1 = .(0x0000010b, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DTSX_E2 = .(0x0000030b, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MLP = .(0x0000000c, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MAT20 = .(0x0000010c, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_MAT21 = .(0x0000030c, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IEC61937_DST = .(0x0000000d, 0x0cea, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MPEGLAYER3 = .(0x00000055, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MPEG_HEAAC = .(0x00001610, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_WMAUDIO2 = .(0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_WMAUDIO3 = .(0x00000162, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_WMAUDIO_LOSSLESS = .(0x00000163, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_DTS_AUDIO = .(0xe06d8033, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_SDDS_AUDIO = .(0xe06d8034, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSPROPSETID_AudioDecoderOut = .(0x6ca6e020, 0x43bd, 0x11d0, 0xbd, 0x6a, 0x00, 0x35, 0x05, 0xc1, 0x03, 0xa9);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_SUBPICTURE = .(0xe06d802d, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
		public const Guid CLSID_KSPROPSETID_DvdSubPic = .(0xac390460, 0x43af, 0x11d0, 0xbd, 0x6a, 0x00, 0x35, 0x05, 0xc1, 0x03, 0xa9);
		public const Guid CLSID_KSPROPSETID_CopyProt = .(0x0e8a0a40, 0x6aef, 0x11d0, 0x9e, 0xd0, 0x00, 0xa0, 0x24, 0xca, 0x19, 0xb3);
		public const Guid CLSID_KSCATEGORY_TVTUNER = .(0xa799a800, 0xa46d, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0x24, 0x01, 0xdc, 0xd4);
		public const Guid CLSID_KSCATEGORY_CROSSBAR = .(0xa799a801, 0xa46d, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0x24, 0x01, 0xdc, 0xd4);
		public const Guid CLSID_KSCATEGORY_TVAUDIO = .(0xa799a802, 0xa46d, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0x24, 0x01, 0xdc, 0xd4);
		public const Guid CLSID_KSCATEGORY_VPMUX = .(0xa799a803, 0xa46d, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0x24, 0x01, 0xdc, 0xd4);
		public const Guid CLSID_KSCATEGORY_VBICODEC = .(0x07dad660, 0x22f1, 0x11d1, 0xa9, 0xf4, 0x00, 0xc0, 0x4f, 0xbb, 0xde, 0x8f);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_VPVideo = .(0x5a9b6a40, 0x1a22, 0x11d1, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_VPVBI = .(0x5a9b6a41, 0x1a22, 0x11d1, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_VIDEOINFO = .(0x05589f80, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_VIDEOINFO2 = .(0xf72a76a0, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_H264_VIDEO = .(0x2017be05, 0x6629, 0x4248, 0xaa, 0xed, 0x7e, 0x1a, 0x47, 0xbc, 0x9b, 0x9c);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_JPEG_IMAGE = .(0x692fa379, 0xd3e8, 0x4651, 0xb5, 0xb4, 0x0b, 0x94, 0xb0, 0x13, 0xee, 0xaf);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_IMAGE = .(0x692fa379, 0xd3e8, 0x4651, 0xb5, 0xb4, 0x0b, 0x94, 0xb0, 0x13, 0xee, 0xaf);
		public const Guid CLSID_KSDATAFORMAT_TYPE_IMAGE = .(0x72178c23, 0xe45b, 0x11d5, 0xbc, 0x2a, 0x00, 0xb0, 0xd0, 0xf3, 0xf4, 0xab);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_JPEG = .(0x19e4a5aa, 0x5662, 0x4fc5, 0xa0, 0xc0, 0x17, 0x58, 0x02, 0x8e, 0x10, 0x57);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_IMAGE_RGB32 = .(0x00000016, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_L8 = .(0x00000032, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_L8_IR = .(0x00000032, 0x0002, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_L8_CUSTOM = .(0x00000032, 0x8000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_L16 = .(0x00000051, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_L16_IR = .(0x00000051, 0x0002, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_D16 = .(0x00000050, 0x0004, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_L16_CUSTOM = .(0x00000051, 0x8000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MJPG_IR = .(0x47504a4d, 0x0002, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MJPG_DEPTH = .(0x47504a4d, 0x0004, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_MJPG_CUSTOM = .(0x47504a4d, 0x8000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
		public const Guid CLSID_KSDATAFORMAT_TYPE_ANALOGVIDEO = .(0x0482dde1, 0x7817, 0x11cf, 0x8a, 0x03, 0x00, 0xaa, 0x00, 0x6e, 0xcb, 0x65);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_ANALOGVIDEO = .(0x0482dde0, 0x7817, 0x11cf, 0x8a, 0x03, 0x00, 0xaa, 0x00, 0x6e, 0xcb, 0x65);
		public const Guid CLSID_KSDATAFORMAT_TYPE_ANALOGAUDIO = .(0x0482dee1, 0x7817, 0x11cf, 0x8a, 0x03, 0x00, 0xaa, 0x00, 0x6e, 0xcb, 0x65);
		public const Guid CLSID_KSDATAFORMAT_SPECIFIER_VBI = .(0xf72a76e0, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_KSDATAFORMAT_TYPE_VBI = .(0xf72a76e1, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_RAW8 = .(0xca20d9a0, 0x3e3e, 0x11d1, 0x9b, 0xf9, 0x00, 0xc0, 0x4f, 0xbb, 0xde, 0xbf);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_CC = .(0x33214cc1, 0x011f, 0x11d2, 0xb4, 0xb1, 0x00, 0xa0, 0xd1, 0x02, 0xcf, 0xbe);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_NABTS = .(0xf72a76e2, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_TELETEXT = .(0xf72a76e3, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_KSPROPSETID_VBICAP_PROPERTIES = .(0xf162c607, 0x7b35, 0x496f, 0xad, 0x7f, 0x2d, 0xca, 0x3b, 0x46, 0xb7, 0x18);
		public const Guid CLSID_KSDATAFORMAT_TYPE_NABTS = .(0xe757bca0, 0x39ac, 0x11d1, 0xa9, 0xf5, 0x00, 0xc0, 0x4f, 0xbb, 0xde, 0x8f);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_NABTS_FEC = .(0xe757bca1, 0x39ac, 0x11d1, 0xa9, 0xf5, 0x00, 0xc0, 0x4f, 0xbb, 0xde, 0x8f);
		public const Guid CLSID_KSPROPSETID_VBICodecFiltering = .(0xcafeb0ca, 0x8715, 0x11d0, 0xbd, 0x6a, 0x00, 0x35, 0xc0, 0xed, 0xba, 0xbe);
		public const Guid CLSID_PINNAME_VIDEO_CAPTURE = .(0xfb6c4281, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_CC_CAPTURE = .(0x1aad8061, 0x012d, 0x11d2, 0xb4, 0xb1, 0x00, 0xa0, 0xd1, 0x02, 0xcf, 0xbe);
		public const Guid CLSID_PINNAME_VIDEO_NABTS_CAPTURE = .(0x29703660, 0x498a, 0x11d2, 0xb4, 0xb1, 0x00, 0xa0, 0xd1, 0x02, 0xcf, 0xbe);
		public const Guid CLSID_PINNAME_VIDEO_PREVIEW = .(0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_ANALOGVIDEOIN = .(0xfb6c4283, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_VBI = .(0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_VIDEOPORT = .(0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_NABTS = .(0xfb6c4286, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_EDS = .(0xfb6c4287, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_TELETEXT = .(0xfb6c4288, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_CC = .(0xfb6c4289, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_STILL = .(0xfb6c428a, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_IMAGE = .(0x38a0cd98, 0xd49b, 0x4ce8, 0xb4, 0x8a, 0x34, 0x46, 0x67, 0xa1, 0x78, 0x30);
		public const Guid CLSID_PINNAME_VIDEO_TIMECODE = .(0xfb6c428b, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PINNAME_VIDEO_VIDEOPORT_VBI = .(0xfb6c428c, 0x0353, 0x11d1, 0x90, 0x5f, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_KSPROPSETID_VramCapture = .(0xe73face3, 0x2880, 0x4902, 0xb7, 0x99, 0x88, 0xd0, 0xcd, 0x63, 0x4e, 0x0f);
		public const Guid CLSID_KS_SECURE_CAMERA_SCENARIO_ID = .(0xae53fc6e, 0x8d89, 0x4488, 0x9d, 0x2e, 0x4d, 0x00, 0x87, 0x31, 0xc5, 0xfd);
		public const Guid CLSID_KSPROPSETID_MPEG4_MediaType_Attributes = .(0xff6c4bfa, 0x07a9, 0x4c7b, 0xa2, 0x37, 0x67, 0x2f, 0x9d, 0x68, 0x06, 0x5f);
		public const Guid CLSID_KSEVENTSETID_DynamicFormatChange = .(0x162ac456, 0x83d7, 0x4239, 0x96, 0xdf, 0xc7, 0x5f, 0xfa, 0x13, 0x8b, 0xc6);
		public const Guid CLSID_PROPSETID_ALLOCATOR_CONTROL = .(0x53171960, 0x148e, 0x11d2, 0x99, 0x79, 0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
		public const Guid CLSID_PROPSETID_VIDCAP_VIDEOPROCAMP = .(0xc6e13360, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_PROPSETID_VIDCAP_SELECTOR = .(0x1abdaeca, 0x68b6, 0x4f83, 0x93, 0x71, 0xb4, 0x13, 0x90, 0x7c, 0x7b, 0x9f);
		public const Guid CLSID_PROPSETID_TUNER = .(0x6a2e0605, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_EVENTSETID_TUNER = .(0x6a2e0606, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_KSNODETYPE_VIDEO_STREAMING = .(0xdff229e1, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_INPUT_TERMINAL = .(0xdff229e2, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_OUTPUT_TERMINAL = .(0xdff229e3, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_SELECTOR = .(0xdff229e4, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_PROCESSING = .(0xdff229e5, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_CAMERA_TERMINAL = .(0xdff229e6, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_INPUT_MTT = .(0xdff229e7, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_KSNODETYPE_VIDEO_OUTPUT_MTT = .(0xdff229e8, 0xf70f, 0x11d0, 0xb9, 0x17, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_PROPSETID_VIDCAP_VIDEOENCODER = .(0x6a2e0610, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_PROPSETID_VIDCAP_VIDEODECODER = .(0xc6e13350, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_EVENTSETID_VIDEODECODER = .(0x6a2e0621, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_KSEVENTSETID_CameraAsyncControl = .(0x22a11754, 0x9701, 0x4088, 0xb3, 0x3f, 0x6b, 0x9c, 0xbc, 0x52, 0xdf, 0x5e);
		public const Guid CLSID_PROPSETID_VIDCAP_CAMERACONTROL = .(0xc6e13370, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_PROPSETID_VIDCAP_CAMERACONTROL_FLASH = .(0x785e8f49, 0x63a2, 0x4144, 0xab, 0x70, 0xff, 0xb2, 0x78, 0xfa, 0x26, 0xce);
		public const Guid CLSID_PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION = .(0x43964bd3, 0x7716, 0x404e, 0x8b, 0xe1, 0xd2, 0x99, 0xb2, 0x0e, 0x50, 0xfd);
		public const Guid CLSID_PROPSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST = .(0x9d12d198, 0xf86c, 0x4fed, 0xb0, 0x23, 0x5d, 0x87, 0x65, 0x3d, 0xa7, 0x93);
		public const Guid CLSID_EVENTSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST = .(0x2fdffc5d, 0xc732, 0x4ba6, 0xb5, 0xdf, 0x6b, 0x4d, 0x7f, 0xc8, 0x8b, 0x8b);
		public const Guid CLSID_PROPSETID_VIDCAP_CAMERACONTROL_IMAGE_PIN_CAPABILITY = .(0x9d3d7bbf, 0x5c6d, 0x4138, 0xbb, 0x00, 0x58, 0x4e, 0xdd, 0x20, 0xf7, 0xc5);
		public const Guid CLSID_KSPROPERTYSETID_ExtendedCameraControl = .(0x1cb79112, 0xc0d2, 0x4213, 0x9c, 0xa6, 0xcd, 0x4f, 0xdb, 0x92, 0x79, 0x72);
		public const Guid CLSID_KSEVENTSETID_ExtendedCameraControl = .(0x571c92c9, 0x13a2, 0x47e3, 0xa6, 0x49, 0xd2, 0xa7, 0x78, 0x16, 0x63, 0x84);
		public const Guid CLSID_KSEVENTSETID_CameraEvent = .(0x7899b2e0, 0x6b43, 0x4964, 0x9d, 0x2a, 0xa2, 0x1f, 0x40, 0x61, 0xf5, 0x76);
		public const Guid CLSID_KSPROPERTYSETID_PerFrameSettingControl = .(0xf1f3e261, 0xdee6, 0x4537, 0xbf, 0xf5, 0xee, 0x20, 0x6d, 0xb5, 0x4a, 0xac);
		public const Guid CLSID_KSCAMERAPROFILE_Legacy = .(0xb4894d81, 0x62b7, 0x4eec, 0x87, 0x40, 0x80, 0x65, 0x8c, 0x4a, 0x9d, 0x3e);
		public const Guid CLSID_KSCAMERAPROFILE_VideoRecording = .(0xa0e517e8, 0x8f8c, 0x4f6f, 0x9a, 0x57, 0x46, 0xfc, 0x2f, 0x64, 0x7e, 0xc0);
		public const Guid CLSID_KSCAMERAPROFILE_HighQualityPhoto = .(0x32440725, 0x961b, 0x4ca3, 0xb5, 0xb2, 0x85, 0x4e, 0x71, 0x9d, 0x9e, 0x1b);
		public const Guid CLSID_KSCAMERAPROFILE_BalancedVideoAndPhoto = .(0x6b52b017, 0x42c7, 0x4a21, 0xbf, 0xe3, 0x23, 0xf0, 0x09, 0x14, 0x98, 0x87);
		public const Guid CLSID_KSCAMERAPROFILE_VideoConferencing = .(0xc5444a88, 0xe1bf, 0x4597, 0xb2, 0xdd, 0x9e, 0x1e, 0xad, 0x86, 0x4b, 0xb8);
		public const Guid CLSID_KSCAMERAPROFILE_PhotoSequence = .(0x02399d9d, 0x4ee8, 0x49ba, 0xbc, 0x07, 0x5f, 0xf1, 0x56, 0x53, 0x14, 0x13);
		public const Guid CLSID_KSCAMERAPROFILE_FaceAuth_Mode = .(0x81361b22, 0x700b, 0x4546, 0xa2, 0xd4, 0xc5, 0x2e, 0x90, 0x7b, 0xfc, 0x27);
		public const Guid CLSID_KSCAMERAPROFILE_HighFrameRate = .(0x566e6113, 0x8c35, 0x48e7, 0xb8, 0x9f, 0xd2, 0x3f, 0xdc, 0x12, 0x19, 0xdc);
		public const Guid CLSID_KSCAMERAPROFILE_HDRWithWCGVideo = .(0x4b27c336, 0x4924, 0x4989, 0xb9, 0x94, 0xfd, 0xaf, 0x1d, 0xc7, 0xcd, 0x85);
		public const Guid CLSID_KSCAMERAPROFILE_HDRWithWCGPhoto = .(0x9bf6f1ff, 0xb555, 0x4625, 0xb3, 0x26, 0xa4, 0x6d, 0xef, 0x31, 0x8f, 0xb7);
		public const Guid CLSID_KSCAMERAPROFILE_VariablePhotoSequence = .(0x9ff2cb56, 0xe75a, 0x49b1, 0xa9, 0x28, 0x99, 0x85, 0xd5, 0x94, 0x6f, 0x87);
		public const Guid CLSID_KSCAMERAPROFILE_VideoHDR8 = .(0xd4f3f4ec, 0xbdff, 0x4314, 0xb1, 0xd4, 0x00, 0x8e, 0x28, 0x1f, 0x74, 0xe7);
		public const Guid CLSID_KSCAMERAPROFILE_CompressedCamera = .(0x0e34cdc1, 0x27ad, 0x437f, 0xab, 0xde, 0x02, 0xb6, 0x29, 0xf3, 0x7b, 0x44);
		public const Guid CLSID_KSPROPERTYSETID_NetworkCameraControl = .(0x0e780f09, 0x5745, 0x4e3a, 0xbc, 0x9f, 0xf2, 0x26, 0xea, 0x43, 0xa6, 0xec);
		public const Guid CLSID_PROPSETID_EXT_DEVICE = .(0xb5730a90, 0x1a2c, 0x11cf, 0x8c, 0x23, 0x00, 0xaa, 0x00, 0x6b, 0x68, 0x14);
		public const Guid CLSID_PROPSETID_EXT_TRANSPORT = .(0xa03cd5f0, 0x3045, 0x11cf, 0x8c, 0x44, 0x00, 0xaa, 0x00, 0x6b, 0x68, 0x14);
		public const Guid CLSID_PROPSETID_TIMECODE_READER = .(0x9b496ce1, 0x811b, 0x11cf, 0x8c, 0x77, 0x00, 0xaa, 0x00, 0x6b, 0x68, 0x14);
		public const Guid CLSID_KSEVENTSETID_EXTDEV_Command = .(0x109c7988, 0xb3cb, 0x11d2, 0xb4, 0x8e, 0x00, 0x60, 0x97, 0xb3, 0x39, 0x1b);
		public const Guid CLSID_PROPSETID_VIDCAP_CROSSBAR = .(0x6a2e0640, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_EVENTSETID_CROSSBAR = .(0x6a2e0641, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_PROPSETID_VIDCAP_TVAUDIO = .(0x6a2e0650, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_KSEVENTSETID_VIDCAP_TVAUDIO = .(0x6a2e0651, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_PROPSETID_VIDCAP_VIDEOCOMPRESSION = .(0xc6e13343, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_OVERLAY = .(0xe436eb7f, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
		public const Guid CLSID_KSPROPSETID_OverlayUpdate = .(0x490ea5cf, 0x7681, 0x11d1, 0xa2, 0x1c, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		public const Guid CLSID_PROPSETID_VIDCAP_VIDEOCONTROL = .(0x6a2e0670, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_PROPSETID_VIDCAP_DROPPEDFRAMES = .(0xc6e13344, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
		public const Guid CLSID_KSPROPSETID_VPConfig = .(0xbc29a660, 0x30e3, 0x11d0, 0x9e, 0x69, 0x00, 0xc0, 0x4f, 0xd7, 0xc1, 0x5b);
		public const Guid CLSID_KSPROPSETID_VPVBIConfig = .(0xec529b00, 0x1a1f, 0x11d1, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a);
		public const Guid CLSID_CLSID_KsIBasicAudioInterfaceHandler = .(0xb9f8ac3e, 0x0f71, 0x11d2, 0xb7, 0x2c, 0x00, 0xc0, 0x4f, 0xb6, 0xbd, 0x3d);
		public const Guid CLSID_KSEVENTSETID_VPNotify = .(0x20c5598e, 0xd3c8, 0x11d0, 0x8d, 0xfc, 0x00, 0xc0, 0x4f, 0xd7, 0xc0, 0x8b);
		public const Guid CLSID_KSEVENTSETID_VIDCAPTOSTI = .(0xdb47de20, 0xf628, 0x11d1, 0xba, 0x41, 0x00, 0xa0, 0xc9, 0x0d, 0x2b, 0x05);
		public const Guid CLSID_KSEVENTSETID_VPVBINotify = .(0xec529b01, 0x1a1f, 0x11d1, 0xba, 0xd9, 0x00, 0x60, 0x97, 0x44, 0x11, 0x1a);
		public const Guid CLSID_KSDATAFORMAT_TYPE_AUXLine21Data = .(0x670aea80, 0x3a82, 0x11d0, 0xb7, 0x9b, 0x00, 0xaa, 0x00, 0x37, 0x67, 0xa7);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_Line21_BytePair = .(0x6e8d4a22, 0x310c, 0x11d0, 0xb7, 0x9a, 0x00, 0xaa, 0x00, 0x37, 0x67, 0xa7);
		public const Guid CLSID_KSDATAFORMAT_SUBTYPE_Line21_GOPPacket = .(0x6e8d4a23, 0x310c, 0x11d0, 0xb7, 0x9a, 0x00, 0xaa, 0x00, 0x37, 0x67, 0xa7);
		public const Guid CLSID_KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK = .(0xed0b916a, 0x044d, 0x11d1, 0xaa, 0x78, 0x00, 0xc0, 0x4f, 0xc3, 0x1d, 0x60);
		public const Guid CLSID_KSPROPSETID_TSRateChange = .(0xa503c5c0, 0x1d1d, 0x11d1, 0xad, 0x80, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
		public const Guid CLSID_KSCATEGORY_ENCODER = .(0x19689bf6, 0xc384, 0x48fd, 0xad, 0x51, 0x90, 0xe5, 0x8c, 0x79, 0xf7, 0x0b);
		public const Guid CLSID_KSCATEGORY_MULTIPLEXER = .(0x7a5de1d3, 0x01a1, 0x452c, 0xb4, 0x81, 0x4f, 0xa2, 0xb9, 0x62, 0x71, 0xe8);
		public const Guid CLSID_ENCAPIPARAM_BITRATE = .(0x49cc4c43, 0xca83, 0x4ad4, 0xa9, 0xaf, 0xf3, 0x69, 0x6a, 0xf6, 0x66, 0xdf);
		public const Guid CLSID_ENCAPIPARAM_PEAK_BITRATE = .(0x703f16a9, 0x3d48, 0x44a1, 0xb0, 0x77, 0x01, 0x8d, 0xff, 0x91, 0x5d, 0x19);
		public const Guid CLSID_ENCAPIPARAM_BITRATE_MODE = .(0xee5fb25c, 0xc713, 0x40d1, 0x9d, 0x58, 0xc0, 0xd7, 0x24, 0x1e, 0x25, 0x0f);
		public const Guid CLSID_CODECAPI_CHANGELISTS = .(0x62b12acf, 0xf6b0, 0x47d9, 0x94, 0x56, 0x96, 0xf2, 0x2c, 0x4e, 0x0b, 0x9d);
		public const Guid CLSID_CODECAPI_VIDEO_ENCODER = .(0x7112e8e1, 0x3d03, 0x47ef, 0x8e, 0x60, 0x03, 0xf1, 0xcf, 0x53, 0x73, 0x01);
		public const Guid CLSID_CODECAPI_AUDIO_ENCODER = .(0xb9d19a3e, 0xf897, 0x429c, 0xbc, 0x46, 0x81, 0x38, 0xb7, 0x27, 0x2b, 0x2d);
		public const Guid CLSID_CODECAPI_SETALLDEFAULTS = .(0x6c5e6a7c, 0xacf8, 0x4f55, 0xa9, 0x99, 0x1a, 0x62, 0x81, 0x09, 0x05, 0x1b);
		public const Guid CLSID_CODECAPI_ALLSETTINGS = .(0x6a577e92, 0x83e1, 0x4113, 0xad, 0xc2, 0x4f, 0xce, 0xc3, 0x2f, 0x83, 0xa1);
		public const Guid CLSID_CODECAPI_SUPPORTSEVENTS = .(0x0581af97, 0x7693, 0x4dbd, 0x9d, 0xca, 0x3f, 0x9e, 0xbd, 0x65, 0x85, 0xa1);
		public const Guid CLSID_CODECAPI_CURRENTCHANGELIST = .(0x1cb14e83, 0x7d72, 0x4657, 0x83, 0xfd, 0x47, 0xa2, 0xc5, 0xb9, 0xd1, 0x3d);
		public const Guid CLSID_KSPROPSETID_Jack = .(0x4509f757, 0x2d46, 0x4637, 0x8e, 0x62, 0xce, 0x7d, 0xb9, 0x44, 0xf5, 0x7b);
		public const Guid CLSID_KSPROPSETID_AudioPosture = .(0xa3fb7b0d, 0x474e, 0x4f51, 0xa3, 0x79, 0x51, 0x28, 0x2d, 0xd4, 0xfa, 0x8f);
		public const Guid CLSID_KSPROPSETID_AudioBufferDuration = .(0x4e73c07f, 0x23cc, 0x4955, 0xa7, 0xea, 0x3d, 0xa5, 0x02, 0x49, 0x62, 0x90);
		public const Guid CLSID_KSPROPSETID_AudioEngine = .(0x3a2f82dc, 0x886f, 0x4baa, 0x9e, 0xb4, 0x08, 0x2b, 0x90, 0x25, 0xc5, 0x36);
		public const Guid CLSID_KSPROPSETID_AudioSignalProcessing = .(0x4f67b528, 0x30c9, 0x40de, 0xb2, 0xfb, 0x85, 0x9d, 0xdd, 0x1f, 0x34, 0x70);
		public const Guid CLSID_KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE = .(0xe1f89eb5, 0x5f46, 0x419b, 0x96, 0x7b, 0xff, 0x67, 0x70, 0xb9, 0x84, 0x01);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_DEFAULT = .(0xc18e2f7e, 0x933d, 0x4965, 0xb7, 0xd1, 0x1e, 0xef, 0x22, 0x8d, 0x2a, 0xf3);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_RAW = .(0x9e90ea20, 0xb493, 0x4fd1, 0xa1, 0xa8, 0x7e, 0x13, 0x61, 0xa9, 0x56, 0xcf);
		public const Guid CLSID_KSPROPSETID_AudioResourceManagement = .(0xd0b305e1, 0xb2cc, 0x484c, 0x8f, 0x23, 0xe5, 0xd2, 0x8a, 0xd9, 0xcf, 0x88);
		public const Guid CLSID_BLUETOOTHLE_MIDI_SERVICE_UUID = .(0x03b80e5a, 0xede8, 0x4b33, 0xa7, 0x51, 0x6c, 0xe3, 0x4e, 0xc4, 0xc7, 0x00);
		public const Guid CLSID_BLUETOOTH_MIDI_DATAIO_CHARACTERISTIC = .(0x7772e5db, 0x3868, 0x4112, 0xa1, 0xa9, 0xf2, 0x66, 0x9d, 0x10, 0x6b, 0xf3);
		public const Guid CLSID_APO_CLASS_UUID = .(0x5989fce8, 0x9cd0, 0x467d, 0x8a, 0x6a, 0x54, 0x19, 0xe3, 0x15, 0x29, 0xd4);
		public const Guid CLSID_AUDIOENDPOINT_CLASS_UUID = .(0xc166523c, 0xfe0c, 0x4a94, 0xa5, 0x86, 0xf1, 0xa8, 0x0c, 0xfb, 0xbf, 0x3e);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS = .(0x98951333, 0xb9cd, 0x48b1, 0xa0, 0xa3, 0xff, 0x40, 0x68, 0x2d, 0x73, 0xf7);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_SPEECH = .(0xfc1cfc9b, 0xb9d6, 0x4cfa, 0xb5, 0xe0, 0x4b, 0xb2, 0x16, 0x68, 0x78, 0xb2);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_NOTIFICATION = .(0x9cf2a70b, 0xf377, 0x403b, 0xbd, 0x6b, 0x36, 0x08, 0x63, 0xe0, 0x35, 0x5c);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_MEDIA = .(0x4780004e, 0x7133, 0x41d8, 0x8c, 0x74, 0x66, 0x0d, 0xad, 0xd2, 0xc0, 0xee);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_MOVIE = .(0xb26feb0d, 0xec94, 0x477c, 0x94, 0x94, 0xd1, 0xab, 0x8e, 0x75, 0x3f, 0x6e);
		public const Guid CLSID_AUDIO_SIGNALPROCESSINGMODE_FAR_FIELD_SPEECH = .(0x28941cba, 0x3be6, 0x4a78, 0x9a, 0x76, 0x30, 0xfd, 0x91, 0x55, 0x9b, 0x64);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION = .(0x6f64adbe, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION = .(0x6f64adbf, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL = .(0x6f64adc0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_BEAMFORMING = .(0x6f64adc1, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL = .(0x6f64adc2, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_EQUALIZER = .(0x6f64adc3, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER = .(0x6f64adc4, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_BASS_BOOST = .(0x6f64adc5, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND = .(0x6f64adc6, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES = .(0x6f64adc7, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_SPEAKER_FILL = .(0x6f64adc8, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_ROOM_CORRECTION = .(0x6f64adc9, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_BASS_MANAGEMENT = .(0x6f64adca, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS = .(0x6f64adcb, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION = .(0x6f64adcc, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION = .(0x6f64adcd, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION = .(0x6f64adce, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_FAR_FIELD_BEAMFORMING = .(0x6f64adcf, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION = .(0x6f64add0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa);
		public const Guid CLSID_KSPROPSETID_AudioModule = .(0xc034fdb0, 0xff75, 0x47c8, 0xaa, 0x3c, 0xee, 0x46, 0x71, 0x6b, 0x50, 0xc6);
		public const Guid CLSID_KSNOTIFICATIONID_AudioModule = .(0x9c2220f0, 0xd9a6, 0x4d5c, 0xa0, 0x36, 0x57, 0x38, 0x57, 0xfd, 0x50, 0xd2);
		public const Guid CLSID_CLSID_Proxy = .(0x17cca71b, 0xecd7, 0x11d0, 0xb9, 0x08, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
		
		// --- COM Interfaces ---
		
		[CRepr]
		public struct IKsControl : IUnknown
		{
			public const new Guid IID = .(0x28f54685, 0x06fd, 0x11d2, 0xb2, 0x7a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT KsProperty(ref KSIDENTIFIER Property, uint32 PropertyLength, void* PropertyData, uint32 DataLength, out uint32 BytesReturned) mut => VT.KsProperty(ref this, ref Property, PropertyLength, PropertyData, DataLength, out BytesReturned);
			public HRESULT KsMethod(ref KSIDENTIFIER Method, uint32 MethodLength, void* MethodData, uint32 DataLength, out uint32 BytesReturned) mut => VT.KsMethod(ref this, ref Method, MethodLength, MethodData, DataLength, out BytesReturned);
			public HRESULT KsEvent(ref KSIDENTIFIER Event, uint32 EventLength, void* EventData, uint32 DataLength, out uint32 BytesReturned) mut => VT.KsEvent(ref this, ref Event, EventLength, EventData, DataLength, out BytesReturned);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsControl self, ref KSIDENTIFIER Property, uint32 PropertyLength, void* PropertyData, uint32 DataLength, out uint32 BytesReturned) KsProperty;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsControl self, ref KSIDENTIFIER Method, uint32 MethodLength, void* MethodData, uint32 DataLength, out uint32 BytesReturned) KsMethod;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsControl self, ref KSIDENTIFIER Event, uint32 EventLength, void* EventData, uint32 DataLength, out uint32 BytesReturned) KsEvent;
			}
		}
		[CRepr]
		public struct IKsFormatSupport : IUnknown
		{
			public const new Guid IID = .(0x3cb4a69d, 0xbb6f, 0x4d2b, 0x95, 0xb7, 0x45, 0x2d, 0x2c, 0x15, 0x5d, 0xb5);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT IsFormatSupported(out KSDATAFORMAT pKsFormat, uint32 cbFormat, out BOOL pbSupported) mut => VT.IsFormatSupported(ref this, out pKsFormat, cbFormat, out pbSupported);
			public HRESULT GetDevicePreferredFormat(out KSDATAFORMAT* ppKsFormat) mut => VT.GetDevicePreferredFormat(ref this, out ppKsFormat);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsFormatSupport self, out KSDATAFORMAT pKsFormat, uint32 cbFormat, out BOOL pbSupported) IsFormatSupported;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsFormatSupport self, out KSDATAFORMAT* ppKsFormat) GetDevicePreferredFormat;
			}
		}
		[CRepr]
		public struct IKsJackDescription : IUnknown
		{
			public const new Guid IID = .(0x4509f757, 0x2d46, 0x4637, 0x8e, 0x62, 0xce, 0x7d, 0xb9, 0x44, 0xf5, 0x7b);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT GetJackCount(out uint32 pcJacks) mut => VT.GetJackCount(ref this, out pcJacks);
			public HRESULT GetJackDescription(uint32 nJack, out KSJACK_DESCRIPTION pDescription) mut => VT.GetJackDescription(ref this, nJack, out pDescription);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsJackDescription self, out uint32 pcJacks) GetJackCount;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsJackDescription self, uint32 nJack, out KSJACK_DESCRIPTION pDescription) GetJackDescription;
			}
		}
		[CRepr]
		public struct IKsJackDescription2 : IUnknown
		{
			public const new Guid IID = .(0x478f3a9b, 0xe0c9, 0x4827, 0x92, 0x28, 0x6f, 0x55, 0x05, 0xff, 0xe7, 0x6a);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT GetJackCount(out uint32 pcJacks) mut => VT.GetJackCount(ref this, out pcJacks);
			public HRESULT GetJackDescription2(uint32 nJack, out KSJACK_DESCRIPTION2 pDescription2) mut => VT.GetJackDescription2(ref this, nJack, out pDescription2);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsJackDescription2 self, out uint32 pcJacks) GetJackCount;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsJackDescription2 self, uint32 nJack, out KSJACK_DESCRIPTION2 pDescription2) GetJackDescription2;
			}
		}
		[CRepr]
		public struct IKsJackSinkInformation : IUnknown
		{
			public const new Guid IID = .(0xd9bd72ed, 0x290f, 0x4581, 0x9f, 0xf3, 0x61, 0x02, 0x7a, 0x8f, 0xe5, 0x32);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT GetJackSinkInformation(out KSJACK_SINK_INFORMATION pJackSinkInformation) mut => VT.GetJackSinkInformation(ref this, out pJackSinkInformation);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsJackSinkInformation self, out KSJACK_SINK_INFORMATION pJackSinkInformation) GetJackSinkInformation;
			}
		}
		[CRepr]
		public struct IKsJackContainerId : IUnknown
		{
			public const new Guid IID = .(0xc99af463, 0xd629, 0x4ec4, 0x8c, 0x00, 0xe5, 0x4d, 0x68, 0x15, 0x42, 0x48);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT GetJackContainerId(out Guid pJackContainerId) mut => VT.GetJackContainerId(ref this, out pJackContainerId);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsJackContainerId self, out Guid pJackContainerId) GetJackContainerId;
			}
		}
		[CRepr]
		public struct IKsPropertySet : IUnknown
		{
			public const new Guid IID = .(0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa, 0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT Set(in Guid PropSet, uint32 Id, void* InstanceData, uint32 InstanceLength, void* PropertyData, uint32 DataLength) mut => VT.Set(ref this, PropSet, Id, InstanceData, InstanceLength, PropertyData, DataLength);
			public HRESULT Get(in Guid PropSet, uint32 Id, void* InstanceData, uint32 InstanceLength, void* PropertyData, uint32 DataLength, out uint32 BytesReturned) mut => VT.Get(ref this, PropSet, Id, InstanceData, InstanceLength, PropertyData, DataLength, out BytesReturned);
			public HRESULT QuerySupported(in Guid PropSet, uint32 Id, out uint32 TypeSupport) mut => VT.QuerySupported(ref this, PropSet, Id, out TypeSupport);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsPropertySet self, in Guid PropSet, uint32 Id, void* InstanceData, uint32 InstanceLength, void* PropertyData, uint32 DataLength) Set;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsPropertySet self, in Guid PropSet, uint32 Id, void* InstanceData, uint32 InstanceLength, void* PropertyData, uint32 DataLength, out uint32 BytesReturned) Get;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsPropertySet self, in Guid PropSet, uint32 Id, out uint32 TypeSupport) QuerySupported;
			}
		}
		[CRepr]
		public struct IKsAggregateControl : IUnknown
		{
			public const new Guid IID = .(0x7f40eac0, 0x3947, 0x11d2, 0x87, 0x4e, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT KsAddAggregate(in Guid AggregateClass) mut => VT.KsAddAggregate(ref this, AggregateClass);
			public HRESULT KsRemoveAggregate(in Guid AggregateClass) mut => VT.KsRemoveAggregate(ref this, AggregateClass);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsAggregateControl self, in Guid AggregateClass) KsAddAggregate;
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsAggregateControl self, in Guid AggregateClass) KsRemoveAggregate;
			}
		}
		[CRepr]
		public struct IKsTopology : IUnknown
		{
			public const new Guid IID = .(0x28f54683, 0x06fd, 0x11d2, 0xb2, 0x7a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
			
			public new VTable* VT { get => (.)vt; }
			
			public HRESULT CreateNodeInstance(uint32 NodeId, uint32 Flags, uint32 DesiredAccess, IUnknown* UnkOuter, in Guid InterfaceId, void** Interface) mut => VT.CreateNodeInstance(ref this, NodeId, Flags, DesiredAccess, UnkOuter, InterfaceId, Interface);

			[CRepr]
			public struct VTable : IUnknown.VTable
			{
				public new function [CallingConvention(.Stdcall)] HRESULT(ref IKsTopology self, uint32 NodeId, uint32 Flags, uint32 DesiredAccess, IUnknown* UnkOuter, in Guid InterfaceId, void** Interface) CreateNodeInstance;
			}
		}
		
		// --- Functions ---
		
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern uint32 KsCreateAllocator(HANDLE ConnectionHandle, ref KSALLOCATOR_FRAMING AllocatorFraming, out HANDLE AllocatorHandle);
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern uint32 KsCreateClock(HANDLE ConnectionHandle, ref KSCLOCK_CREATE ClockCreate, out HANDLE ClockHandle);
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern uint32 KsCreatePin(HANDLE FilterHandle, ref KSPIN_CONNECT Connect, uint32 DesiredAccess, out HANDLE ConnectionHandle);
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern uint32 KsCreateTopologyNode(HANDLE ParentHandle, ref KSNODE_CREATE NodeCreate, uint32 DesiredAccess, out HANDLE NodeHandle);
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern HRESULT KsCreateAllocator2(HANDLE ConnectionHandle, ref KSALLOCATOR_FRAMING AllocatorFraming, out HANDLE AllocatorHandle);
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern HRESULT KsCreateClock2(HANDLE ConnectionHandle, ref KSCLOCK_CREATE ClockCreate, out HANDLE ClockHandle);
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern HRESULT KsCreatePin2(HANDLE FilterHandle, ref KSPIN_CONNECT Connect, uint32 DesiredAccess, out HANDLE ConnectionHandle);
		[Import("ksuser.dll"), CLink, CallingConvention(.Stdcall)]
		public static extern HRESULT KsCreateTopologyNode2(HANDLE ParentHandle, ref KSNODE_CREATE NodeCreate, uint32 DesiredAccess, out HANDLE NodeHandle);
	}
}
