11045 lines
573 KiB
Zig
11045 lines
573 KiB
Zig
//! NOTE: this file is autogenerated, DO NOT MODIFY
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Constants (342)
|
|
//--------------------------------------------------------------------------------
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_INPUT_FRAME = @as(u32, 1);
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_OUTPUT_FRAME = @as(u32, 2);
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_USES_CURRENT_INPUT_FRAME = @as(u32, 4);
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_USES_PREVIOUS_INPUT_FRAME = @as(u32, 8);
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_MOTION = @as(u32, 1);
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_ROTATION = @as(u32, 2);
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_BLENDING = @as(u32, 4);
|
|
pub const WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING = @as(u32, 8);
|
|
pub const WMT_VIDEOIMAGE_INTEGER_DENOMINATOR = @as(i32, 65536);
|
|
pub const WMT_VIDEOIMAGE_MAGIC_NUMBER = @as(u32, 491406834);
|
|
pub const WMT_VIDEOIMAGE_MAGIC_NUMBER_2 = @as(u32, 491406835);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_BOW_TIE = @as(u32, 11);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_CIRCLE = @as(u32, 12);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_CROSS_FADE = @as(u32, 13);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_DIAGONAL = @as(u32, 14);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_DIAMOND = @as(u32, 15);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_FADE_TO_COLOR = @as(u32, 16);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_FILLED_V = @as(u32, 17);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_FLIP = @as(u32, 18);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_INSET = @as(u32, 19);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_IRIS = @as(u32, 20);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_PAGE_ROLL = @as(u32, 21);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_RECTANGLE = @as(u32, 23);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_REVEAL = @as(u32, 24);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_SLIDE = @as(u32, 27);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_SPLIT = @as(u32, 29);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_STAR = @as(u32, 30);
|
|
pub const WMT_VIDEOIMAGE_TRANSITION_WHEEL = @as(u32, 31);
|
|
pub const WM_SampleExtension_ContentType_Size = @as(u32, 1);
|
|
pub const WM_SampleExtension_PixelAspectRatio_Size = @as(u32, 2);
|
|
pub const WM_SampleExtension_Timecode_Size = @as(u32, 14);
|
|
pub const WM_SampleExtension_SampleDuration_Size = @as(u32, 2);
|
|
pub const WM_SampleExtension_ChromaLocation_Size = @as(u32, 1);
|
|
pub const WM_SampleExtension_ColorSpaceInfo_Size = @as(u32, 3);
|
|
pub const WM_CT_REPEAT_FIRST_FIELD = @as(u32, 16);
|
|
pub const WM_CT_BOTTOM_FIELD_FIRST = @as(u32, 32);
|
|
pub const WM_CT_TOP_FIELD_FIRST = @as(u32, 64);
|
|
pub const WM_CT_INTERLACED = @as(u32, 128);
|
|
pub const WM_CL_INTERLACED420 = @as(u32, 0);
|
|
pub const WM_CL_PROGRESSIVE420 = @as(u32, 1);
|
|
pub const WM_MAX_VIDEO_STREAMS = @as(u32, 63);
|
|
pub const WM_MAX_STREAMS = @as(u32, 63);
|
|
pub const WMDRM_IMPORT_INIT_STRUCT_DEFINED = @as(u32, 1);
|
|
pub const DRM_OPL_TYPES = @as(u32, 1);
|
|
pub const g_dwWMSpecialAttributes = @as(u32, 20);
|
|
pub const g_wszWMDuration = "Duration";
|
|
pub const g_wszWMBitrate = "Bitrate";
|
|
pub const g_wszWMSeekable = "Seekable";
|
|
pub const g_wszWMStridable = "Stridable";
|
|
pub const g_wszWMBroadcast = "Broadcast";
|
|
pub const g_wszWMProtected = "Is_Protected";
|
|
pub const g_wszWMTrusted = "Is_Trusted";
|
|
pub const g_wszWMSignature_Name = "Signature_Name";
|
|
pub const g_wszWMHasAudio = "HasAudio";
|
|
pub const g_wszWMHasImage = "HasImage";
|
|
pub const g_wszWMHasScript = "HasScript";
|
|
pub const g_wszWMHasVideo = "HasVideo";
|
|
pub const g_wszWMCurrentBitrate = "CurrentBitrate";
|
|
pub const g_wszWMOptimalBitrate = "OptimalBitrate";
|
|
pub const g_wszWMHasAttachedImages = "HasAttachedImages";
|
|
pub const g_wszWMSkipBackward = "Can_Skip_Backward";
|
|
pub const g_wszWMSkipForward = "Can_Skip_Forward";
|
|
pub const g_wszWMNumberOfFrames = "NumberOfFrames";
|
|
pub const g_wszWMFileSize = "FileSize";
|
|
pub const g_wszWMHasArbitraryDataStream = "HasArbitraryDataStream";
|
|
pub const g_wszWMHasFileTransferStream = "HasFileTransferStream";
|
|
pub const g_wszWMContainerFormat = "WM/ContainerFormat";
|
|
pub const g_dwWMContentAttributes = @as(u32, 5);
|
|
pub const g_wszWMTitle = "Title";
|
|
pub const g_wszWMTitleSort = "TitleSort";
|
|
pub const g_wszWMAuthor = "Author";
|
|
pub const g_wszWMAuthorSort = "AuthorSort";
|
|
pub const g_wszWMDescription = "Description";
|
|
pub const g_wszWMRating = "Rating";
|
|
pub const g_wszWMCopyright = "Copyright";
|
|
pub const g_wszWMUse_DRM = "Use_DRM";
|
|
pub const g_wszWMDRM_Flags = "DRM_Flags";
|
|
pub const g_wszWMDRM_Level = "DRM_Level";
|
|
pub const g_wszWMUse_Advanced_DRM = "Use_Advanced_DRM";
|
|
pub const g_wszWMDRM_KeySeed = "DRM_KeySeed";
|
|
pub const g_wszWMDRM_KeyID = "DRM_KeyID";
|
|
pub const g_wszWMDRM_ContentID = "DRM_ContentID";
|
|
pub const g_wszWMDRM_SourceID = "DRM_SourceID";
|
|
pub const g_wszWMDRM_IndividualizedVersion = "DRM_IndividualizedVersion";
|
|
pub const g_wszWMDRM_LicenseAcqURL = "DRM_LicenseAcqURL";
|
|
pub const g_wszWMDRM_V1LicenseAcqURL = "DRM_V1LicenseAcqURL";
|
|
pub const g_wszWMDRM_HeaderSignPrivKey = "DRM_HeaderSignPrivKey";
|
|
pub const g_wszWMDRM_LASignaturePrivKey = "DRM_LASignaturePrivKey";
|
|
pub const g_wszWMDRM_LASignatureCert = "DRM_LASignatureCert";
|
|
pub const g_wszWMDRM_LASignatureLicSrvCert = "DRM_LASignatureLicSrvCert";
|
|
pub const g_wszWMDRM_LASignatureRootCert = "DRM_LASignatureRootCert";
|
|
pub const g_wszWMAlbumTitle = "WM/AlbumTitle";
|
|
pub const g_wszWMAlbumTitleSort = "WM/AlbumTitleSort";
|
|
pub const g_wszWMTrack = "WM/Track";
|
|
pub const g_wszWMPromotionURL = "WM/PromotionURL";
|
|
pub const g_wszWMAlbumCoverURL = "WM/AlbumCoverURL";
|
|
pub const g_wszWMGenre = "WM/Genre";
|
|
pub const g_wszWMYear = "WM/Year";
|
|
pub const g_wszWMGenreID = "WM/GenreID";
|
|
pub const g_wszWMMCDI = "WM/MCDI";
|
|
pub const g_wszWMComposer = "WM/Composer";
|
|
pub const g_wszWMComposerSort = "WM/ComposerSort";
|
|
pub const g_wszWMLyrics = "WM/Lyrics";
|
|
pub const g_wszWMTrackNumber = "WM/TrackNumber";
|
|
pub const g_wszWMToolName = "WM/ToolName";
|
|
pub const g_wszWMToolVersion = "WM/ToolVersion";
|
|
pub const g_wszWMIsVBR = "IsVBR";
|
|
pub const g_wszWMAlbumArtist = "WM/AlbumArtist";
|
|
pub const g_wszWMAlbumArtistSort = "WM/AlbumArtistSort";
|
|
pub const g_wszWMBannerImageType = "BannerImageType";
|
|
pub const g_wszWMBannerImageData = "BannerImageData";
|
|
pub const g_wszWMBannerImageURL = "BannerImageURL";
|
|
pub const g_wszWMCopyrightURL = "CopyrightURL";
|
|
pub const g_wszWMAspectRatioX = "AspectRatioX";
|
|
pub const g_wszWMAspectRatioY = "AspectRatioY";
|
|
pub const g_wszASFLeakyBucketPairs = "ASFLeakyBucketPairs";
|
|
pub const g_dwWMNSCAttributes = @as(u32, 5);
|
|
pub const g_wszWMNSCName = "NSC_Name";
|
|
pub const g_wszWMNSCAddress = "NSC_Address";
|
|
pub const g_wszWMNSCPhone = "NSC_Phone";
|
|
pub const g_wszWMNSCEmail = "NSC_Email";
|
|
pub const g_wszWMNSCDescription = "NSC_Description";
|
|
pub const g_wszWMWriter = "WM/Writer";
|
|
pub const g_wszWMConductor = "WM/Conductor";
|
|
pub const g_wszWMProducer = "WM/Producer";
|
|
pub const g_wszWMDirector = "WM/Director";
|
|
pub const g_wszWMContentGroupDescription = "WM/ContentGroupDescription";
|
|
pub const g_wszWMSubTitle = "WM/SubTitle";
|
|
pub const g_wszWMPartOfSet = "WM/PartOfSet";
|
|
pub const g_wszWMProtectionType = "WM/ProtectionType";
|
|
pub const g_wszWMVideoHeight = "WM/VideoHeight";
|
|
pub const g_wszWMVideoWidth = "WM/VideoWidth";
|
|
pub const g_wszWMVideoFrameRate = "WM/VideoFrameRate";
|
|
pub const g_wszWMMediaClassPrimaryID = "WM/MediaClassPrimaryID";
|
|
pub const g_wszWMMediaClassSecondaryID = "WM/MediaClassSecondaryID";
|
|
pub const g_wszWMPeriod = "WM/Period";
|
|
pub const g_wszWMCategory = "WM/Category";
|
|
pub const g_wszWMPicture = "WM/Picture";
|
|
pub const g_wszWMLyrics_Synchronised = "WM/Lyrics_Synchronised";
|
|
pub const g_wszWMOriginalLyricist = "WM/OriginalLyricist";
|
|
pub const g_wszWMOriginalArtist = "WM/OriginalArtist";
|
|
pub const g_wszWMOriginalAlbumTitle = "WM/OriginalAlbumTitle";
|
|
pub const g_wszWMOriginalReleaseYear = "WM/OriginalReleaseYear";
|
|
pub const g_wszWMOriginalFilename = "WM/OriginalFilename";
|
|
pub const g_wszWMPublisher = "WM/Publisher";
|
|
pub const g_wszWMEncodedBy = "WM/EncodedBy";
|
|
pub const g_wszWMEncodingSettings = "WM/EncodingSettings";
|
|
pub const g_wszWMEncodingTime = "WM/EncodingTime";
|
|
pub const g_wszWMAuthorURL = "WM/AuthorURL";
|
|
pub const g_wszWMUserWebURL = "WM/UserWebURL";
|
|
pub const g_wszWMAudioFileURL = "WM/AudioFileURL";
|
|
pub const g_wszWMAudioSourceURL = "WM/AudioSourceURL";
|
|
pub const g_wszWMLanguage = "WM/Language";
|
|
pub const g_wszWMParentalRating = "WM/ParentalRating";
|
|
pub const g_wszWMBeatsPerMinute = "WM/BeatsPerMinute";
|
|
pub const g_wszWMInitialKey = "WM/InitialKey";
|
|
pub const g_wszWMMood = "WM/Mood";
|
|
pub const g_wszWMText = "WM/Text";
|
|
pub const g_wszWMDVDID = "WM/DVDID";
|
|
pub const g_wszWMWMContentID = "WM/WMContentID";
|
|
pub const g_wszWMWMCollectionID = "WM/WMCollectionID";
|
|
pub const g_wszWMWMCollectionGroupID = "WM/WMCollectionGroupID";
|
|
pub const g_wszWMUniqueFileIdentifier = "WM/UniqueFileIdentifier";
|
|
pub const g_wszWMModifiedBy = "WM/ModifiedBy";
|
|
pub const g_wszWMRadioStationName = "WM/RadioStationName";
|
|
pub const g_wszWMRadioStationOwner = "WM/RadioStationOwner";
|
|
pub const g_wszWMPlaylistDelay = "WM/PlaylistDelay";
|
|
pub const g_wszWMCodec = "WM/Codec";
|
|
pub const g_wszWMDRM = "WM/DRM";
|
|
pub const g_wszWMISRC = "WM/ISRC";
|
|
pub const g_wszWMProvider = "WM/Provider";
|
|
pub const g_wszWMProviderRating = "WM/ProviderRating";
|
|
pub const g_wszWMProviderStyle = "WM/ProviderStyle";
|
|
pub const g_wszWMContentDistributor = "WM/ContentDistributor";
|
|
pub const g_wszWMSubscriptionContentID = "WM/SubscriptionContentID";
|
|
pub const g_wszWMWMADRCPeakReference = "WM/WMADRCPeakReference";
|
|
pub const g_wszWMWMADRCPeakTarget = "WM/WMADRCPeakTarget";
|
|
pub const g_wszWMWMADRCAverageReference = "WM/WMADRCAverageReference";
|
|
pub const g_wszWMWMADRCAverageTarget = "WM/WMADRCAverageTarget";
|
|
pub const g_wszWMStreamTypeInfo = "WM/StreamTypeInfo";
|
|
pub const g_wszWMPeakBitrate = "WM/PeakBitrate";
|
|
pub const g_wszWMASFPacketCount = "WM/ASFPacketCount";
|
|
pub const g_wszWMASFSecurityObjectsSize = "WM/ASFSecurityObjectsSize";
|
|
pub const g_wszWMSharedUserRating = "WM/SharedUserRating";
|
|
pub const g_wszWMSubTitleDescription = "WM/SubTitleDescription";
|
|
pub const g_wszWMMediaCredits = "WM/MediaCredits";
|
|
pub const g_wszWMParentalRatingReason = "WM/ParentalRatingReason";
|
|
pub const g_wszWMOriginalReleaseTime = "WM/OriginalReleaseTime";
|
|
pub const g_wszWMMediaStationCallSign = "WM/MediaStationCallSign";
|
|
pub const g_wszWMMediaStationName = "WM/MediaStationName";
|
|
pub const g_wszWMMediaNetworkAffiliation = "WM/MediaNetworkAffiliation";
|
|
pub const g_wszWMMediaOriginalChannel = "WM/MediaOriginalChannel";
|
|
pub const g_wszWMMediaOriginalBroadcastDateTime = "WM/MediaOriginalBroadcastDateTime";
|
|
pub const g_wszWMMediaIsStereo = "WM/MediaIsStereo";
|
|
pub const g_wszWMVideoClosedCaptioning = "WM/VideoClosedCaptioning";
|
|
pub const g_wszWMMediaIsRepeat = "WM/MediaIsRepeat";
|
|
pub const g_wszWMMediaIsLive = "WM/MediaIsLive";
|
|
pub const g_wszWMMediaIsTape = "WM/MediaIsTape";
|
|
pub const g_wszWMMediaIsDelay = "WM/MediaIsDelay";
|
|
pub const g_wszWMMediaIsSubtitled = "WM/MediaIsSubtitled";
|
|
pub const g_wszWMMediaIsPremiere = "WM/MediaIsPremiere";
|
|
pub const g_wszWMMediaIsFinale = "WM/MediaIsFinale";
|
|
pub const g_wszWMMediaIsSAP = "WM/MediaIsSAP";
|
|
pub const g_wszWMProviderCopyright = "WM/ProviderCopyright";
|
|
pub const g_wszWMISAN = "WM/ISAN";
|
|
pub const g_wszWMADID = "WM/ADID";
|
|
pub const g_wszWMWMShadowFileSourceFileType = "WM/WMShadowFileSourceFileType";
|
|
pub const g_wszWMWMShadowFileSourceDRMType = "WM/WMShadowFileSourceDRMType";
|
|
pub const g_wszWMWMCPDistributor = "WM/WMCPDistributor";
|
|
pub const g_wszWMWMCPDistributorID = "WM/WMCPDistributorID";
|
|
pub const g_wszWMSeasonNumber = "WM/SeasonNumber";
|
|
pub const g_wszWMEpisodeNumber = "WM/EpisodeNumber";
|
|
pub const g_wszEarlyDataDelivery = "EarlyDataDelivery";
|
|
pub const g_wszJustInTimeDecode = "JustInTimeDecode";
|
|
pub const g_wszSingleOutputBuffer = "SingleOutputBuffer";
|
|
pub const g_wszSoftwareScaling = "SoftwareScaling";
|
|
pub const g_wszDeliverOnReceive = "DeliverOnReceive";
|
|
pub const g_wszScrambledAudio = "ScrambledAudio";
|
|
pub const g_wszDedicatedDeliveryThread = "DedicatedDeliveryThread";
|
|
pub const g_wszEnableDiscreteOutput = "EnableDiscreteOutput";
|
|
pub const g_wszSpeakerConfig = "SpeakerConfig";
|
|
pub const g_wszDynamicRangeControl = "DynamicRangeControl";
|
|
pub const g_wszAllowInterlacedOutput = "AllowInterlacedOutput";
|
|
pub const g_wszVideoSampleDurations = "VideoSampleDurations";
|
|
pub const g_wszStreamLanguage = "StreamLanguage";
|
|
pub const g_wszEnableWMAProSPDIFOutput = "EnableWMAProSPDIFOutput";
|
|
pub const g_wszDeinterlaceMode = "DeinterlaceMode";
|
|
pub const g_wszInitialPatternForInverseTelecine = "InitialPatternForInverseTelecine";
|
|
pub const g_wszJPEGCompressionQuality = "JPEGCompressionQuality";
|
|
pub const g_wszWatermarkCLSID = "WatermarkCLSID";
|
|
pub const g_wszWatermarkConfig = "WatermarkConfig";
|
|
pub const g_wszInterlacedCoding = "InterlacedCoding";
|
|
pub const g_wszFixedFrameRate = "FixedFrameRate";
|
|
pub const g_wszOriginalSourceFormatTag = "_SOURCEFORMATTAG";
|
|
pub const g_wszOriginalWaveFormat = "_ORIGINALWAVEFORMAT";
|
|
pub const g_wszEDL = "_EDL";
|
|
pub const g_wszComplexity = "_COMPLEXITYEX";
|
|
pub const g_wszDecoderComplexityRequested = "_DECODERCOMPLEXITYPROFILE";
|
|
pub const g_wszReloadIndexOnSeek = "ReloadIndexOnSeek";
|
|
pub const g_wszStreamNumIndexObjects = "StreamNumIndexObjects";
|
|
pub const g_wszFailSeekOnError = "FailSeekOnError";
|
|
pub const g_wszPermitSeeksBeyondEndOfStream = "PermitSeeksBeyondEndOfStream";
|
|
pub const g_wszUsePacketAtSeekPoint = "UsePacketAtSeekPoint";
|
|
pub const g_wszSourceBufferTime = "SourceBufferTime";
|
|
pub const g_wszSourceMaxBytesAtOnce = "SourceMaxBytesAtOnce";
|
|
pub const g_wszVBREnabled = "_VBRENABLED";
|
|
pub const g_wszVBRQuality = "_VBRQUALITY";
|
|
pub const g_wszVBRBitrateMax = "_RMAX";
|
|
pub const g_wszVBRBufferWindowMax = "_BMAX";
|
|
pub const g_wszVBRPeak = "VBR Peak";
|
|
pub const g_wszBufferAverage = "Buffer Average";
|
|
pub const g_wszComplexityMax = "_COMPLEXITYEXMAX";
|
|
pub const g_wszComplexityOffline = "_COMPLEXITYEXOFFLINE";
|
|
pub const g_wszComplexityLive = "_COMPLEXITYEXLIVE";
|
|
pub const g_wszIsVBRSupported = "_ISVBRSUPPORTED";
|
|
pub const g_wszNumPasses = "_PASSESUSED";
|
|
pub const g_wszMusicSpeechClassMode = "MusicSpeechClassMode";
|
|
pub const g_wszMusicClassMode = "MusicClassMode";
|
|
pub const g_wszSpeechClassMode = "SpeechClassMode";
|
|
pub const g_wszMixedClassMode = "MixedClassMode";
|
|
pub const g_wszSpeechCaps = "SpeechFormatCap";
|
|
pub const g_wszPeakValue = "PeakValue";
|
|
pub const g_wszAverageLevel = "AverageLevel";
|
|
pub const g_wszFold6To2Channels3 = "Fold6To2Channels3";
|
|
pub const g_wszFoldToChannelsTemplate = "Fold%luTo%luChannels%lu";
|
|
pub const g_wszDeviceConformanceTemplate = "DeviceConformanceTemplate";
|
|
pub const g_wszEnableFrameInterpolation = "EnableFrameInterpolation";
|
|
pub const g_wszNeedsPreviousSample = "NeedsPreviousSample";
|
|
pub const g_wszWMIsCompilation = "WM/IsCompilation";
|
|
pub const WMMEDIASUBTYPE_Base = Guid.initString("00000000-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIATYPE_Video = Guid.initString("73646976-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_RGB1 = Guid.initString("e436eb78-524f-11ce-9f53-0020af0ba770");
|
|
pub const WMMEDIASUBTYPE_RGB4 = Guid.initString("e436eb79-524f-11ce-9f53-0020af0ba770");
|
|
pub const WMMEDIASUBTYPE_RGB8 = Guid.initString("e436eb7a-524f-11ce-9f53-0020af0ba770");
|
|
pub const WMMEDIASUBTYPE_RGB565 = Guid.initString("e436eb7b-524f-11ce-9f53-0020af0ba770");
|
|
pub const WMMEDIASUBTYPE_RGB555 = Guid.initString("e436eb7c-524f-11ce-9f53-0020af0ba770");
|
|
pub const WMMEDIASUBTYPE_RGB24 = Guid.initString("e436eb7d-524f-11ce-9f53-0020af0ba770");
|
|
pub const WMMEDIASUBTYPE_RGB32 = Guid.initString("e436eb7e-524f-11ce-9f53-0020af0ba770");
|
|
pub const WMMEDIASUBTYPE_I420 = Guid.initString("30323449-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_IYUV = Guid.initString("56555949-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_YV12 = Guid.initString("32315659-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_YUY2 = Guid.initString("32595559-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_P422 = Guid.initString("32323450-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_UYVY = Guid.initString("59565955-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_YVYU = Guid.initString("55595659-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_YVU9 = Guid.initString("39555659-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_VIDEOIMAGE = Guid.initString("1d4a45f2-e5f6-4b44-8388-f0ae5c0e0c37");
|
|
pub const WMMEDIASUBTYPE_MP43 = Guid.initString("3334504d-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_MP4S = Guid.initString("5334504d-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_M4S2 = Guid.initString("3253344d-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMV1 = Guid.initString("31564d57-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMV2 = Guid.initString("32564d57-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_MSS1 = Guid.initString("3153534d-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_MPEG2_VIDEO = Guid.initString("e06d8026-db46-11cf-b4d1-00805f6cbbea");
|
|
pub const WMMEDIATYPE_Audio = Guid.initString("73647561-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_PCM = Guid.initString("00000001-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_DRM = Guid.initString("00000009-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMAudioV9 = Guid.initString("00000162-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMAudio_Lossless = Guid.initString("00000163-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_MSS2 = Guid.initString("3253534d-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMSP1 = Guid.initString("0000000a-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMSP2 = Guid.initString("0000000b-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMV3 = Guid.initString("33564d57-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMVP = Guid.initString("50564d57-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WVP2 = Guid.initString("32505657-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMVA = Guid.initString("41564d57-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WVC1 = Guid.initString("31435657-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMAudioV8 = Guid.initString("00000161-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMAudioV7 = Guid.initString("00000161-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WMAudioV2 = Guid.initString("00000161-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_ACELPnet = Guid.initString("00000130-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_MP3 = Guid.initString("00000055-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIASUBTYPE_WebStream = Guid.initString("776257d4-c627-41cb-8f81-7ac7ff1c40cc");
|
|
pub const WMMEDIATYPE_Script = Guid.initString("73636d64-0000-0010-8000-00aa00389b71");
|
|
pub const WMMEDIATYPE_Image = Guid.initString("34a50fd8-8aa5-4386-81fe-a0efe0488e31");
|
|
pub const WMMEDIATYPE_FileTransfer = Guid.initString("d9e47579-930e-4427-adfc-ad80f290e470");
|
|
pub const WMMEDIATYPE_Text = Guid.initString("9bba1ea7-5ab2-4829-ba57-0940209bcf3e");
|
|
pub const WMFORMAT_VideoInfo = Guid.initString("05589f80-c356-11ce-bf01-00aa0055595a");
|
|
pub const WMFORMAT_MPEG2Video = Guid.initString("e06d80e3-db46-11cf-b4d1-00805f6cbbea");
|
|
pub const WMFORMAT_WaveFormatEx = Guid.initString("05589f81-c356-11ce-bf01-00aa0055595a");
|
|
pub const WMFORMAT_Script = Guid.initString("5c8510f2-debe-4ca7-bba5-f07a104f8dff");
|
|
pub const WMFORMAT_WebStream = Guid.initString("da1e6b13-8359-4050-b398-388e965bf00c");
|
|
pub const WMSCRIPTTYPE_TwoStrings = Guid.initString("82f38a70-c29f-11d1-97ad-00a0c95ea850");
|
|
pub const WM_SampleExtensionGUID_OutputCleanPoint = Guid.initString("f72a3c6f-6eb4-4ebc-b192-09ad9759e828");
|
|
pub const WM_SampleExtensionGUID_Timecode = Guid.initString("399595ec-8667-4e2d-8fdb-98814ce76c1e");
|
|
pub const WM_SampleExtensionGUID_ChromaLocation = Guid.initString("4c5acca0-9276-4b2c-9e4c-a0edefdd217e");
|
|
pub const WM_SampleExtensionGUID_ColorSpaceInfo = Guid.initString("f79ada56-30eb-4f2b-9f7a-f24b139a1157");
|
|
pub const WM_SampleExtensionGUID_UserDataInfo = Guid.initString("732bb4fa-78be-4549-99bd-02db1a55b7a8");
|
|
pub const WM_SampleExtensionGUID_FileName = Guid.initString("e165ec0e-19ed-45d7-b4a7-25cbd1e28e9b");
|
|
pub const WM_SampleExtensionGUID_ContentType = Guid.initString("d590dc20-07bc-436c-9cf7-f3bbfbf1a4dc");
|
|
pub const WM_SampleExtensionGUID_PixelAspectRatio = Guid.initString("1b1ee554-f9ea-4bc8-821a-376b74e4c4b8");
|
|
pub const WM_SampleExtensionGUID_SampleDuration = Guid.initString("c6bd9450-867f-4907-83a3-c77921b733ad");
|
|
pub const WM_SampleExtensionGUID_SampleProtectionSalt = Guid.initString("5403deee-b9ee-438f-aa83-3804997e569d");
|
|
pub const CLSID_WMMUTEX_Language = Guid.initString("d6e22a00-35da-11d1-9034-00a0c90349be");
|
|
pub const CLSID_WMMUTEX_Bitrate = Guid.initString("d6e22a01-35da-11d1-9034-00a0c90349be");
|
|
pub const CLSID_WMMUTEX_Presentation = Guid.initString("d6e22a02-35da-11d1-9034-00a0c90349be");
|
|
pub const CLSID_WMMUTEX_Unknown = Guid.initString("d6e22a03-35da-11d1-9034-00a0c90349be");
|
|
pub const CLSID_WMBandwidthSharing_Exclusive = Guid.initString("af6060aa-5197-11d2-b6af-00c04fd908e9");
|
|
pub const CLSID_WMBandwidthSharing_Partial = Guid.initString("af6060ab-5197-11d2-b6af-00c04fd908e9");
|
|
pub const WMT_DMOCATEGORY_AUDIO_WATERMARK = Guid.initString("65221c5a-fa75-4b39-b50c-06c336b6a3ef");
|
|
pub const WMT_DMOCATEGORY_VIDEO_WATERMARK = Guid.initString("187cc922-8efc-4404-9daf-63f4830df1bc");
|
|
pub const CLSID_ClientNetManager = Guid.initString("cd12a3ce-9c42-11d2-beed-0060082f2054");
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Types (180)
|
|
//--------------------------------------------------------------------------------
|
|
const IID_IAMWMBufferPass_Value = Guid.initString("6dd816d7-e740-4123-9e24-2444412644d8");
|
|
pub const IID_IAMWMBufferPass = &IID_IAMWMBufferPass_Value;
|
|
pub const IAMWMBufferPass = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetNotify: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IAMWMBufferPass,
|
|
pCallback: ?*IAMWMBufferPassCallback,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IAMWMBufferPass,
|
|
pCallback: ?*IAMWMBufferPassCallback,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IAMWMBufferPass_SetNotify(self: *const T, pCallback: ?*IAMWMBufferPassCallback) callconv(.Inline) HRESULT {
|
|
return @as(*const IAMWMBufferPass.VTable, @ptrCast(self.vtable)).SetNotify(@as(*const IAMWMBufferPass, @ptrCast(self)), pCallback);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IAMWMBufferPassCallback_Value = Guid.initString("b25b8372-d2d2-44b2-8653-1b8dae332489");
|
|
pub const IID_IAMWMBufferPassCallback = &IID_IAMWMBufferPassCallback_Value;
|
|
pub const IAMWMBufferPassCallback = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Notify: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IAMWMBufferPassCallback,
|
|
pNSSBuffer3: ?*INSSBuffer3,
|
|
pPin: ?*IPin,
|
|
prtStart: ?*i64,
|
|
prtEnd: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IAMWMBufferPassCallback,
|
|
pNSSBuffer3: ?*INSSBuffer3,
|
|
pPin: ?*IPin,
|
|
prtStart: ?*i64,
|
|
prtEnd: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IAMWMBufferPassCallback_Notify(self: *const T, pNSSBuffer3: ?*INSSBuffer3, pPin: ?*IPin, prtStart: ?*i64, prtEnd: ?*i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IAMWMBufferPassCallback.VTable, @ptrCast(self.vtable)).Notify(@as(*const IAMWMBufferPassCallback, @ptrCast(self)), pNSSBuffer3, pPin, prtStart, prtEnd);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const _AM_ASFWRITERCONFIG_PARAM = enum(i32) {
|
|
AUTOINDEX = 1,
|
|
MULTIPASS = 2,
|
|
DONTCOMPRESS = 3,
|
|
};
|
|
pub const AM_CONFIGASFWRITER_PARAM_AUTOINDEX = _AM_ASFWRITERCONFIG_PARAM.AUTOINDEX;
|
|
pub const AM_CONFIGASFWRITER_PARAM_MULTIPASS = _AM_ASFWRITERCONFIG_PARAM.MULTIPASS;
|
|
pub const AM_CONFIGASFWRITER_PARAM_DONTCOMPRESS = _AM_ASFWRITERCONFIG_PARAM.DONTCOMPRESS;
|
|
|
|
pub const AM_WMT_EVENT_DATA = extern struct {
|
|
hrStatus: HRESULT,
|
|
pData: ?*anyopaque,
|
|
};
|
|
|
|
const IID_INSSBuffer_Value = Guid.initString("e1cd3524-03d7-11d2-9eed-006097d2d7cf");
|
|
pub const IID_INSSBuffer = &IID_INSSBuffer_Value;
|
|
pub const INSSBuffer = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetLength: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetLength: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer,
|
|
dwLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer,
|
|
dwLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaxLength: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBuffer: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer,
|
|
ppdwBuffer: ?*?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer,
|
|
ppdwBuffer: ?*?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBufferAndLength: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer,
|
|
ppdwBuffer: ?*?*u8,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer,
|
|
ppdwBuffer: ?*?*u8,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer_GetLength(self: *const T, pdwLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer.VTable, @ptrCast(self.vtable)).GetLength(@as(*const INSSBuffer, @ptrCast(self)), pdwLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer_SetLength(self: *const T, dwLength: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer.VTable, @ptrCast(self.vtable)).SetLength(@as(*const INSSBuffer, @ptrCast(self)), dwLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer_GetMaxLength(self: *const T, pdwLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer.VTable, @ptrCast(self.vtable)).GetMaxLength(@as(*const INSSBuffer, @ptrCast(self)), pdwLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer_GetBuffer(self: *const T, ppdwBuffer: ?*?*u8) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer.VTable, @ptrCast(self.vtable)).GetBuffer(@as(*const INSSBuffer, @ptrCast(self)), ppdwBuffer);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer_GetBufferAndLength(self: *const T, ppdwBuffer: ?*?*u8, pdwLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer.VTable, @ptrCast(self.vtable)).GetBufferAndLength(@as(*const INSSBuffer, @ptrCast(self)), ppdwBuffer, pdwLength);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_INSSBuffer2_Value = Guid.initString("4f528693-1035-43fe-b428-757561ad3a68");
|
|
pub const IID_INSSBuffer2 = &IID_INSSBuffer2_Value;
|
|
pub const INSSBuffer2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: INSSBuffer.VTable,
|
|
GetSampleProperties: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer2,
|
|
cbProperties: u32,
|
|
pbProperties: ?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer2,
|
|
cbProperties: u32,
|
|
pbProperties: ?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetSampleProperties: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer2,
|
|
cbProperties: u32,
|
|
pbProperties: ?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer2,
|
|
cbProperties: u32,
|
|
pbProperties: ?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace INSSBuffer.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer2_GetSampleProperties(self: *const T, cbProperties: u32, pbProperties: ?*u8) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer2.VTable, @ptrCast(self.vtable)).GetSampleProperties(@as(*const INSSBuffer2, @ptrCast(self)), cbProperties, pbProperties);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer2_SetSampleProperties(self: *const T, cbProperties: u32, pbProperties: ?*u8) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer2.VTable, @ptrCast(self.vtable)).SetSampleProperties(@as(*const INSSBuffer2, @ptrCast(self)), cbProperties, pbProperties);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_INSSBuffer3_Value = Guid.initString("c87ceaaf-75be-4bc4-84eb-ac2798507672");
|
|
pub const IID_INSSBuffer3 = &IID_INSSBuffer3_Value;
|
|
pub const INSSBuffer3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: INSSBuffer2.VTable,
|
|
SetProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer3,
|
|
guidBufferProperty: Guid,
|
|
pvBufferProperty: ?*anyopaque,
|
|
dwBufferPropertySize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer3,
|
|
guidBufferProperty: Guid,
|
|
pvBufferProperty: ?*anyopaque,
|
|
dwBufferPropertySize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer3,
|
|
guidBufferProperty: Guid,
|
|
pvBufferProperty: ?*anyopaque,
|
|
pdwBufferPropertySize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer3,
|
|
guidBufferProperty: Guid,
|
|
pvBufferProperty: ?*anyopaque,
|
|
pdwBufferPropertySize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace INSSBuffer2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer3_SetProperty(self: *const T, guidBufferProperty: Guid, pvBufferProperty: ?*anyopaque, dwBufferPropertySize: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer3.VTable, @ptrCast(self.vtable)).SetProperty(@as(*const INSSBuffer3, @ptrCast(self)), guidBufferProperty, pvBufferProperty, dwBufferPropertySize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer3_GetProperty(self: *const T, guidBufferProperty: Guid, pvBufferProperty: ?*anyopaque, pdwBufferPropertySize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer3.VTable, @ptrCast(self.vtable)).GetProperty(@as(*const INSSBuffer3, @ptrCast(self)), guidBufferProperty, pvBufferProperty, pdwBufferPropertySize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_INSSBuffer4_Value = Guid.initString("b6b8fd5a-32e2-49d4-a910-c26cc85465ed");
|
|
pub const IID_INSSBuffer4 = &IID_INSSBuffer4_Value;
|
|
pub const INSSBuffer4 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: INSSBuffer3.VTable,
|
|
GetPropertyCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer4,
|
|
pcBufferProperties: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer4,
|
|
pcBufferProperties: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPropertyByIndex: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSSBuffer4,
|
|
dwBufferPropertyIndex: u32,
|
|
pguidBufferProperty: ?*Guid,
|
|
pvBufferProperty: ?*anyopaque,
|
|
pdwBufferPropertySize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSSBuffer4,
|
|
dwBufferPropertyIndex: u32,
|
|
pguidBufferProperty: ?*Guid,
|
|
pvBufferProperty: ?*anyopaque,
|
|
pdwBufferPropertySize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace INSSBuffer3.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer4_GetPropertyCount(self: *const T, pcBufferProperties: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer4.VTable, @ptrCast(self.vtable)).GetPropertyCount(@as(*const INSSBuffer4, @ptrCast(self)), pcBufferProperties);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSSBuffer4_GetPropertyByIndex(self: *const T, dwBufferPropertyIndex: u32, pguidBufferProperty: ?*Guid, pvBufferProperty: ?*anyopaque, pdwBufferPropertySize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSSBuffer4.VTable, @ptrCast(self.vtable)).GetPropertyByIndex(@as(*const INSSBuffer4, @ptrCast(self)), dwBufferPropertyIndex, pguidBufferProperty, pvBufferProperty, pdwBufferPropertySize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMSBufferAllocator_Value = Guid.initString("61103ca4-2033-11d2-9ef1-006097d2d7cf");
|
|
pub const IID_IWMSBufferAllocator = &IID_IWMSBufferAllocator_Value;
|
|
pub const IWMSBufferAllocator = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
AllocateBuffer: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSBufferAllocator,
|
|
dwMaxBufferSize: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSBufferAllocator,
|
|
dwMaxBufferSize: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AllocatePageSizeBuffer: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSBufferAllocator,
|
|
dwMaxBufferSize: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSBufferAllocator,
|
|
dwMaxBufferSize: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSBufferAllocator_AllocateBuffer(self: *const T, dwMaxBufferSize: u32, ppBuffer: ?*?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSBufferAllocator.VTable, @ptrCast(self.vtable)).AllocateBuffer(@as(*const IWMSBufferAllocator, @ptrCast(self)), dwMaxBufferSize, ppBuffer);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSBufferAllocator_AllocatePageSizeBuffer(self: *const T, dwMaxBufferSize: u32, ppBuffer: ?*?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSBufferAllocator.VTable, @ptrCast(self.vtable)).AllocatePageSizeBuffer(@as(*const IWMSBufferAllocator, @ptrCast(self)), dwMaxBufferSize, ppBuffer);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const WEBSTREAM_SAMPLE_TYPE = enum(i32) {
|
|
FILE = 1,
|
|
RENDER = 2,
|
|
};
|
|
pub const WEBSTREAM_SAMPLE_TYPE_FILE = WEBSTREAM_SAMPLE_TYPE.FILE;
|
|
pub const WEBSTREAM_SAMPLE_TYPE_RENDER = WEBSTREAM_SAMPLE_TYPE.RENDER;
|
|
|
|
pub const WM_SF_TYPE = enum(i32) {
|
|
CLEANPOINT = 1,
|
|
DISCONTINUITY = 2,
|
|
DATALOSS = 4,
|
|
};
|
|
pub const WM_SF_CLEANPOINT = WM_SF_TYPE.CLEANPOINT;
|
|
pub const WM_SF_DISCONTINUITY = WM_SF_TYPE.DISCONTINUITY;
|
|
pub const WM_SF_DATALOSS = WM_SF_TYPE.DATALOSS;
|
|
|
|
pub const WM_SFEX_TYPE = enum(i32) {
|
|
NOTASYNCPOINT = 2,
|
|
DATALOSS = 4,
|
|
};
|
|
pub const WM_SFEX_NOTASYNCPOINT = WM_SFEX_TYPE.NOTASYNCPOINT;
|
|
pub const WM_SFEX_DATALOSS = WM_SFEX_TYPE.DATALOSS;
|
|
|
|
pub const WMT_STATUS = enum(i32) {
|
|
ERROR = 0,
|
|
OPENED = 1,
|
|
BUFFERING_START = 2,
|
|
BUFFERING_STOP = 3,
|
|
EOF = 4,
|
|
// END_OF_FILE = 4, this enum value conflicts with EOF
|
|
END_OF_SEGMENT = 5,
|
|
END_OF_STREAMING = 6,
|
|
LOCATING = 7,
|
|
CONNECTING = 8,
|
|
NO_RIGHTS = 9,
|
|
MISSING_CODEC = 10,
|
|
STARTED = 11,
|
|
STOPPED = 12,
|
|
CLOSED = 13,
|
|
STRIDING = 14,
|
|
TIMER = 15,
|
|
INDEX_PROGRESS = 16,
|
|
SAVEAS_START = 17,
|
|
SAVEAS_STOP = 18,
|
|
NEW_SOURCEFLAGS = 19,
|
|
NEW_METADATA = 20,
|
|
BACKUPRESTORE_BEGIN = 21,
|
|
SOURCE_SWITCH = 22,
|
|
ACQUIRE_LICENSE = 23,
|
|
INDIVIDUALIZE = 24,
|
|
NEEDS_INDIVIDUALIZATION = 25,
|
|
NO_RIGHTS_EX = 26,
|
|
BACKUPRESTORE_END = 27,
|
|
BACKUPRESTORE_CONNECTING = 28,
|
|
BACKUPRESTORE_DISCONNECTING = 29,
|
|
ERROR_WITHURL = 30,
|
|
RESTRICTED_LICENSE = 31,
|
|
CLIENT_CONNECT = 32,
|
|
CLIENT_DISCONNECT = 33,
|
|
NATIVE_OUTPUT_PROPS_CHANGED = 34,
|
|
RECONNECT_START = 35,
|
|
RECONNECT_END = 36,
|
|
CLIENT_CONNECT_EX = 37,
|
|
CLIENT_DISCONNECT_EX = 38,
|
|
SET_FEC_SPAN = 39,
|
|
PREROLL_READY = 40,
|
|
PREROLL_COMPLETE = 41,
|
|
CLIENT_PROPERTIES = 42,
|
|
LICENSEURL_SIGNATURE_STATE = 43,
|
|
INIT_PLAYLIST_BURN = 44,
|
|
TRANSCRYPTOR_INIT = 45,
|
|
TRANSCRYPTOR_SEEKED = 46,
|
|
TRANSCRYPTOR_READ = 47,
|
|
TRANSCRYPTOR_CLOSED = 48,
|
|
PROXIMITY_RESULT = 49,
|
|
PROXIMITY_COMPLETED = 50,
|
|
CONTENT_ENABLER = 51,
|
|
};
|
|
pub const WMT_ERROR = WMT_STATUS.ERROR;
|
|
pub const WMT_OPENED = WMT_STATUS.OPENED;
|
|
pub const WMT_BUFFERING_START = WMT_STATUS.BUFFERING_START;
|
|
pub const WMT_BUFFERING_STOP = WMT_STATUS.BUFFERING_STOP;
|
|
pub const WMT_EOF = WMT_STATUS.EOF;
|
|
pub const WMT_END_OF_FILE = WMT_STATUS.EOF;
|
|
pub const WMT_END_OF_SEGMENT = WMT_STATUS.END_OF_SEGMENT;
|
|
pub const WMT_END_OF_STREAMING = WMT_STATUS.END_OF_STREAMING;
|
|
pub const WMT_LOCATING = WMT_STATUS.LOCATING;
|
|
pub const WMT_CONNECTING = WMT_STATUS.CONNECTING;
|
|
pub const WMT_NO_RIGHTS = WMT_STATUS.NO_RIGHTS;
|
|
pub const WMT_MISSING_CODEC = WMT_STATUS.MISSING_CODEC;
|
|
pub const WMT_STARTED = WMT_STATUS.STARTED;
|
|
pub const WMT_STOPPED = WMT_STATUS.STOPPED;
|
|
pub const WMT_CLOSED = WMT_STATUS.CLOSED;
|
|
pub const WMT_STRIDING = WMT_STATUS.STRIDING;
|
|
pub const WMT_TIMER = WMT_STATUS.TIMER;
|
|
pub const WMT_INDEX_PROGRESS = WMT_STATUS.INDEX_PROGRESS;
|
|
pub const WMT_SAVEAS_START = WMT_STATUS.SAVEAS_START;
|
|
pub const WMT_SAVEAS_STOP = WMT_STATUS.SAVEAS_STOP;
|
|
pub const WMT_NEW_SOURCEFLAGS = WMT_STATUS.NEW_SOURCEFLAGS;
|
|
pub const WMT_NEW_METADATA = WMT_STATUS.NEW_METADATA;
|
|
pub const WMT_BACKUPRESTORE_BEGIN = WMT_STATUS.BACKUPRESTORE_BEGIN;
|
|
pub const WMT_SOURCE_SWITCH = WMT_STATUS.SOURCE_SWITCH;
|
|
pub const WMT_ACQUIRE_LICENSE = WMT_STATUS.ACQUIRE_LICENSE;
|
|
pub const WMT_INDIVIDUALIZE = WMT_STATUS.INDIVIDUALIZE;
|
|
pub const WMT_NEEDS_INDIVIDUALIZATION = WMT_STATUS.NEEDS_INDIVIDUALIZATION;
|
|
pub const WMT_NO_RIGHTS_EX = WMT_STATUS.NO_RIGHTS_EX;
|
|
pub const WMT_BACKUPRESTORE_END = WMT_STATUS.BACKUPRESTORE_END;
|
|
pub const WMT_BACKUPRESTORE_CONNECTING = WMT_STATUS.BACKUPRESTORE_CONNECTING;
|
|
pub const WMT_BACKUPRESTORE_DISCONNECTING = WMT_STATUS.BACKUPRESTORE_DISCONNECTING;
|
|
pub const WMT_ERROR_WITHURL = WMT_STATUS.ERROR_WITHURL;
|
|
pub const WMT_RESTRICTED_LICENSE = WMT_STATUS.RESTRICTED_LICENSE;
|
|
pub const WMT_CLIENT_CONNECT = WMT_STATUS.CLIENT_CONNECT;
|
|
pub const WMT_CLIENT_DISCONNECT = WMT_STATUS.CLIENT_DISCONNECT;
|
|
pub const WMT_NATIVE_OUTPUT_PROPS_CHANGED = WMT_STATUS.NATIVE_OUTPUT_PROPS_CHANGED;
|
|
pub const WMT_RECONNECT_START = WMT_STATUS.RECONNECT_START;
|
|
pub const WMT_RECONNECT_END = WMT_STATUS.RECONNECT_END;
|
|
pub const WMT_CLIENT_CONNECT_EX = WMT_STATUS.CLIENT_CONNECT_EX;
|
|
pub const WMT_CLIENT_DISCONNECT_EX = WMT_STATUS.CLIENT_DISCONNECT_EX;
|
|
pub const WMT_SET_FEC_SPAN = WMT_STATUS.SET_FEC_SPAN;
|
|
pub const WMT_PREROLL_READY = WMT_STATUS.PREROLL_READY;
|
|
pub const WMT_PREROLL_COMPLETE = WMT_STATUS.PREROLL_COMPLETE;
|
|
pub const WMT_CLIENT_PROPERTIES = WMT_STATUS.CLIENT_PROPERTIES;
|
|
pub const WMT_LICENSEURL_SIGNATURE_STATE = WMT_STATUS.LICENSEURL_SIGNATURE_STATE;
|
|
pub const WMT_INIT_PLAYLIST_BURN = WMT_STATUS.INIT_PLAYLIST_BURN;
|
|
pub const WMT_TRANSCRYPTOR_INIT = WMT_STATUS.TRANSCRYPTOR_INIT;
|
|
pub const WMT_TRANSCRYPTOR_SEEKED = WMT_STATUS.TRANSCRYPTOR_SEEKED;
|
|
pub const WMT_TRANSCRYPTOR_READ = WMT_STATUS.TRANSCRYPTOR_READ;
|
|
pub const WMT_TRANSCRYPTOR_CLOSED = WMT_STATUS.TRANSCRYPTOR_CLOSED;
|
|
pub const WMT_PROXIMITY_RESULT = WMT_STATUS.PROXIMITY_RESULT;
|
|
pub const WMT_PROXIMITY_COMPLETED = WMT_STATUS.PROXIMITY_COMPLETED;
|
|
pub const WMT_CONTENT_ENABLER = WMT_STATUS.CONTENT_ENABLER;
|
|
|
|
pub const WMT_STREAM_SELECTION = enum(i32) {
|
|
OFF = 0,
|
|
CLEANPOINT_ONLY = 1,
|
|
ON = 2,
|
|
};
|
|
pub const WMT_OFF = WMT_STREAM_SELECTION.OFF;
|
|
pub const WMT_CLEANPOINT_ONLY = WMT_STREAM_SELECTION.CLEANPOINT_ONLY;
|
|
pub const WMT_ON = WMT_STREAM_SELECTION.ON;
|
|
|
|
pub const WMT_IMAGE_TYPE = enum(i32) {
|
|
NONE = 0,
|
|
BITMAP = 1,
|
|
JPEG = 2,
|
|
GIF = 3,
|
|
};
|
|
pub const WMT_IT_NONE = WMT_IMAGE_TYPE.NONE;
|
|
pub const WMT_IT_BITMAP = WMT_IMAGE_TYPE.BITMAP;
|
|
pub const WMT_IT_JPEG = WMT_IMAGE_TYPE.JPEG;
|
|
pub const WMT_IT_GIF = WMT_IMAGE_TYPE.GIF;
|
|
|
|
pub const WMT_ATTR_DATATYPE = enum(i32) {
|
|
DWORD = 0,
|
|
STRING = 1,
|
|
BINARY = 2,
|
|
BOOL = 3,
|
|
QWORD = 4,
|
|
WORD = 5,
|
|
GUID = 6,
|
|
};
|
|
pub const WMT_TYPE_DWORD = WMT_ATTR_DATATYPE.DWORD;
|
|
pub const WMT_TYPE_STRING = WMT_ATTR_DATATYPE.STRING;
|
|
pub const WMT_TYPE_BINARY = WMT_ATTR_DATATYPE.BINARY;
|
|
pub const WMT_TYPE_BOOL = WMT_ATTR_DATATYPE.BOOL;
|
|
pub const WMT_TYPE_QWORD = WMT_ATTR_DATATYPE.QWORD;
|
|
pub const WMT_TYPE_WORD = WMT_ATTR_DATATYPE.WORD;
|
|
pub const WMT_TYPE_GUID = WMT_ATTR_DATATYPE.GUID;
|
|
|
|
pub const WMT_ATTR_IMAGETYPE = enum(i32) {
|
|
BITMAP = 1,
|
|
JPEG = 2,
|
|
GIF = 3,
|
|
};
|
|
pub const WMT_IMAGETYPE_BITMAP = WMT_ATTR_IMAGETYPE.BITMAP;
|
|
pub const WMT_IMAGETYPE_JPEG = WMT_ATTR_IMAGETYPE.JPEG;
|
|
pub const WMT_IMAGETYPE_GIF = WMT_ATTR_IMAGETYPE.GIF;
|
|
|
|
pub const WMT_VERSION = enum(i32) {
|
|
@"4_0" = 262144,
|
|
@"7_0" = 458752,
|
|
@"8_0" = 524288,
|
|
@"9_0" = 589824,
|
|
};
|
|
pub const WMT_VER_4_0 = WMT_VERSION.@"4_0";
|
|
pub const WMT_VER_7_0 = WMT_VERSION.@"7_0";
|
|
pub const WMT_VER_8_0 = WMT_VERSION.@"8_0";
|
|
pub const WMT_VER_9_0 = WMT_VERSION.@"9_0";
|
|
|
|
pub const WMT_STORAGE_FORMAT = enum(i32) {
|
|
MP3 = 0,
|
|
V1 = 1,
|
|
};
|
|
pub const WMT_Storage_Format_MP3 = WMT_STORAGE_FORMAT.MP3;
|
|
pub const WMT_Storage_Format_V1 = WMT_STORAGE_FORMAT.V1;
|
|
|
|
pub const WMT_DRMLA_TRUST = enum(i32) {
|
|
UNTRUSTED = 0,
|
|
TRUSTED = 1,
|
|
TAMPERED = 2,
|
|
};
|
|
pub const WMT_DRMLA_UNTRUSTED = WMT_DRMLA_TRUST.UNTRUSTED;
|
|
pub const WMT_DRMLA_TRUSTED = WMT_DRMLA_TRUST.TRUSTED;
|
|
pub const WMT_DRMLA_TAMPERED = WMT_DRMLA_TRUST.TAMPERED;
|
|
|
|
pub const WMT_TRANSPORT_TYPE = enum(i32) {
|
|
Unreliable = 0,
|
|
Reliable = 1,
|
|
};
|
|
pub const WMT_Transport_Type_Unreliable = WMT_TRANSPORT_TYPE.Unreliable;
|
|
pub const WMT_Transport_Type_Reliable = WMT_TRANSPORT_TYPE.Reliable;
|
|
|
|
pub const WMT_NET_PROTOCOL = enum(i32) {
|
|
P = 0,
|
|
};
|
|
pub const WMT_PROTOCOL_HTTP = WMT_NET_PROTOCOL.P;
|
|
|
|
pub const WMT_PLAY_MODE = enum(i32) {
|
|
AUTOSELECT = 0,
|
|
LOCAL = 1,
|
|
DOWNLOAD = 2,
|
|
STREAMING = 3,
|
|
};
|
|
pub const WMT_PLAY_MODE_AUTOSELECT = WMT_PLAY_MODE.AUTOSELECT;
|
|
pub const WMT_PLAY_MODE_LOCAL = WMT_PLAY_MODE.LOCAL;
|
|
pub const WMT_PLAY_MODE_DOWNLOAD = WMT_PLAY_MODE.DOWNLOAD;
|
|
pub const WMT_PLAY_MODE_STREAMING = WMT_PLAY_MODE.STREAMING;
|
|
|
|
pub const WMT_PROXY_SETTINGS = enum(i32) {
|
|
NONE = 0,
|
|
MANUAL = 1,
|
|
AUTO = 2,
|
|
BROWSER = 3,
|
|
MAX = 4,
|
|
};
|
|
pub const WMT_PROXY_SETTING_NONE = WMT_PROXY_SETTINGS.NONE;
|
|
pub const WMT_PROXY_SETTING_MANUAL = WMT_PROXY_SETTINGS.MANUAL;
|
|
pub const WMT_PROXY_SETTING_AUTO = WMT_PROXY_SETTINGS.AUTO;
|
|
pub const WMT_PROXY_SETTING_BROWSER = WMT_PROXY_SETTINGS.BROWSER;
|
|
pub const WMT_PROXY_SETTING_MAX = WMT_PROXY_SETTINGS.MAX;
|
|
|
|
pub const WMT_CODEC_INFO_TYPE = enum(i32) {
|
|
AUDIO = 0,
|
|
VIDEO = 1,
|
|
UNKNOWN = -1,
|
|
};
|
|
pub const WMT_CODECINFO_AUDIO = WMT_CODEC_INFO_TYPE.AUDIO;
|
|
pub const WMT_CODECINFO_VIDEO = WMT_CODEC_INFO_TYPE.VIDEO;
|
|
pub const WMT_CODECINFO_UNKNOWN = WMT_CODEC_INFO_TYPE.UNKNOWN;
|
|
|
|
pub const WM_DM_INTERLACED_TYPE = enum(i32) {
|
|
NOTINTERLACED = 0,
|
|
DEINTERLACE_NORMAL = 1,
|
|
DEINTERLACE_HALFSIZE = 2,
|
|
DEINTERLACE_HALFSIZEDOUBLERATE = 3,
|
|
DEINTERLACE_INVERSETELECINE = 4,
|
|
DEINTERLACE_VERTICALHALFSIZEDOUBLERATE = 5,
|
|
};
|
|
pub const WM_DM_NOTINTERLACED = WM_DM_INTERLACED_TYPE.NOTINTERLACED;
|
|
pub const WM_DM_DEINTERLACE_NORMAL = WM_DM_INTERLACED_TYPE.DEINTERLACE_NORMAL;
|
|
pub const WM_DM_DEINTERLACE_HALFSIZE = WM_DM_INTERLACED_TYPE.DEINTERLACE_HALFSIZE;
|
|
pub const WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE = WM_DM_INTERLACED_TYPE.DEINTERLACE_HALFSIZEDOUBLERATE;
|
|
pub const WM_DM_DEINTERLACE_INVERSETELECINE = WM_DM_INTERLACED_TYPE.DEINTERLACE_INVERSETELECINE;
|
|
pub const WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE = WM_DM_INTERLACED_TYPE.DEINTERLACE_VERTICALHALFSIZEDOUBLERATE;
|
|
|
|
pub const WM_DM_IT_FIRST_FRAME_COHERENCY = enum(i32) {
|
|
DISABLE_COHERENT_MODE = 0,
|
|
FIRST_FRAME_IN_CLIP_IS_AA_TOP = 1,
|
|
FIRST_FRAME_IN_CLIP_IS_BB_TOP = 2,
|
|
FIRST_FRAME_IN_CLIP_IS_BC_TOP = 3,
|
|
FIRST_FRAME_IN_CLIP_IS_CD_TOP = 4,
|
|
FIRST_FRAME_IN_CLIP_IS_DD_TOP = 5,
|
|
FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM = 6,
|
|
FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM = 7,
|
|
FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM = 8,
|
|
FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM = 9,
|
|
FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM = 10,
|
|
};
|
|
pub const WM_DM_IT_DISABLE_COHERENT_MODE = WM_DM_IT_FIRST_FRAME_COHERENCY.DISABLE_COHERENT_MODE;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_AA_TOP;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_BB_TOP;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_BC_TOP;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_CD_TOP;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_DD_TOP;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM;
|
|
pub const WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM = WM_DM_IT_FIRST_FRAME_COHERENCY.FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM;
|
|
|
|
pub const WMT_OFFSET_FORMAT = enum(i32) {
|
|
@"100NS" = 0,
|
|
FRAME_NUMBERS = 1,
|
|
PLAYLIST_OFFSET = 2,
|
|
TIMECODE = 3,
|
|
@"100NS_APPROXIMATE" = 4,
|
|
};
|
|
pub const WMT_OFFSET_FORMAT_100NS = WMT_OFFSET_FORMAT.@"100NS";
|
|
pub const WMT_OFFSET_FORMAT_FRAME_NUMBERS = WMT_OFFSET_FORMAT.FRAME_NUMBERS;
|
|
pub const WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = WMT_OFFSET_FORMAT.PLAYLIST_OFFSET;
|
|
pub const WMT_OFFSET_FORMAT_TIMECODE = WMT_OFFSET_FORMAT.TIMECODE;
|
|
pub const WMT_OFFSET_FORMAT_100NS_APPROXIMATE = WMT_OFFSET_FORMAT.@"100NS_APPROXIMATE";
|
|
|
|
pub const WMT_INDEXER_TYPE = enum(i32) {
|
|
PRESENTATION_TIME = 0,
|
|
FRAME_NUMBERS = 1,
|
|
TIMECODE = 2,
|
|
};
|
|
pub const WMT_IT_PRESENTATION_TIME = WMT_INDEXER_TYPE.PRESENTATION_TIME;
|
|
pub const WMT_IT_FRAME_NUMBERS = WMT_INDEXER_TYPE.FRAME_NUMBERS;
|
|
pub const WMT_IT_TIMECODE = WMT_INDEXER_TYPE.TIMECODE;
|
|
|
|
pub const WMT_INDEX_TYPE = enum(i32) {
|
|
DATA_UNIT = 1,
|
|
OBJECT = 2,
|
|
CLEAN_POINT = 3,
|
|
};
|
|
pub const WMT_IT_NEAREST_DATA_UNIT = WMT_INDEX_TYPE.DATA_UNIT;
|
|
pub const WMT_IT_NEAREST_OBJECT = WMT_INDEX_TYPE.OBJECT;
|
|
pub const WMT_IT_NEAREST_CLEAN_POINT = WMT_INDEX_TYPE.CLEAN_POINT;
|
|
|
|
pub const WMT_FILESINK_MODE = enum(i32) {
|
|
SINGLE_BUFFERS = 1,
|
|
FILESINK_DATA_UNITS = 2,
|
|
FILESINK_UNBUFFERED = 4,
|
|
};
|
|
pub const WMT_FM_SINGLE_BUFFERS = WMT_FILESINK_MODE.SINGLE_BUFFERS;
|
|
pub const WMT_FM_FILESINK_DATA_UNITS = WMT_FILESINK_MODE.FILESINK_DATA_UNITS;
|
|
pub const WMT_FM_FILESINK_UNBUFFERED = WMT_FILESINK_MODE.FILESINK_UNBUFFERED;
|
|
|
|
pub const WMT_MUSICSPEECH_CLASS_MODE = enum(i32) {
|
|
MUSIC = 0,
|
|
SPEECH = 1,
|
|
MIXED = 2,
|
|
};
|
|
pub const WMT_MS_CLASS_MUSIC = WMT_MUSICSPEECH_CLASS_MODE.MUSIC;
|
|
pub const WMT_MS_CLASS_SPEECH = WMT_MUSICSPEECH_CLASS_MODE.SPEECH;
|
|
pub const WMT_MS_CLASS_MIXED = WMT_MUSICSPEECH_CLASS_MODE.MIXED;
|
|
|
|
pub const WMT_WATERMARK_ENTRY_TYPE = enum(i32) {
|
|
AUDIO = 1,
|
|
VIDEO = 2,
|
|
};
|
|
pub const WMT_WMETYPE_AUDIO = WMT_WATERMARK_ENTRY_TYPE.AUDIO;
|
|
pub const WMT_WMETYPE_VIDEO = WMT_WATERMARK_ENTRY_TYPE.VIDEO;
|
|
|
|
pub const WM_PLAYBACK_DRC_LEVEL = enum(i32) {
|
|
HIGH = 0,
|
|
MEDIUM = 1,
|
|
LOW = 2,
|
|
};
|
|
pub const WM_PLAYBACK_DRC_HIGH = WM_PLAYBACK_DRC_LEVEL.HIGH;
|
|
pub const WM_PLAYBACK_DRC_MEDIUM = WM_PLAYBACK_DRC_LEVEL.MEDIUM;
|
|
pub const WM_PLAYBACK_DRC_LOW = WM_PLAYBACK_DRC_LEVEL.LOW;
|
|
|
|
pub const WMT_TIMECODE_FRAMERATE = enum(i32) {
|
|
@"30" = 0,
|
|
@"30DROP" = 1,
|
|
@"25" = 2,
|
|
@"24" = 3,
|
|
};
|
|
pub const WMT_TIMECODE_FRAMERATE_30 = WMT_TIMECODE_FRAMERATE.@"30";
|
|
pub const WMT_TIMECODE_FRAMERATE_30DROP = WMT_TIMECODE_FRAMERATE.@"30DROP";
|
|
pub const WMT_TIMECODE_FRAMERATE_25 = WMT_TIMECODE_FRAMERATE.@"25";
|
|
pub const WMT_TIMECODE_FRAMERATE_24 = WMT_TIMECODE_FRAMERATE.@"24";
|
|
|
|
pub const WMT_CREDENTIAL_FLAGS = enum(i32) {
|
|
SAVE = 1,
|
|
DONT_CACHE = 2,
|
|
CLEAR_TEXT = 4,
|
|
PROXY = 8,
|
|
ENCRYPT = 16,
|
|
};
|
|
pub const WMT_CREDENTIAL_SAVE = WMT_CREDENTIAL_FLAGS.SAVE;
|
|
pub const WMT_CREDENTIAL_DONT_CACHE = WMT_CREDENTIAL_FLAGS.DONT_CACHE;
|
|
pub const WMT_CREDENTIAL_CLEAR_TEXT = WMT_CREDENTIAL_FLAGS.CLEAR_TEXT;
|
|
pub const WMT_CREDENTIAL_PROXY = WMT_CREDENTIAL_FLAGS.PROXY;
|
|
pub const WMT_CREDENTIAL_ENCRYPT = WMT_CREDENTIAL_FLAGS.ENCRYPT;
|
|
|
|
pub const WM_AETYPE = enum(i32) {
|
|
INCLUDE = 105,
|
|
EXCLUDE = 101,
|
|
};
|
|
pub const WM_AETYPE_INCLUDE = WM_AETYPE.INCLUDE;
|
|
pub const WM_AETYPE_EXCLUDE = WM_AETYPE.EXCLUDE;
|
|
|
|
pub const WMT_RIGHTS = enum(i32) {
|
|
PLAYBACK = 1,
|
|
COPY_TO_NON_SDMI_DEVICE = 2,
|
|
COPY_TO_CD = 8,
|
|
COPY_TO_SDMI_DEVICE = 16,
|
|
ONE_TIME = 32,
|
|
SAVE_STREAM_PROTECTED = 64,
|
|
COPY = 128,
|
|
COLLABORATIVE_PLAY = 256,
|
|
SDMI_TRIGGER = 65536,
|
|
SDMI_NOMORECOPIES = 131072,
|
|
};
|
|
pub const WMT_RIGHT_PLAYBACK = WMT_RIGHTS.PLAYBACK;
|
|
pub const WMT_RIGHT_COPY_TO_NON_SDMI_DEVICE = WMT_RIGHTS.COPY_TO_NON_SDMI_DEVICE;
|
|
pub const WMT_RIGHT_COPY_TO_CD = WMT_RIGHTS.COPY_TO_CD;
|
|
pub const WMT_RIGHT_COPY_TO_SDMI_DEVICE = WMT_RIGHTS.COPY_TO_SDMI_DEVICE;
|
|
pub const WMT_RIGHT_ONE_TIME = WMT_RIGHTS.ONE_TIME;
|
|
pub const WMT_RIGHT_SAVE_STREAM_PROTECTED = WMT_RIGHTS.SAVE_STREAM_PROTECTED;
|
|
pub const WMT_RIGHT_COPY = WMT_RIGHTS.COPY;
|
|
pub const WMT_RIGHT_COLLABORATIVE_PLAY = WMT_RIGHTS.COLLABORATIVE_PLAY;
|
|
pub const WMT_RIGHT_SDMI_TRIGGER = WMT_RIGHTS.SDMI_TRIGGER;
|
|
pub const WMT_RIGHT_SDMI_NOMORECOPIES = WMT_RIGHTS.SDMI_NOMORECOPIES;
|
|
|
|
pub const WM_STREAM_PRIORITY_RECORD = extern struct {
|
|
wStreamNumber: u16 align(2),
|
|
fMandatory: BOOL align(2),
|
|
};
|
|
|
|
pub const WM_WRITER_STATISTICS = extern struct {
|
|
qwSampleCount: u64,
|
|
qwByteCount: u64,
|
|
qwDroppedSampleCount: u64,
|
|
qwDroppedByteCount: u64,
|
|
dwCurrentBitrate: u32,
|
|
dwAverageBitrate: u32,
|
|
dwExpectedBitrate: u32,
|
|
dwCurrentSampleRate: u32,
|
|
dwAverageSampleRate: u32,
|
|
dwExpectedSampleRate: u32,
|
|
};
|
|
|
|
pub const WM_WRITER_STATISTICS_EX = extern struct {
|
|
dwBitratePlusOverhead: u32,
|
|
dwCurrentSampleDropRateInQueue: u32,
|
|
dwCurrentSampleDropRateInCodec: u32,
|
|
dwCurrentSampleDropRateInMultiplexer: u32,
|
|
dwTotalSampleDropsInQueue: u32,
|
|
dwTotalSampleDropsInCodec: u32,
|
|
dwTotalSampleDropsInMultiplexer: u32,
|
|
};
|
|
|
|
pub const WM_READER_STATISTICS = extern struct {
|
|
cbSize: u32,
|
|
dwBandwidth: u32,
|
|
cPacketsReceived: u32,
|
|
cPacketsRecovered: u32,
|
|
cPacketsLost: u32,
|
|
wQuality: u16,
|
|
};
|
|
|
|
pub const WM_READER_CLIENTINFO = extern struct {
|
|
cbSize: u32,
|
|
wszLang: ?PWSTR,
|
|
wszBrowserUserAgent: ?PWSTR,
|
|
wszBrowserWebPage: ?PWSTR,
|
|
qwReserved: u64,
|
|
pReserved: ?*LPARAM,
|
|
wszHostExe: ?PWSTR,
|
|
qwHostVersion: u64,
|
|
wszPlayerUserAgent: ?PWSTR,
|
|
};
|
|
|
|
pub const WM_CLIENT_PROPERTIES = extern struct {
|
|
dwIPAddress: u32,
|
|
dwPort: u32,
|
|
};
|
|
|
|
pub const WM_CLIENT_PROPERTIES_EX = extern struct {
|
|
cbSize: u32,
|
|
pwszIPAddress: ?[*:0]const u16,
|
|
pwszPort: ?[*:0]const u16,
|
|
pwszDNSName: ?[*:0]const u16,
|
|
};
|
|
|
|
pub const WM_PORT_NUMBER_RANGE = extern struct {
|
|
wPortBegin: u16,
|
|
wPortEnd: u16,
|
|
};
|
|
|
|
pub const WMT_BUFFER_SEGMENT = extern struct {
|
|
pBuffer: ?*INSSBuffer,
|
|
cbOffset: u32,
|
|
cbLength: u32,
|
|
};
|
|
|
|
pub const WMT_PAYLOAD_FRAGMENT = extern struct {
|
|
dwPayloadIndex: u32,
|
|
segmentData: WMT_BUFFER_SEGMENT,
|
|
};
|
|
|
|
pub const WMT_FILESINK_DATA_UNIT = extern struct {
|
|
packetHeaderBuffer: WMT_BUFFER_SEGMENT,
|
|
cPayloads: u32,
|
|
pPayloadHeaderBuffers: ?*WMT_BUFFER_SEGMENT,
|
|
cPayloadDataFragments: u32,
|
|
pPayloadDataFragments: ?*WMT_PAYLOAD_FRAGMENT,
|
|
};
|
|
|
|
pub const WMT_WEBSTREAM_FORMAT = extern struct {
|
|
cbSize: u16,
|
|
cbSampleHeaderFixedData: u16,
|
|
wVersion: u16,
|
|
wReserved: u16,
|
|
};
|
|
|
|
pub const WMT_WEBSTREAM_SAMPLE_HEADER = extern struct {
|
|
cbLength: u16,
|
|
wPart: u16,
|
|
cTotalParts: u16,
|
|
wSampleType: u16,
|
|
wszURL: [1]u16,
|
|
};
|
|
|
|
pub const WM_ADDRESS_ACCESSENTRY = extern struct {
|
|
dwIPAddress: u32,
|
|
dwMask: u32,
|
|
};
|
|
|
|
pub const WM_PICTURE = extern struct {
|
|
pwszMIMEType: ?PWSTR align(1),
|
|
bPictureType: u8 align(1),
|
|
pwszDescription: ?PWSTR align(1),
|
|
dwDataLen: u32 align(1),
|
|
pbData: ?*u8 align(1),
|
|
};
|
|
|
|
pub const WM_SYNCHRONISED_LYRICS = extern struct {
|
|
bTimeStampFormat: u8 align(1),
|
|
bContentType: u8 align(1),
|
|
pwszContentDescriptor: ?PWSTR align(1),
|
|
dwLyricsLen: u32 align(1),
|
|
pbLyrics: ?*u8 align(1),
|
|
};
|
|
|
|
pub const WM_USER_WEB_URL = extern struct {
|
|
pwszDescription: ?PWSTR align(1),
|
|
pwszURL: ?PWSTR align(1),
|
|
};
|
|
|
|
pub const WM_USER_TEXT = extern struct {
|
|
pwszDescription: ?PWSTR align(1),
|
|
pwszText: ?PWSTR align(1),
|
|
};
|
|
|
|
pub const WM_LEAKY_BUCKET_PAIR = extern struct {
|
|
dwBitrate: u32 align(1),
|
|
msBufferWindow: u32 align(1),
|
|
};
|
|
|
|
pub const WM_STREAM_TYPE_INFO = extern struct {
|
|
guidMajorType: Guid align(1),
|
|
cbFormat: u32 align(1),
|
|
};
|
|
|
|
pub const WMT_WATERMARK_ENTRY = extern struct {
|
|
wmetType: WMT_WATERMARK_ENTRY_TYPE,
|
|
clsid: Guid,
|
|
cbDisplayName: u32,
|
|
pwszDisplayName: ?PWSTR,
|
|
};
|
|
|
|
pub const WMT_VIDEOIMAGE_SAMPLE = extern struct {
|
|
dwMagic: u32,
|
|
cbStruct: u32,
|
|
dwControlFlags: u32,
|
|
dwInputFlagsCur: u32,
|
|
lCurMotionXtoX: i32,
|
|
lCurMotionYtoX: i32,
|
|
lCurMotionXoffset: i32,
|
|
lCurMotionXtoY: i32,
|
|
lCurMotionYtoY: i32,
|
|
lCurMotionYoffset: i32,
|
|
lCurBlendCoef1: i32,
|
|
lCurBlendCoef2: i32,
|
|
dwInputFlagsPrev: u32,
|
|
lPrevMotionXtoX: i32,
|
|
lPrevMotionYtoX: i32,
|
|
lPrevMotionXoffset: i32,
|
|
lPrevMotionXtoY: i32,
|
|
lPrevMotionYtoY: i32,
|
|
lPrevMotionYoffset: i32,
|
|
lPrevBlendCoef1: i32,
|
|
lPrevBlendCoef2: i32,
|
|
};
|
|
|
|
pub const WMT_VIDEOIMAGE_SAMPLE2 = extern struct {
|
|
dwMagic: u32,
|
|
dwStructSize: u32,
|
|
dwControlFlags: u32,
|
|
dwViewportWidth: u32,
|
|
dwViewportHeight: u32,
|
|
dwCurrImageWidth: u32,
|
|
dwCurrImageHeight: u32,
|
|
fCurrRegionX0: f32,
|
|
fCurrRegionY0: f32,
|
|
fCurrRegionWidth: f32,
|
|
fCurrRegionHeight: f32,
|
|
fCurrBlendCoef: f32,
|
|
dwPrevImageWidth: u32,
|
|
dwPrevImageHeight: u32,
|
|
fPrevRegionX0: f32,
|
|
fPrevRegionY0: f32,
|
|
fPrevRegionWidth: f32,
|
|
fPrevRegionHeight: f32,
|
|
fPrevBlendCoef: f32,
|
|
dwEffectType: u32,
|
|
dwNumEffectParas: u32,
|
|
fEffectPara0: f32,
|
|
fEffectPara1: f32,
|
|
fEffectPara2: f32,
|
|
fEffectPara3: f32,
|
|
fEffectPara4: f32,
|
|
bKeepPrevImage: BOOL,
|
|
};
|
|
|
|
pub const WM_MEDIA_TYPE = extern struct {
|
|
majortype: Guid,
|
|
subtype: Guid,
|
|
bFixedSizeSamples: BOOL,
|
|
bTemporalCompression: BOOL,
|
|
lSampleSize: u32,
|
|
formattype: Guid,
|
|
pUnk: ?*IUnknown,
|
|
cbFormat: u32,
|
|
pbFormat: ?*u8,
|
|
};
|
|
|
|
pub const WMVIDEOINFOHEADER = extern struct {
|
|
rcSource: RECT,
|
|
rcTarget: RECT,
|
|
dwBitRate: u32,
|
|
dwBitErrorRate: u32,
|
|
AvgTimePerFrame: i64,
|
|
bmiHeader: BITMAPINFOHEADER,
|
|
};
|
|
|
|
pub const WMVIDEOINFOHEADER2 = extern struct {
|
|
rcSource: RECT,
|
|
rcTarget: RECT,
|
|
dwBitRate: u32,
|
|
dwBitErrorRate: u32,
|
|
AvgTimePerFrame: i64,
|
|
dwInterlaceFlags: u32,
|
|
dwCopyProtectFlags: u32,
|
|
dwPictAspectRatioX: u32,
|
|
dwPictAspectRatioY: u32,
|
|
dwReserved1: u32,
|
|
dwReserved2: u32,
|
|
bmiHeader: BITMAPINFOHEADER,
|
|
};
|
|
|
|
pub const WMMPEG2VIDEOINFO = extern struct {
|
|
hdr: WMVIDEOINFOHEADER2,
|
|
dwStartTimeCode: u32,
|
|
cbSequenceHeader: u32,
|
|
dwProfile: u32,
|
|
dwLevel: u32,
|
|
dwFlags: u32,
|
|
dwSequenceHeader: [1]u32,
|
|
};
|
|
|
|
pub const WMSCRIPTFORMAT = extern struct {
|
|
scriptType: Guid,
|
|
};
|
|
|
|
pub const WMT_COLORSPACEINFO_EXTENSION_DATA = extern struct {
|
|
ucColorPrimaries: u8,
|
|
ucColorTransferChar: u8,
|
|
ucColorMatrixCoef: u8,
|
|
};
|
|
|
|
pub const WMT_TIMECODE_EXTENSION_DATA = extern struct {
|
|
wRange: u16 align(2),
|
|
dwTimecode: u32 align(2),
|
|
dwUserbits: u32 align(2),
|
|
dwAmFlags: u32 align(2),
|
|
};
|
|
|
|
pub const DRM_VAL16 = extern struct {
|
|
val: [16]u8,
|
|
};
|
|
|
|
const IID_IWMMediaProps_Value = Guid.initString("96406bce-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMMediaProps = &IID_IWMMediaProps_Value;
|
|
pub const IWMMediaProps = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMediaProps,
|
|
pguidType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMediaProps,
|
|
pguidType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMediaType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMediaProps,
|
|
pType: ?*WM_MEDIA_TYPE,
|
|
pcbType: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMediaProps,
|
|
pType: ?*WM_MEDIA_TYPE,
|
|
pcbType: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetMediaType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMediaProps,
|
|
pType: ?*WM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMediaProps,
|
|
pType: ?*WM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMediaProps_GetType(self: *const T, pguidType: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMediaProps.VTable, @ptrCast(self.vtable)).GetType(@as(*const IWMMediaProps, @ptrCast(self)), pguidType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMediaProps_GetMediaType(self: *const T, pType: ?*WM_MEDIA_TYPE, pcbType: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMediaProps.VTable, @ptrCast(self.vtable)).GetMediaType(@as(*const IWMMediaProps, @ptrCast(self)), pType, pcbType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMediaProps_SetMediaType(self: *const T, pType: ?*WM_MEDIA_TYPE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMediaProps.VTable, @ptrCast(self.vtable)).SetMediaType(@as(*const IWMMediaProps, @ptrCast(self)), pType);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMVideoMediaProps_Value = Guid.initString("96406bcf-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMVideoMediaProps = &IID_IWMVideoMediaProps_Value;
|
|
pub const IWMVideoMediaProps = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMMediaProps.VTable,
|
|
GetMaxKeyFrameSpacing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMVideoMediaProps,
|
|
pllTime: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMVideoMediaProps,
|
|
pllTime: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetMaxKeyFrameSpacing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMVideoMediaProps,
|
|
llTime: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMVideoMediaProps,
|
|
llTime: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetQuality: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMVideoMediaProps,
|
|
pdwQuality: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMVideoMediaProps,
|
|
pdwQuality: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetQuality: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMVideoMediaProps,
|
|
dwQuality: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMVideoMediaProps,
|
|
dwQuality: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMMediaProps.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMVideoMediaProps_GetMaxKeyFrameSpacing(self: *const T, pllTime: ?*i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMVideoMediaProps.VTable, @ptrCast(self.vtable)).GetMaxKeyFrameSpacing(@as(*const IWMVideoMediaProps, @ptrCast(self)), pllTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMVideoMediaProps_SetMaxKeyFrameSpacing(self: *const T, llTime: i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMVideoMediaProps.VTable, @ptrCast(self.vtable)).SetMaxKeyFrameSpacing(@as(*const IWMVideoMediaProps, @ptrCast(self)), llTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMVideoMediaProps_GetQuality(self: *const T, pdwQuality: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMVideoMediaProps.VTable, @ptrCast(self.vtable)).GetQuality(@as(*const IWMVideoMediaProps, @ptrCast(self)), pdwQuality);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMVideoMediaProps_SetQuality(self: *const T, dwQuality: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMVideoMediaProps.VTable, @ptrCast(self.vtable)).SetQuality(@as(*const IWMVideoMediaProps, @ptrCast(self)), dwQuality);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriter_Value = Guid.initString("96406bd4-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMWriter = &IID_IWMWriter_Value;
|
|
pub const IWMWriter = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetProfileByID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
guidProfile: ?*const Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
guidProfile: ?*const Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProfile: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
pProfile: ?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
pProfile: ?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetOutputFilename: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetInputCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
pcInputs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
pcInputs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetInputProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
dwInputNum: u32,
|
|
ppInput: ?*?*IWMInputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
dwInputNum: u32,
|
|
ppInput: ?*?*IWMInputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetInputProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
dwInputNum: u32,
|
|
pInput: ?*IWMInputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
dwInputNum: u32,
|
|
pInput: ?*IWMInputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetInputFormatCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
dwInputNumber: u32,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
dwInputNumber: u32,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetInputFormat: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
dwInputNumber: u32,
|
|
dwFormatNumber: u32,
|
|
pProps: ?*?*IWMInputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
dwInputNumber: u32,
|
|
dwFormatNumber: u32,
|
|
pProps: ?*?*IWMInputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
BeginWriting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
EndWriting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AllocateSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
dwSampleSize: u32,
|
|
ppSample: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
dwSampleSize: u32,
|
|
ppSample: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WriteSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
dwInputNum: u32,
|
|
cnsSampleTime: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
dwInputNum: u32,
|
|
cnsSampleTime: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Flush: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_SetProfileByID(self: *const T, guidProfile: ?*const Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).SetProfileByID(@as(*const IWMWriter, @ptrCast(self)), guidProfile);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_SetProfile(self: *const T, pProfile: ?*IWMProfile) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).SetProfile(@as(*const IWMWriter, @ptrCast(self)), pProfile);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_SetOutputFilename(self: *const T, pwszFilename: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).SetOutputFilename(@as(*const IWMWriter, @ptrCast(self)), pwszFilename);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_GetInputCount(self: *const T, pcInputs: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).GetInputCount(@as(*const IWMWriter, @ptrCast(self)), pcInputs);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_GetInputProps(self: *const T, dwInputNum: u32, ppInput: ?*?*IWMInputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).GetInputProps(@as(*const IWMWriter, @ptrCast(self)), dwInputNum, ppInput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_SetInputProps(self: *const T, dwInputNum: u32, pInput: ?*IWMInputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).SetInputProps(@as(*const IWMWriter, @ptrCast(self)), dwInputNum, pInput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_GetInputFormatCount(self: *const T, dwInputNumber: u32, pcFormats: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).GetInputFormatCount(@as(*const IWMWriter, @ptrCast(self)), dwInputNumber, pcFormats);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_GetInputFormat(self: *const T, dwInputNumber: u32, dwFormatNumber: u32, pProps: ?*?*IWMInputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).GetInputFormat(@as(*const IWMWriter, @ptrCast(self)), dwInputNumber, dwFormatNumber, pProps);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_BeginWriting(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).BeginWriting(@as(*const IWMWriter, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_EndWriting(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).EndWriting(@as(*const IWMWriter, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_AllocateSample(self: *const T, dwSampleSize: u32, ppSample: ?*?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).AllocateSample(@as(*const IWMWriter, @ptrCast(self)), dwSampleSize, ppSample);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_WriteSample(self: *const T, dwInputNum: u32, cnsSampleTime: u64, dwFlags: u32, pSample: ?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).WriteSample(@as(*const IWMWriter, @ptrCast(self)), dwInputNum, cnsSampleTime, dwFlags, pSample);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriter_Flush(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriter.VTable, @ptrCast(self.vtable)).Flush(@as(*const IWMWriter, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMDRMWriter_Value = Guid.initString("d6ea5dd0-12a0-43f4-90ab-a3fd451e6a07");
|
|
pub const IID_IWMDRMWriter = &IID_IWMDRMWriter_Value;
|
|
pub const IWMDRMWriter = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GenerateKeySeed: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMWriter,
|
|
pwszKeySeed: [*:0]u16,
|
|
pcwchLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMWriter,
|
|
pwszKeySeed: [*:0]u16,
|
|
pcwchLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GenerateKeyID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMWriter,
|
|
pwszKeyID: [*:0]u16,
|
|
pcwchLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMWriter,
|
|
pwszKeyID: [*:0]u16,
|
|
pcwchLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GenerateSigningKeyPair: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMWriter,
|
|
pwszPrivKey: [*:0]u16,
|
|
pcwchPrivKeyLength: ?*u32,
|
|
pwszPubKey: [*:0]u16,
|
|
pcwchPubKeyLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMWriter,
|
|
pwszPrivKey: [*:0]u16,
|
|
pcwchPrivKeyLength: ?*u32,
|
|
pwszPubKey: [*:0]u16,
|
|
pcwchPubKeyLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetDRMAttribute: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMWriter,
|
|
wStreamNum: u16,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMWriter,
|
|
wStreamNum: u16,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMWriter_GenerateKeySeed(self: *const T, pwszKeySeed: [*:0]u16, pcwchLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMWriter.VTable, @ptrCast(self.vtable)).GenerateKeySeed(@as(*const IWMDRMWriter, @ptrCast(self)), pwszKeySeed, pcwchLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMWriter_GenerateKeyID(self: *const T, pwszKeyID: [*:0]u16, pcwchLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMWriter.VTable, @ptrCast(self.vtable)).GenerateKeyID(@as(*const IWMDRMWriter, @ptrCast(self)), pwszKeyID, pcwchLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMWriter_GenerateSigningKeyPair(self: *const T, pwszPrivKey: [*:0]u16, pcwchPrivKeyLength: ?*u32, pwszPubKey: [*:0]u16, pcwchPubKeyLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMWriter.VTable, @ptrCast(self.vtable)).GenerateSigningKeyPair(@as(*const IWMDRMWriter, @ptrCast(self)), pwszPrivKey, pcwchPrivKeyLength, pwszPubKey, pcwchPubKeyLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMWriter_SetDRMAttribute(self: *const T, wStreamNum: u16, pszName: ?[*:0]const u16, Type: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, cbLength: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMWriter.VTable, @ptrCast(self.vtable)).SetDRMAttribute(@as(*const IWMDRMWriter, @ptrCast(self)), wStreamNum, pszName, Type, pValue, cbLength);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const WMDRM_IMPORT_INIT_STRUCT = extern struct {
|
|
dwVersion: u32,
|
|
cbEncryptedSessionKeyMessage: u32,
|
|
pbEncryptedSessionKeyMessage: ?*u8,
|
|
cbEncryptedKeyMessage: u32,
|
|
pbEncryptedKeyMessage: ?*u8,
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMDRMWriter2_Value = Guid.initString("38ee7a94-40e2-4e10-aa3f-33fd3210ed5b");
|
|
pub const IID_IWMDRMWriter2 = &IID_IWMDRMWriter2_Value;
|
|
pub const IWMDRMWriter2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMDRMWriter.VTable,
|
|
SetWMDRMNetEncryption: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMWriter2,
|
|
fSamplesEncrypted: BOOL,
|
|
pbKeyID: ?*u8,
|
|
cbKeyID: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMWriter2,
|
|
fSamplesEncrypted: BOOL,
|
|
pbKeyID: ?*u8,
|
|
cbKeyID: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMDRMWriter.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMWriter2_SetWMDRMNetEncryption(self: *const T, fSamplesEncrypted: BOOL, pbKeyID: ?*u8, cbKeyID: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMWriter2.VTable, @ptrCast(self.vtable)).SetWMDRMNetEncryption(@as(*const IWMDRMWriter2, @ptrCast(self)), fSamplesEncrypted, pbKeyID, cbKeyID);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMDRMWriter3_Value = Guid.initString("a7184082-a4aa-4dde-ac9c-e75dbd1117ce");
|
|
pub const IID_IWMDRMWriter3 = &IID_IWMDRMWriter3_Value;
|
|
pub const IWMDRMWriter3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMDRMWriter2.VTable,
|
|
SetProtectStreamSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMWriter3,
|
|
pImportInitStruct: ?*WMDRM_IMPORT_INIT_STRUCT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMWriter3,
|
|
pImportInitStruct: ?*WMDRM_IMPORT_INIT_STRUCT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMDRMWriter2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMWriter3_SetProtectStreamSamples(self: *const T, pImportInitStruct: ?*WMDRM_IMPORT_INIT_STRUCT) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMWriter3.VTable, @ptrCast(self.vtable)).SetProtectStreamSamples(@as(*const IWMDRMWriter3, @ptrCast(self)), pImportInitStruct);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMInputMediaProps_Value = Guid.initString("96406bd5-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMInputMediaProps = &IID_IWMInputMediaProps_Value;
|
|
pub const IWMInputMediaProps = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMMediaProps.VTable,
|
|
GetConnectionName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMInputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMInputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetGroupName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMInputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMInputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMMediaProps.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMInputMediaProps_GetConnectionName(self: *const T, pwszName: [*:0]u16, pcchName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMInputMediaProps.VTable, @ptrCast(self.vtable)).GetConnectionName(@as(*const IWMInputMediaProps, @ptrCast(self)), pwszName, pcchName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMInputMediaProps_GetGroupName(self: *const T, pwszName: [*:0]u16, pcchName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMInputMediaProps.VTable, @ptrCast(self.vtable)).GetGroupName(@as(*const IWMInputMediaProps, @ptrCast(self)), pwszName, pcchName);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMPropertyVault_Value = Guid.initString("72995a79-5090-42a4-9c8c-d9d0b6d34be5");
|
|
pub const IID_IWMPropertyVault = &IID_IWMPropertyVault_Value;
|
|
pub const IWMPropertyVault = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetPropertyCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPropertyVault,
|
|
pdwCount: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPropertyVault,
|
|
pdwCount: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPropertyByName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPropertyVault,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPropertyVault,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPropertyVault,
|
|
pszName: ?[*:0]const u16,
|
|
pType: WMT_ATTR_DATATYPE,
|
|
pValue: ?*u8,
|
|
dwSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPropertyVault,
|
|
pszName: ?[*:0]const u16,
|
|
pType: WMT_ATTR_DATATYPE,
|
|
pValue: ?*u8,
|
|
dwSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPropertyByIndex: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPropertyVault,
|
|
dwIndex: u32,
|
|
pszName: [*:0]u16,
|
|
pdwNameLen: ?*u32,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPropertyVault,
|
|
dwIndex: u32,
|
|
pszName: [*:0]u16,
|
|
pdwNameLen: ?*u32,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CopyPropertiesFrom: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPropertyVault,
|
|
pIWMPropertyVault: ?*IWMPropertyVault,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPropertyVault,
|
|
pIWMPropertyVault: ?*IWMPropertyVault,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Clear: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPropertyVault,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPropertyVault,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPropertyVault_GetPropertyCount(self: *const T, pdwCount: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPropertyVault.VTable, @ptrCast(self.vtable)).GetPropertyCount(@as(*const IWMPropertyVault, @ptrCast(self)), pdwCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPropertyVault_GetPropertyByName(self: *const T, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pdwSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPropertyVault.VTable, @ptrCast(self.vtable)).GetPropertyByName(@as(*const IWMPropertyVault, @ptrCast(self)), pszName, pType, pValue, pdwSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPropertyVault_SetProperty(self: *const T, pszName: ?[*:0]const u16, pType: WMT_ATTR_DATATYPE, pValue: ?*u8, dwSize: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPropertyVault.VTable, @ptrCast(self.vtable)).SetProperty(@as(*const IWMPropertyVault, @ptrCast(self)), pszName, pType, pValue, dwSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPropertyVault_GetPropertyByIndex(self: *const T, dwIndex: u32, pszName: [*:0]u16, pdwNameLen: ?*u32, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pdwSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPropertyVault.VTable, @ptrCast(self.vtable)).GetPropertyByIndex(@as(*const IWMPropertyVault, @ptrCast(self)), dwIndex, pszName, pdwNameLen, pType, pValue, pdwSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPropertyVault_CopyPropertiesFrom(self: *const T, pIWMPropertyVault: ?*IWMPropertyVault) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPropertyVault.VTable, @ptrCast(self.vtable)).CopyPropertiesFrom(@as(*const IWMPropertyVault, @ptrCast(self)), pIWMPropertyVault);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPropertyVault_Clear(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPropertyVault.VTable, @ptrCast(self.vtable)).Clear(@as(*const IWMPropertyVault, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMIStreamProps_Value = Guid.initString("6816dad3-2b4b-4c8e-8149-874c3483a753");
|
|
pub const IID_IWMIStreamProps = &IID_IWMIStreamProps_Value;
|
|
pub const IWMIStreamProps = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMIStreamProps,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMIStreamProps,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMIStreamProps_GetProperty(self: *const T, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pdwSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMIStreamProps.VTable, @ptrCast(self.vtable)).GetProperty(@as(*const IWMIStreamProps, @ptrCast(self)), pszName, pType, pValue, pdwSize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReader_Value = Guid.initString("96406bd6-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMReader = &IID_IWMReader_Value;
|
|
pub const IWMReader = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Open: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
pwszURL: ?[*:0]const u16,
|
|
pCallback: ?*IWMReaderCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
pwszURL: ?[*:0]const u16,
|
|
pCallback: ?*IWMReaderCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Close: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
pcOutputs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
pcOutputs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
dwOutputNum: u32,
|
|
ppOutput: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
dwOutputNum: u32,
|
|
ppOutput: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetOutputProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
dwOutputNum: u32,
|
|
pOutput: ?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
dwOutputNum: u32,
|
|
pOutput: ?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputFormatCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
dwOutputNumber: u32,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
dwOutputNumber: u32,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputFormat: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
dwOutputNumber: u32,
|
|
dwFormatNumber: u32,
|
|
ppProps: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
dwOutputNumber: u32,
|
|
dwFormatNumber: u32,
|
|
ppProps: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Start: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
cnsStart: u64,
|
|
cnsDuration: u64,
|
|
fRate: f32,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
cnsStart: u64,
|
|
cnsDuration: u64,
|
|
fRate: f32,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Stop: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Pause: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Resume: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_Open(self: *const T, pwszURL: ?[*:0]const u16, pCallback: ?*IWMReaderCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).Open(@as(*const IWMReader, @ptrCast(self)), pwszURL, pCallback, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_Close(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).Close(@as(*const IWMReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_GetOutputCount(self: *const T, pcOutputs: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).GetOutputCount(@as(*const IWMReader, @ptrCast(self)), pcOutputs);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_GetOutputProps(self: *const T, dwOutputNum: u32, ppOutput: ?*?*IWMOutputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).GetOutputProps(@as(*const IWMReader, @ptrCast(self)), dwOutputNum, ppOutput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_SetOutputProps(self: *const T, dwOutputNum: u32, pOutput: ?*IWMOutputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).SetOutputProps(@as(*const IWMReader, @ptrCast(self)), dwOutputNum, pOutput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_GetOutputFormatCount(self: *const T, dwOutputNumber: u32, pcFormats: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).GetOutputFormatCount(@as(*const IWMReader, @ptrCast(self)), dwOutputNumber, pcFormats);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_GetOutputFormat(self: *const T, dwOutputNumber: u32, dwFormatNumber: u32, ppProps: ?*?*IWMOutputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).GetOutputFormat(@as(*const IWMReader, @ptrCast(self)), dwOutputNumber, dwFormatNumber, ppProps);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_Start(self: *const T, cnsStart: u64, cnsDuration: u64, fRate: f32, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).Start(@as(*const IWMReader, @ptrCast(self)), cnsStart, cnsDuration, fRate, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_Stop(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).Stop(@as(*const IWMReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_Pause(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).Pause(@as(*const IWMReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReader_Resume(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReader.VTable, @ptrCast(self.vtable)).Resume(@as(*const IWMReader, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMSyncReader_Value = Guid.initString("9397f121-7705-4dc9-b049-98b698188414");
|
|
pub const IID_IWMSyncReader = &IID_IWMSyncReader_Value;
|
|
pub const IWMSyncReader = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Open: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Close: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRange: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
cnsStartTime: u64,
|
|
cnsDuration: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
cnsStartTime: u64,
|
|
cnsDuration: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRangeByFrame: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
qwFrameNumber: u64,
|
|
cFramesToRead: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
qwFrameNumber: u64,
|
|
cFramesToRead: i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNextSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
ppSample: ?*?*INSSBuffer,
|
|
pcnsSampleTime: ?*u64,
|
|
pcnsDuration: ?*u64,
|
|
pdwFlags: ?*u32,
|
|
pdwOutputNum: ?*u32,
|
|
pwStreamNum: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
ppSample: ?*?*INSSBuffer,
|
|
pcnsSampleTime: ?*u64,
|
|
pcnsDuration: ?*u64,
|
|
pdwFlags: ?*u32,
|
|
pdwOutputNum: ?*u32,
|
|
pwStreamNum: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetStreamsSelected: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
cStreamCount: u16,
|
|
pwStreamNumbers: ?*u16,
|
|
pSelections: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
cStreamCount: u16,
|
|
pwStreamNumbers: ?*u16,
|
|
pSelections: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamSelected: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
pSelection: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
pSelection: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetReadStreamSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
fCompressed: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
fCompressed: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetReadStreamSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
pfCompressed: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
pfCompressed: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetOutputSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
pcOutputs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
pcOutputs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
ppOutput: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
ppOutput: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetOutputProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pOutput: ?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pOutput: ?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputFormatCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputFormat: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
dwFormatNum: u32,
|
|
ppProps: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
dwFormatNum: u32,
|
|
ppProps: ?*?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputNumberForStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
pdwOutputNum: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
wStreamNum: u16,
|
|
pdwOutputNum: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamNumberForOutput: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pwStreamNum: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutputNum: u32,
|
|
pwStreamNum: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaxOutputSampleSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutput: u32,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
dwOutput: u32,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaxStreamSampleSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
wStream: u16,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
wStream: u16,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OpenStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader,
|
|
pStream: ?*IStream,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader,
|
|
pStream: ?*IStream,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_Open(self: *const T, pwszFilename: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).Open(@as(*const IWMSyncReader, @ptrCast(self)), pwszFilename);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_Close(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).Close(@as(*const IWMSyncReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_SetRange(self: *const T, cnsStartTime: u64, cnsDuration: i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).SetRange(@as(*const IWMSyncReader, @ptrCast(self)), cnsStartTime, cnsDuration);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_SetRangeByFrame(self: *const T, wStreamNum: u16, qwFrameNumber: u64, cFramesToRead: i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).SetRangeByFrame(@as(*const IWMSyncReader, @ptrCast(self)), wStreamNum, qwFrameNumber, cFramesToRead);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetNextSample(self: *const T, wStreamNum: u16, ppSample: ?*?*INSSBuffer, pcnsSampleTime: ?*u64, pcnsDuration: ?*u64, pdwFlags: ?*u32, pdwOutputNum: ?*u32, pwStreamNum: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetNextSample(@as(*const IWMSyncReader, @ptrCast(self)), wStreamNum, ppSample, pcnsSampleTime, pcnsDuration, pdwFlags, pdwOutputNum, pwStreamNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_SetStreamsSelected(self: *const T, cStreamCount: u16, pwStreamNumbers: ?*u16, pSelections: ?*WMT_STREAM_SELECTION) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).SetStreamsSelected(@as(*const IWMSyncReader, @ptrCast(self)), cStreamCount, pwStreamNumbers, pSelections);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetStreamSelected(self: *const T, wStreamNum: u16, pSelection: ?*WMT_STREAM_SELECTION) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetStreamSelected(@as(*const IWMSyncReader, @ptrCast(self)), wStreamNum, pSelection);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_SetReadStreamSamples(self: *const T, wStreamNum: u16, fCompressed: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).SetReadStreamSamples(@as(*const IWMSyncReader, @ptrCast(self)), wStreamNum, fCompressed);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetReadStreamSamples(self: *const T, wStreamNum: u16, pfCompressed: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetReadStreamSamples(@as(*const IWMSyncReader, @ptrCast(self)), wStreamNum, pfCompressed);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetOutputSetting(self: *const T, dwOutputNum: u32, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetOutputSetting(@as(*const IWMSyncReader, @ptrCast(self)), dwOutputNum, pszName, pType, pValue, pcbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_SetOutputSetting(self: *const T, dwOutputNum: u32, pszName: ?[*:0]const u16, Type: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, cbLength: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).SetOutputSetting(@as(*const IWMSyncReader, @ptrCast(self)), dwOutputNum, pszName, Type, pValue, cbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetOutputCount(self: *const T, pcOutputs: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetOutputCount(@as(*const IWMSyncReader, @ptrCast(self)), pcOutputs);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetOutputProps(self: *const T, dwOutputNum: u32, ppOutput: ?*?*IWMOutputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetOutputProps(@as(*const IWMSyncReader, @ptrCast(self)), dwOutputNum, ppOutput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_SetOutputProps(self: *const T, dwOutputNum: u32, pOutput: ?*IWMOutputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).SetOutputProps(@as(*const IWMSyncReader, @ptrCast(self)), dwOutputNum, pOutput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetOutputFormatCount(self: *const T, dwOutputNum: u32, pcFormats: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetOutputFormatCount(@as(*const IWMSyncReader, @ptrCast(self)), dwOutputNum, pcFormats);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetOutputFormat(self: *const T, dwOutputNum: u32, dwFormatNum: u32, ppProps: ?*?*IWMOutputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetOutputFormat(@as(*const IWMSyncReader, @ptrCast(self)), dwOutputNum, dwFormatNum, ppProps);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetOutputNumberForStream(self: *const T, wStreamNum: u16, pdwOutputNum: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetOutputNumberForStream(@as(*const IWMSyncReader, @ptrCast(self)), wStreamNum, pdwOutputNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetStreamNumberForOutput(self: *const T, dwOutputNum: u32, pwStreamNum: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetStreamNumberForOutput(@as(*const IWMSyncReader, @ptrCast(self)), dwOutputNum, pwStreamNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetMaxOutputSampleSize(self: *const T, dwOutput: u32, pcbMax: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetMaxOutputSampleSize(@as(*const IWMSyncReader, @ptrCast(self)), dwOutput, pcbMax);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_GetMaxStreamSampleSize(self: *const T, wStream: u16, pcbMax: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).GetMaxStreamSampleSize(@as(*const IWMSyncReader, @ptrCast(self)), wStream, pcbMax);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader_OpenStream(self: *const T, pStream: ?*IStream) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader.VTable, @ptrCast(self.vtable)).OpenStream(@as(*const IWMSyncReader, @ptrCast(self)), pStream);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMSyncReader2_Value = Guid.initString("faed3d21-1b6b-4af7-8cb6-3e189bbc187b");
|
|
pub const IID_IWMSyncReader2 = &IID_IWMSyncReader2_Value;
|
|
pub const IWMSyncReader2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMSyncReader.VTable,
|
|
SetRangeByTimecode: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader2,
|
|
wStreamNum: u16,
|
|
pStart: ?*WMT_TIMECODE_EXTENSION_DATA,
|
|
pEnd: ?*WMT_TIMECODE_EXTENSION_DATA,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader2,
|
|
wStreamNum: u16,
|
|
pStart: ?*WMT_TIMECODE_EXTENSION_DATA,
|
|
pEnd: ?*WMT_TIMECODE_EXTENSION_DATA,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRangeByFrameEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader2,
|
|
wStreamNum: u16,
|
|
qwFrameNumber: u64,
|
|
cFramesToRead: i64,
|
|
pcnsStartTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader2,
|
|
wStreamNum: u16,
|
|
qwFrameNumber: u64,
|
|
cFramesToRead: i64,
|
|
pcnsStartTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAllocateForOutput: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader2,
|
|
dwOutputNum: u32,
|
|
pAllocator: ?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader2,
|
|
dwOutputNum: u32,
|
|
pAllocator: ?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAllocateForOutput: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader2,
|
|
dwOutputNum: u32,
|
|
ppAllocator: ?*?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader2,
|
|
dwOutputNum: u32,
|
|
ppAllocator: ?*?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAllocateForStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader2,
|
|
wStreamNum: u16,
|
|
pAllocator: ?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader2,
|
|
wStreamNum: u16,
|
|
pAllocator: ?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAllocateForStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSyncReader2,
|
|
dwSreamNum: u16,
|
|
ppAllocator: ?*?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSyncReader2,
|
|
dwSreamNum: u16,
|
|
ppAllocator: ?*?*IWMReaderAllocatorEx,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMSyncReader.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader2_SetRangeByTimecode(self: *const T, wStreamNum: u16, pStart: ?*WMT_TIMECODE_EXTENSION_DATA, pEnd: ?*WMT_TIMECODE_EXTENSION_DATA) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader2.VTable, @ptrCast(self.vtable)).SetRangeByTimecode(@as(*const IWMSyncReader2, @ptrCast(self)), wStreamNum, pStart, pEnd);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader2_SetRangeByFrameEx(self: *const T, wStreamNum: u16, qwFrameNumber: u64, cFramesToRead: i64, pcnsStartTime: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader2.VTable, @ptrCast(self.vtable)).SetRangeByFrameEx(@as(*const IWMSyncReader2, @ptrCast(self)), wStreamNum, qwFrameNumber, cFramesToRead, pcnsStartTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader2_SetAllocateForOutput(self: *const T, dwOutputNum: u32, pAllocator: ?*IWMReaderAllocatorEx) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader2.VTable, @ptrCast(self.vtable)).SetAllocateForOutput(@as(*const IWMSyncReader2, @ptrCast(self)), dwOutputNum, pAllocator);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader2_GetAllocateForOutput(self: *const T, dwOutputNum: u32, ppAllocator: ?*?*IWMReaderAllocatorEx) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader2.VTable, @ptrCast(self.vtable)).GetAllocateForOutput(@as(*const IWMSyncReader2, @ptrCast(self)), dwOutputNum, ppAllocator);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader2_SetAllocateForStream(self: *const T, wStreamNum: u16, pAllocator: ?*IWMReaderAllocatorEx) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader2.VTable, @ptrCast(self.vtable)).SetAllocateForStream(@as(*const IWMSyncReader2, @ptrCast(self)), wStreamNum, pAllocator);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSyncReader2_GetAllocateForStream(self: *const T, dwSreamNum: u16, ppAllocator: ?*?*IWMReaderAllocatorEx) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSyncReader2.VTable, @ptrCast(self.vtable)).GetAllocateForStream(@as(*const IWMSyncReader2, @ptrCast(self)), dwSreamNum, ppAllocator);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMOutputMediaProps_Value = Guid.initString("96406bd7-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMOutputMediaProps = &IID_IWMOutputMediaProps_Value;
|
|
pub const IWMOutputMediaProps = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMMediaProps.VTable,
|
|
GetStreamGroupName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMOutputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMOutputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetConnectionName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMOutputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMOutputMediaProps,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMMediaProps.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMOutputMediaProps_GetStreamGroupName(self: *const T, pwszName: [*:0]u16, pcchName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMOutputMediaProps.VTable, @ptrCast(self.vtable)).GetStreamGroupName(@as(*const IWMOutputMediaProps, @ptrCast(self)), pwszName, pcchName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMOutputMediaProps_GetConnectionName(self: *const T, pwszName: [*:0]u16, pcchName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMOutputMediaProps.VTable, @ptrCast(self.vtable)).GetConnectionName(@as(*const IWMOutputMediaProps, @ptrCast(self)), pwszName, pcchName);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMStatusCallback_Value = Guid.initString("6d7cdc70-9888-11d3-8edc-00c04f6109cf");
|
|
pub const IID_IWMStatusCallback = &IID_IWMStatusCallback_Value;
|
|
pub const IWMStatusCallback = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
OnStatus: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStatusCallback,
|
|
Status: WMT_STATUS,
|
|
hr: HRESULT,
|
|
dwType: WMT_ATTR_DATATYPE,
|
|
pValue: ?*u8,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStatusCallback,
|
|
Status: WMT_STATUS,
|
|
hr: HRESULT,
|
|
dwType: WMT_ATTR_DATATYPE,
|
|
pValue: ?*u8,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStatusCallback_OnStatus(self: *const T, Status: WMT_STATUS, hr: HRESULT, dwType: WMT_ATTR_DATATYPE, pValue: ?*u8, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStatusCallback.VTable, @ptrCast(self.vtable)).OnStatus(@as(*const IWMStatusCallback, @ptrCast(self)), Status, hr, dwType, pValue, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderCallback_Value = Guid.initString("96406bd8-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMReaderCallback = &IID_IWMReaderCallback_Value;
|
|
pub const IWMReaderCallback = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMStatusCallback.VTable,
|
|
OnSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderCallback,
|
|
dwOutputNum: u32,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderCallback,
|
|
dwOutputNum: u32,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMStatusCallback.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderCallback_OnSample(self: *const T, dwOutputNum: u32, cnsSampleTime: u64, cnsSampleDuration: u64, dwFlags: u32, pSample: ?*INSSBuffer, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderCallback.VTable, @ptrCast(self.vtable)).OnSample(@as(*const IWMReaderCallback, @ptrCast(self)), dwOutputNum, cnsSampleTime, cnsSampleDuration, dwFlags, pSample, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMCredentialCallback_Value = Guid.initString("342e0eb7-e651-450c-975b-2ace2c90c48e");
|
|
pub const IID_IWMCredentialCallback = &IID_IWMCredentialCallback_Value;
|
|
pub const IWMCredentialCallback = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
AcquireCredentials: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCredentialCallback,
|
|
pwszRealm: ?PWSTR,
|
|
pwszSite: ?PWSTR,
|
|
pwszUser: [*:0]u16,
|
|
cchUser: u32,
|
|
pwszPassword: [*:0]u16,
|
|
cchPassword: u32,
|
|
hrStatus: HRESULT,
|
|
pdwFlags: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCredentialCallback,
|
|
pwszRealm: ?PWSTR,
|
|
pwszSite: ?PWSTR,
|
|
pwszUser: [*:0]u16,
|
|
cchUser: u32,
|
|
pwszPassword: [*:0]u16,
|
|
cchPassword: u32,
|
|
hrStatus: HRESULT,
|
|
pdwFlags: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCredentialCallback_AcquireCredentials(self: *const T, pwszRealm: ?PWSTR, pwszSite: ?PWSTR, pwszUser: [*:0]u16, cchUser: u32, pwszPassword: [*:0]u16, cchPassword: u32, hrStatus: HRESULT, pdwFlags: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCredentialCallback.VTable, @ptrCast(self.vtable)).AcquireCredentials(@as(*const IWMCredentialCallback, @ptrCast(self)), pwszRealm, pwszSite, pwszUser, cchUser, pwszPassword, cchPassword, hrStatus, pdwFlags);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMMetadataEditor_Value = Guid.initString("96406bd9-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMMetadataEditor = &IID_IWMMetadataEditor_Value;
|
|
pub const IWMMetadataEditor = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Open: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMetadataEditor,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMetadataEditor,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Close: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMetadataEditor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMetadataEditor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Flush: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMetadataEditor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMetadataEditor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMetadataEditor_Open(self: *const T, pwszFilename: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMetadataEditor.VTable, @ptrCast(self.vtable)).Open(@as(*const IWMMetadataEditor, @ptrCast(self)), pwszFilename);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMetadataEditor_Close(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMetadataEditor.VTable, @ptrCast(self.vtable)).Close(@as(*const IWMMetadataEditor, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMetadataEditor_Flush(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMetadataEditor.VTable, @ptrCast(self.vtable)).Flush(@as(*const IWMMetadataEditor, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMMetadataEditor2_Value = Guid.initString("203cffe3-2e18-4fdf-b59d-6e71530534cf");
|
|
pub const IID_IWMMetadataEditor2 = &IID_IWMMetadataEditor2_Value;
|
|
pub const IWMMetadataEditor2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMMetadataEditor.VTable,
|
|
OpenEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMetadataEditor2,
|
|
pwszFilename: ?[*:0]const u16,
|
|
dwDesiredAccess: u32,
|
|
dwShareMode: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMetadataEditor2,
|
|
pwszFilename: ?[*:0]const u16,
|
|
dwDesiredAccess: u32,
|
|
dwShareMode: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMMetadataEditor.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMetadataEditor2_OpenEx(self: *const T, pwszFilename: ?[*:0]const u16, dwDesiredAccess: u32, dwShareMode: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMetadataEditor2.VTable, @ptrCast(self.vtable)).OpenEx(@as(*const IWMMetadataEditor2, @ptrCast(self)), pwszFilename, dwDesiredAccess, dwShareMode);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMDRMEditor_Value = Guid.initString("ff130ebc-a6c3-42a6-b401-c3382c3e08b3");
|
|
pub const IID_IWMDRMEditor = &IID_IWMDRMEditor_Value;
|
|
pub const IWMDRMEditor = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetDRMProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMEditor,
|
|
pwstrName: ?[*:0]const u16,
|
|
pdwType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMEditor,
|
|
pwstrName: ?[*:0]const u16,
|
|
pdwType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMEditor_GetDRMProperty(self: *const T, pwstrName: ?[*:0]const u16, pdwType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMEditor.VTable, @ptrCast(self.vtable)).GetDRMProperty(@as(*const IWMDRMEditor, @ptrCast(self)), pwstrName, pdwType, pValue, pcbLength);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMHeaderInfo_Value = Guid.initString("96406bda-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMHeaderInfo = &IID_IWMHeaderInfo_Value;
|
|
pub const IWMHeaderInfo = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetAttributeCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
wStreamNum: u16,
|
|
pcAttributes: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
wStreamNum: u16,
|
|
pcAttributes: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAttributeByIndex: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
pwStreamNum: ?*u16,
|
|
pwszName: [*:0]u16,
|
|
pcchNameLen: ?*u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
pwStreamNum: ?*u16,
|
|
pwszName: [*:0]u16,
|
|
pcchNameLen: ?*u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAttributeByName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
pwStreamNum: ?*u16,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
pwStreamNum: ?*u16,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAttribute: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
wStreamNum: u16,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
wStreamNum: u16,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMarkerCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
pcMarkers: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
pcMarkers: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMarker: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
pwszMarkerName: [*:0]u16,
|
|
pcchMarkerNameLen: ?*u16,
|
|
pcnsMarkerTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
pwszMarkerName: [*:0]u16,
|
|
pcchMarkerNameLen: ?*u16,
|
|
pcnsMarkerTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddMarker: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
pwszMarkerName: ?PWSTR,
|
|
cnsMarkerTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
pwszMarkerName: ?PWSTR,
|
|
cnsMarkerTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveMarker: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetScriptCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
pcScripts: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
pcScripts: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetScript: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
pwszType: [*:0]u16,
|
|
pcchTypeLen: ?*u16,
|
|
pwszCommand: [*:0]u16,
|
|
pcchCommandLen: ?*u16,
|
|
pcnsScriptTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
pwszType: [*:0]u16,
|
|
pcchTypeLen: ?*u16,
|
|
pwszCommand: [*:0]u16,
|
|
pcchCommandLen: ?*u16,
|
|
pcnsScriptTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddScript: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
pwszType: ?PWSTR,
|
|
pwszCommand: ?PWSTR,
|
|
cnsScriptTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
pwszType: ?PWSTR,
|
|
pwszCommand: ?PWSTR,
|
|
cnsScriptTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveScript: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo,
|
|
wIndex: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_GetAttributeCount(self: *const T, wStreamNum: u16, pcAttributes: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).GetAttributeCount(@as(*const IWMHeaderInfo, @ptrCast(self)), wStreamNum, pcAttributes);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_GetAttributeByIndex(self: *const T, wIndex: u16, pwStreamNum: ?*u16, pwszName: [*:0]u16, pcchNameLen: ?*u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).GetAttributeByIndex(@as(*const IWMHeaderInfo, @ptrCast(self)), wIndex, pwStreamNum, pwszName, pcchNameLen, pType, pValue, pcbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_GetAttributeByName(self: *const T, pwStreamNum: ?*u16, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).GetAttributeByName(@as(*const IWMHeaderInfo, @ptrCast(self)), pwStreamNum, pszName, pType, pValue, pcbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_SetAttribute(self: *const T, wStreamNum: u16, pszName: ?[*:0]const u16, Type: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, cbLength: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).SetAttribute(@as(*const IWMHeaderInfo, @ptrCast(self)), wStreamNum, pszName, Type, pValue, cbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_GetMarkerCount(self: *const T, pcMarkers: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).GetMarkerCount(@as(*const IWMHeaderInfo, @ptrCast(self)), pcMarkers);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_GetMarker(self: *const T, wIndex: u16, pwszMarkerName: [*:0]u16, pcchMarkerNameLen: ?*u16, pcnsMarkerTime: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).GetMarker(@as(*const IWMHeaderInfo, @ptrCast(self)), wIndex, pwszMarkerName, pcchMarkerNameLen, pcnsMarkerTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_AddMarker(self: *const T, pwszMarkerName: ?PWSTR, cnsMarkerTime: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).AddMarker(@as(*const IWMHeaderInfo, @ptrCast(self)), pwszMarkerName, cnsMarkerTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_RemoveMarker(self: *const T, wIndex: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).RemoveMarker(@as(*const IWMHeaderInfo, @ptrCast(self)), wIndex);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_GetScriptCount(self: *const T, pcScripts: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).GetScriptCount(@as(*const IWMHeaderInfo, @ptrCast(self)), pcScripts);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_GetScript(self: *const T, wIndex: u16, pwszType: [*:0]u16, pcchTypeLen: ?*u16, pwszCommand: [*:0]u16, pcchCommandLen: ?*u16, pcnsScriptTime: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).GetScript(@as(*const IWMHeaderInfo, @ptrCast(self)), wIndex, pwszType, pcchTypeLen, pwszCommand, pcchCommandLen, pcnsScriptTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_AddScript(self: *const T, pwszType: ?PWSTR, pwszCommand: ?PWSTR, cnsScriptTime: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).AddScript(@as(*const IWMHeaderInfo, @ptrCast(self)), pwszType, pwszCommand, cnsScriptTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo_RemoveScript(self: *const T, wIndex: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo.VTable, @ptrCast(self.vtable)).RemoveScript(@as(*const IWMHeaderInfo, @ptrCast(self)), wIndex);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMHeaderInfo2_Value = Guid.initString("15cf9781-454e-482e-b393-85fae487a810");
|
|
pub const IID_IWMHeaderInfo2 = &IID_IWMHeaderInfo2_Value;
|
|
pub const IWMHeaderInfo2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMHeaderInfo.VTable,
|
|
GetCodecInfoCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo2,
|
|
pcCodecInfos: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo2,
|
|
pcCodecInfos: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCodecInfo: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo2,
|
|
wIndex: u32,
|
|
pcchName: ?*u16,
|
|
pwszName: [*:0]u16,
|
|
pcchDescription: ?*u16,
|
|
pwszDescription: [*:0]u16,
|
|
pCodecType: ?*WMT_CODEC_INFO_TYPE,
|
|
pcbCodecInfo: ?*u16,
|
|
pbCodecInfo: [*:0]u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo2,
|
|
wIndex: u32,
|
|
pcchName: ?*u16,
|
|
pwszName: [*:0]u16,
|
|
pcchDescription: ?*u16,
|
|
pwszDescription: [*:0]u16,
|
|
pCodecType: ?*WMT_CODEC_INFO_TYPE,
|
|
pcbCodecInfo: ?*u16,
|
|
pbCodecInfo: [*:0]u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMHeaderInfo.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo2_GetCodecInfoCount(self: *const T, pcCodecInfos: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo2.VTable, @ptrCast(self.vtable)).GetCodecInfoCount(@as(*const IWMHeaderInfo2, @ptrCast(self)), pcCodecInfos);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo2_GetCodecInfo(self: *const T, wIndex: u32, pcchName: ?*u16, pwszName: [*:0]u16, pcchDescription: ?*u16, pwszDescription: [*:0]u16, pCodecType: ?*WMT_CODEC_INFO_TYPE, pcbCodecInfo: ?*u16, pbCodecInfo: [*:0]u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo2.VTable, @ptrCast(self.vtable)).GetCodecInfo(@as(*const IWMHeaderInfo2, @ptrCast(self)), wIndex, pcchName, pwszName, pcchDescription, pwszDescription, pCodecType, pcbCodecInfo, pbCodecInfo);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMHeaderInfo3_Value = Guid.initString("15cc68e3-27cc-4ecd-b222-3f5d02d80bd5");
|
|
pub const IID_IWMHeaderInfo3 = &IID_IWMHeaderInfo3_Value;
|
|
pub const IWMHeaderInfo3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMHeaderInfo2.VTable,
|
|
GetAttributeCountEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
pcAttributes: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
pcAttributes: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAttributeIndices: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
pwszName: ?[*:0]const u16,
|
|
pwLangIndex: ?*u16,
|
|
pwIndices: [*:0]u16,
|
|
pwCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
pwszName: ?[*:0]const u16,
|
|
pwLangIndex: ?*u16,
|
|
pwIndices: [*:0]u16,
|
|
pwCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAttributeByIndexEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
wIndex: u16,
|
|
pwszName: [*:0]u16,
|
|
pwNameLen: ?*u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pwLangIndex: ?*u16,
|
|
pValue: [*:0]u8,
|
|
pdwDataLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
wIndex: u16,
|
|
pwszName: [*:0]u16,
|
|
pwNameLen: ?*u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pwLangIndex: ?*u16,
|
|
pValue: [*:0]u8,
|
|
pdwDataLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ModifyAttribute: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
wIndex: u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
wLangIndex: u16,
|
|
pValue: [*:0]const u8,
|
|
dwLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
wIndex: u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
wLangIndex: u16,
|
|
pValue: [*:0]const u8,
|
|
dwLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddAttribute: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
pszName: ?[*:0]const u16,
|
|
pwIndex: ?*u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
wLangIndex: u16,
|
|
pValue: [*:0]const u8,
|
|
dwLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
pszName: ?[*:0]const u16,
|
|
pwIndex: ?*u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
wLangIndex: u16,
|
|
pValue: [*:0]const u8,
|
|
dwLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
DeleteAttribute: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
wIndex: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo3,
|
|
wStreamNum: u16,
|
|
wIndex: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddCodecInfo: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMHeaderInfo3,
|
|
pwszName: ?PWSTR,
|
|
pwszDescription: ?PWSTR,
|
|
codecType: WMT_CODEC_INFO_TYPE,
|
|
cbCodecInfo: u16,
|
|
pbCodecInfo: [*:0]u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMHeaderInfo3,
|
|
pwszName: ?PWSTR,
|
|
pwszDescription: ?PWSTR,
|
|
codecType: WMT_CODEC_INFO_TYPE,
|
|
cbCodecInfo: u16,
|
|
pbCodecInfo: [*:0]u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMHeaderInfo2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo3_GetAttributeCountEx(self: *const T, wStreamNum: u16, pcAttributes: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo3.VTable, @ptrCast(self.vtable)).GetAttributeCountEx(@as(*const IWMHeaderInfo3, @ptrCast(self)), wStreamNum, pcAttributes);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo3_GetAttributeIndices(self: *const T, wStreamNum: u16, pwszName: ?[*:0]const u16, pwLangIndex: ?*u16, pwIndices: [*:0]u16, pwCount: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo3.VTable, @ptrCast(self.vtable)).GetAttributeIndices(@as(*const IWMHeaderInfo3, @ptrCast(self)), wStreamNum, pwszName, pwLangIndex, pwIndices, pwCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo3_GetAttributeByIndexEx(self: *const T, wStreamNum: u16, wIndex: u16, pwszName: [*:0]u16, pwNameLen: ?*u16, pType: ?*WMT_ATTR_DATATYPE, pwLangIndex: ?*u16, pValue: [*:0]u8, pdwDataLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo3.VTable, @ptrCast(self.vtable)).GetAttributeByIndexEx(@as(*const IWMHeaderInfo3, @ptrCast(self)), wStreamNum, wIndex, pwszName, pwNameLen, pType, pwLangIndex, pValue, pdwDataLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo3_ModifyAttribute(self: *const T, wStreamNum: u16, wIndex: u16, Type: WMT_ATTR_DATATYPE, wLangIndex: u16, pValue: [*:0]const u8, dwLength: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo3.VTable, @ptrCast(self.vtable)).ModifyAttribute(@as(*const IWMHeaderInfo3, @ptrCast(self)), wStreamNum, wIndex, Type, wLangIndex, pValue, dwLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo3_AddAttribute(self: *const T, wStreamNum: u16, pszName: ?[*:0]const u16, pwIndex: ?*u16, Type: WMT_ATTR_DATATYPE, wLangIndex: u16, pValue: [*:0]const u8, dwLength: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo3.VTable, @ptrCast(self.vtable)).AddAttribute(@as(*const IWMHeaderInfo3, @ptrCast(self)), wStreamNum, pszName, pwIndex, Type, wLangIndex, pValue, dwLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo3_DeleteAttribute(self: *const T, wStreamNum: u16, wIndex: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo3.VTable, @ptrCast(self.vtable)).DeleteAttribute(@as(*const IWMHeaderInfo3, @ptrCast(self)), wStreamNum, wIndex);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMHeaderInfo3_AddCodecInfo(self: *const T, pwszName: ?PWSTR, pwszDescription: ?PWSTR, codecType: WMT_CODEC_INFO_TYPE, cbCodecInfo: u16, pbCodecInfo: [*:0]u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMHeaderInfo3.VTable, @ptrCast(self.vtable)).AddCodecInfo(@as(*const IWMHeaderInfo3, @ptrCast(self)), pwszName, pwszDescription, codecType, cbCodecInfo, pbCodecInfo);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMProfileManager_Value = Guid.initString("d16679f2-6ca0-472d-8d31-2f5d55aee155");
|
|
pub const IID_IWMProfileManager = &IID_IWMProfileManager_Value;
|
|
pub const IWMProfileManager = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
CreateEmptyProfile: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager,
|
|
dwVersion: WMT_VERSION,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager,
|
|
dwVersion: WMT_VERSION,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
LoadProfileByID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager,
|
|
guidProfile: ?*const Guid,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager,
|
|
guidProfile: ?*const Guid,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
LoadProfileByData: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager,
|
|
pwszProfile: ?[*:0]const u16,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager,
|
|
pwszProfile: ?[*:0]const u16,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SaveProfile: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager,
|
|
pIWMProfile: ?*IWMProfile,
|
|
pwszProfile: ?PWSTR,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager,
|
|
pIWMProfile: ?*IWMProfile,
|
|
pwszProfile: ?PWSTR,
|
|
pdwLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSystemProfileCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager,
|
|
pcProfiles: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager,
|
|
pcProfiles: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
LoadSystemProfile: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager,
|
|
dwProfileIndex: u32,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager,
|
|
dwProfileIndex: u32,
|
|
ppProfile: ?*?*IWMProfile,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager_CreateEmptyProfile(self: *const T, dwVersion: WMT_VERSION, ppProfile: ?*?*IWMProfile) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager.VTable, @ptrCast(self.vtable)).CreateEmptyProfile(@as(*const IWMProfileManager, @ptrCast(self)), dwVersion, ppProfile);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager_LoadProfileByID(self: *const T, guidProfile: ?*const Guid, ppProfile: ?*?*IWMProfile) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager.VTable, @ptrCast(self.vtable)).LoadProfileByID(@as(*const IWMProfileManager, @ptrCast(self)), guidProfile, ppProfile);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager_LoadProfileByData(self: *const T, pwszProfile: ?[*:0]const u16, ppProfile: ?*?*IWMProfile) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager.VTable, @ptrCast(self.vtable)).LoadProfileByData(@as(*const IWMProfileManager, @ptrCast(self)), pwszProfile, ppProfile);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager_SaveProfile(self: *const T, pIWMProfile: ?*IWMProfile, pwszProfile: ?PWSTR, pdwLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager.VTable, @ptrCast(self.vtable)).SaveProfile(@as(*const IWMProfileManager, @ptrCast(self)), pIWMProfile, pwszProfile, pdwLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager_GetSystemProfileCount(self: *const T, pcProfiles: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager.VTable, @ptrCast(self.vtable)).GetSystemProfileCount(@as(*const IWMProfileManager, @ptrCast(self)), pcProfiles);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager_LoadSystemProfile(self: *const T, dwProfileIndex: u32, ppProfile: ?*?*IWMProfile) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager.VTable, @ptrCast(self.vtable)).LoadSystemProfile(@as(*const IWMProfileManager, @ptrCast(self)), dwProfileIndex, ppProfile);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMProfileManager2_Value = Guid.initString("7a924e51-73c1-494d-8019-23d37ed9b89a");
|
|
pub const IID_IWMProfileManager2 = &IID_IWMProfileManager2_Value;
|
|
pub const IWMProfileManager2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMProfileManager.VTable,
|
|
GetSystemProfileVersion: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager2,
|
|
pdwVersion: ?*WMT_VERSION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager2,
|
|
pdwVersion: ?*WMT_VERSION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetSystemProfileVersion: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManager2,
|
|
dwVersion: WMT_VERSION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManager2,
|
|
dwVersion: WMT_VERSION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMProfileManager.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager2_GetSystemProfileVersion(self: *const T, pdwVersion: ?*WMT_VERSION) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager2.VTable, @ptrCast(self.vtable)).GetSystemProfileVersion(@as(*const IWMProfileManager2, @ptrCast(self)), pdwVersion);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManager2_SetSystemProfileVersion(self: *const T, dwVersion: WMT_VERSION) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManager2.VTable, @ptrCast(self.vtable)).SetSystemProfileVersion(@as(*const IWMProfileManager2, @ptrCast(self)), dwVersion);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMProfileManagerLanguage_Value = Guid.initString("ba4dcc78-7ee0-4ab8-b27a-dbce8bc51454");
|
|
pub const IID_IWMProfileManagerLanguage = &IID_IWMProfileManagerLanguage_Value;
|
|
pub const IWMProfileManagerLanguage = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetUserLanguageID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManagerLanguage,
|
|
wLangID: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManagerLanguage,
|
|
wLangID: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetUserLanguageID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfileManagerLanguage,
|
|
wLangID: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfileManagerLanguage,
|
|
wLangID: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManagerLanguage_GetUserLanguageID(self: *const T, wLangID: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManagerLanguage.VTable, @ptrCast(self.vtable)).GetUserLanguageID(@as(*const IWMProfileManagerLanguage, @ptrCast(self)), wLangID);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfileManagerLanguage_SetUserLanguageID(self: *const T, wLangID: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfileManagerLanguage.VTable, @ptrCast(self.vtable)).SetUserLanguageID(@as(*const IWMProfileManagerLanguage, @ptrCast(self)), wLangID);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMProfile_Value = Guid.initString("96406bdb-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMProfile = &IID_IWMProfile_Value;
|
|
pub const IWMProfile = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetVersion: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pdwVersion: ?*WMT_VERSION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pdwVersion: ?*WMT_VERSION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pwszName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pwszName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDescription: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pwszDescription: [*:0]u16,
|
|
pcchDescription: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pwszDescription: [*:0]u16,
|
|
pcchDescription: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetDescription: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pwszDescription: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pwszDescription: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pcStreams: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pcStreams: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
dwStreamIndex: u32,
|
|
ppConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
dwStreamIndex: u32,
|
|
ppConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamByNumber: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
wStreamNum: u16,
|
|
ppConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
wStreamNum: u16,
|
|
ppConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pConfig: ?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pConfig: ?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveStreamByNumber: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pConfig: ?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pConfig: ?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ReconfigStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pConfig: ?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pConfig: ?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CreateNewStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
guidStreamType: ?*const Guid,
|
|
ppConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
guidStreamType: ?*const Guid,
|
|
ppConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMutualExclusionCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pcME: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pcME: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMutualExclusion: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
dwMEIndex: u32,
|
|
ppME: ?*?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
dwMEIndex: u32,
|
|
ppME: ?*?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveMutualExclusion: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pME: ?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pME: ?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddMutualExclusion: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
pME: ?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
pME: ?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CreateNewMutualExclusion: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile,
|
|
ppME: ?*?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile,
|
|
ppME: ?*?*IWMMutualExclusion,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetVersion(self: *const T, pdwVersion: ?*WMT_VERSION) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetVersion(@as(*const IWMProfile, @ptrCast(self)), pdwVersion);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetName(self: *const T, pwszName: [*:0]u16, pcchName: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetName(@as(*const IWMProfile, @ptrCast(self)), pwszName, pcchName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_SetName(self: *const T, pwszName: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).SetName(@as(*const IWMProfile, @ptrCast(self)), pwszName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetDescription(self: *const T, pwszDescription: [*:0]u16, pcchDescription: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetDescription(@as(*const IWMProfile, @ptrCast(self)), pwszDescription, pcchDescription);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_SetDescription(self: *const T, pwszDescription: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).SetDescription(@as(*const IWMProfile, @ptrCast(self)), pwszDescription);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetStreamCount(self: *const T, pcStreams: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetStreamCount(@as(*const IWMProfile, @ptrCast(self)), pcStreams);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetStream(self: *const T, dwStreamIndex: u32, ppConfig: ?*?*IWMStreamConfig) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetStream(@as(*const IWMProfile, @ptrCast(self)), dwStreamIndex, ppConfig);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetStreamByNumber(self: *const T, wStreamNum: u16, ppConfig: ?*?*IWMStreamConfig) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetStreamByNumber(@as(*const IWMProfile, @ptrCast(self)), wStreamNum, ppConfig);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_RemoveStream(self: *const T, pConfig: ?*IWMStreamConfig) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).RemoveStream(@as(*const IWMProfile, @ptrCast(self)), pConfig);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_RemoveStreamByNumber(self: *const T, wStreamNum: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).RemoveStreamByNumber(@as(*const IWMProfile, @ptrCast(self)), wStreamNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_AddStream(self: *const T, pConfig: ?*IWMStreamConfig) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).AddStream(@as(*const IWMProfile, @ptrCast(self)), pConfig);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_ReconfigStream(self: *const T, pConfig: ?*IWMStreamConfig) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).ReconfigStream(@as(*const IWMProfile, @ptrCast(self)), pConfig);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_CreateNewStream(self: *const T, guidStreamType: ?*const Guid, ppConfig: ?*?*IWMStreamConfig) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).CreateNewStream(@as(*const IWMProfile, @ptrCast(self)), guidStreamType, ppConfig);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetMutualExclusionCount(self: *const T, pcME: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetMutualExclusionCount(@as(*const IWMProfile, @ptrCast(self)), pcME);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_GetMutualExclusion(self: *const T, dwMEIndex: u32, ppME: ?*?*IWMMutualExclusion) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).GetMutualExclusion(@as(*const IWMProfile, @ptrCast(self)), dwMEIndex, ppME);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_RemoveMutualExclusion(self: *const T, pME: ?*IWMMutualExclusion) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).RemoveMutualExclusion(@as(*const IWMProfile, @ptrCast(self)), pME);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_AddMutualExclusion(self: *const T, pME: ?*IWMMutualExclusion) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).AddMutualExclusion(@as(*const IWMProfile, @ptrCast(self)), pME);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile_CreateNewMutualExclusion(self: *const T, ppME: ?*?*IWMMutualExclusion) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile.VTable, @ptrCast(self.vtable)).CreateNewMutualExclusion(@as(*const IWMProfile, @ptrCast(self)), ppME);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMProfile2_Value = Guid.initString("07e72d33-d94e-4be7-8843-60ae5ff7e5f5");
|
|
pub const IID_IWMProfile2 = &IID_IWMProfile2_Value;
|
|
pub const IWMProfile2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMProfile.VTable,
|
|
GetProfileID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile2,
|
|
pguidID: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile2,
|
|
pguidID: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMProfile.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile2_GetProfileID(self: *const T, pguidID: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile2.VTable, @ptrCast(self.vtable)).GetProfileID(@as(*const IWMProfile2, @ptrCast(self)), pguidID);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMProfile3_Value = Guid.initString("00ef96cc-a461-4546-8bcd-c9a28f0e06f5");
|
|
pub const IID_IWMProfile3 = &IID_IWMProfile3_Value;
|
|
pub const IWMProfile3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMProfile2.VTable,
|
|
GetStorageFormat: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
pnStorageFormat: ?*WMT_STORAGE_FORMAT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
pnStorageFormat: ?*WMT_STORAGE_FORMAT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetStorageFormat: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
nStorageFormat: WMT_STORAGE_FORMAT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
nStorageFormat: WMT_STORAGE_FORMAT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBandwidthSharingCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
pcBS: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
pcBS: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBandwidthSharing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
dwBSIndex: u32,
|
|
ppBS: ?*?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
dwBSIndex: u32,
|
|
ppBS: ?*?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveBandwidthSharing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
pBS: ?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
pBS: ?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddBandwidthSharing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
pBS: ?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
pBS: ?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CreateNewBandwidthSharing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
ppBS: ?*?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
ppBS: ?*?*IWMBandwidthSharing,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamPrioritization: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
ppSP: ?*?*IWMStreamPrioritization,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
ppSP: ?*?*IWMStreamPrioritization,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetStreamPrioritization: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
pSP: ?*IWMStreamPrioritization,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
pSP: ?*IWMStreamPrioritization,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveStreamPrioritization: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CreateNewStreamPrioritization: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
ppSP: ?*?*IWMStreamPrioritization,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
ppSP: ?*?*IWMStreamPrioritization,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetExpectedPacketCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProfile3,
|
|
msDuration: u64,
|
|
pcPackets: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProfile3,
|
|
msDuration: u64,
|
|
pcPackets: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMProfile2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_GetStorageFormat(self: *const T, pnStorageFormat: ?*WMT_STORAGE_FORMAT) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).GetStorageFormat(@as(*const IWMProfile3, @ptrCast(self)), pnStorageFormat);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_SetStorageFormat(self: *const T, nStorageFormat: WMT_STORAGE_FORMAT) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).SetStorageFormat(@as(*const IWMProfile3, @ptrCast(self)), nStorageFormat);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_GetBandwidthSharingCount(self: *const T, pcBS: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).GetBandwidthSharingCount(@as(*const IWMProfile3, @ptrCast(self)), pcBS);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_GetBandwidthSharing(self: *const T, dwBSIndex: u32, ppBS: ?*?*IWMBandwidthSharing) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).GetBandwidthSharing(@as(*const IWMProfile3, @ptrCast(self)), dwBSIndex, ppBS);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_RemoveBandwidthSharing(self: *const T, pBS: ?*IWMBandwidthSharing) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).RemoveBandwidthSharing(@as(*const IWMProfile3, @ptrCast(self)), pBS);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_AddBandwidthSharing(self: *const T, pBS: ?*IWMBandwidthSharing) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).AddBandwidthSharing(@as(*const IWMProfile3, @ptrCast(self)), pBS);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_CreateNewBandwidthSharing(self: *const T, ppBS: ?*?*IWMBandwidthSharing) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).CreateNewBandwidthSharing(@as(*const IWMProfile3, @ptrCast(self)), ppBS);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_GetStreamPrioritization(self: *const T, ppSP: ?*?*IWMStreamPrioritization) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).GetStreamPrioritization(@as(*const IWMProfile3, @ptrCast(self)), ppSP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_SetStreamPrioritization(self: *const T, pSP: ?*IWMStreamPrioritization) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).SetStreamPrioritization(@as(*const IWMProfile3, @ptrCast(self)), pSP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_RemoveStreamPrioritization(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).RemoveStreamPrioritization(@as(*const IWMProfile3, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_CreateNewStreamPrioritization(self: *const T, ppSP: ?*?*IWMStreamPrioritization) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).CreateNewStreamPrioritization(@as(*const IWMProfile3, @ptrCast(self)), ppSP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProfile3_GetExpectedPacketCount(self: *const T, msDuration: u64, pcPackets: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProfile3.VTable, @ptrCast(self.vtable)).GetExpectedPacketCount(@as(*const IWMProfile3, @ptrCast(self)), msDuration, pcPackets);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMStreamConfig_Value = Guid.initString("96406bdc-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMStreamConfig = &IID_IWMStreamConfig_Value;
|
|
pub const IWMStreamConfig = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetStreamType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pguidStreamType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pguidStreamType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamNumber: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pwStreamNum: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pwStreamNum: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetStreamNumber: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszStreamName: [*:0]u16,
|
|
pcchStreamName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszStreamName: [*:0]u16,
|
|
pcchStreamName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetStreamName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszStreamName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszStreamName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetConnectionName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszInputName: [*:0]u16,
|
|
pcchInputName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszInputName: [*:0]u16,
|
|
pcchInputName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetConnectionName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszInputName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pwszInputName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBitrate: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pdwBitrate: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pdwBitrate: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBitrate: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pdwBitrate: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pdwBitrate: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBufferWindow: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
pmsBufferWindow: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
pmsBufferWindow: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBufferWindow: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig,
|
|
msBufferWindow: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig,
|
|
msBufferWindow: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_GetStreamType(self: *const T, pguidStreamType: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).GetStreamType(@as(*const IWMStreamConfig, @ptrCast(self)), pguidStreamType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_GetStreamNumber(self: *const T, pwStreamNum: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).GetStreamNumber(@as(*const IWMStreamConfig, @ptrCast(self)), pwStreamNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_SetStreamNumber(self: *const T, wStreamNum: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).SetStreamNumber(@as(*const IWMStreamConfig, @ptrCast(self)), wStreamNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_GetStreamName(self: *const T, pwszStreamName: [*:0]u16, pcchStreamName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).GetStreamName(@as(*const IWMStreamConfig, @ptrCast(self)), pwszStreamName, pcchStreamName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_SetStreamName(self: *const T, pwszStreamName: ?PWSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).SetStreamName(@as(*const IWMStreamConfig, @ptrCast(self)), pwszStreamName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_GetConnectionName(self: *const T, pwszInputName: [*:0]u16, pcchInputName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).GetConnectionName(@as(*const IWMStreamConfig, @ptrCast(self)), pwszInputName, pcchInputName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_SetConnectionName(self: *const T, pwszInputName: ?PWSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).SetConnectionName(@as(*const IWMStreamConfig, @ptrCast(self)), pwszInputName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_GetBitrate(self: *const T, pdwBitrate: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).GetBitrate(@as(*const IWMStreamConfig, @ptrCast(self)), pdwBitrate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_SetBitrate(self: *const T, pdwBitrate: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).SetBitrate(@as(*const IWMStreamConfig, @ptrCast(self)), pdwBitrate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_GetBufferWindow(self: *const T, pmsBufferWindow: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).GetBufferWindow(@as(*const IWMStreamConfig, @ptrCast(self)), pmsBufferWindow);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig_SetBufferWindow(self: *const T, msBufferWindow: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig.VTable, @ptrCast(self.vtable)).SetBufferWindow(@as(*const IWMStreamConfig, @ptrCast(self)), msBufferWindow);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMStreamConfig2_Value = Guid.initString("7688d8cb-fc0d-43bd-9459-5a8dec200cfa");
|
|
pub const IID_IWMStreamConfig2 = &IID_IWMStreamConfig2_Value;
|
|
pub const IWMStreamConfig2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMStreamConfig.VTable,
|
|
GetTransportType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig2,
|
|
pnTransportType: ?*WMT_TRANSPORT_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig2,
|
|
pnTransportType: ?*WMT_TRANSPORT_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetTransportType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig2,
|
|
nTransportType: WMT_TRANSPORT_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig2,
|
|
nTransportType: WMT_TRANSPORT_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddDataUnitExtension: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig2,
|
|
guidExtensionSystemID: Guid,
|
|
cbExtensionDataSize: u16,
|
|
pbExtensionSystemInfo: [*:0]u8,
|
|
cbExtensionSystemInfo: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig2,
|
|
guidExtensionSystemID: Guid,
|
|
cbExtensionDataSize: u16,
|
|
pbExtensionSystemInfo: [*:0]u8,
|
|
cbExtensionSystemInfo: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDataUnitExtensionCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig2,
|
|
pcDataUnitExtensions: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig2,
|
|
pcDataUnitExtensions: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDataUnitExtension: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig2,
|
|
wDataUnitExtensionNumber: u16,
|
|
pguidExtensionSystemID: ?*Guid,
|
|
pcbExtensionDataSize: ?*u16,
|
|
pbExtensionSystemInfo: [*:0]u8,
|
|
pcbExtensionSystemInfo: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig2,
|
|
wDataUnitExtensionNumber: u16,
|
|
pguidExtensionSystemID: ?*Guid,
|
|
pcbExtensionDataSize: ?*u16,
|
|
pbExtensionSystemInfo: [*:0]u8,
|
|
pcbExtensionSystemInfo: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveAllDataUnitExtensions: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMStreamConfig.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig2_GetTransportType(self: *const T, pnTransportType: ?*WMT_TRANSPORT_TYPE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig2.VTable, @ptrCast(self.vtable)).GetTransportType(@as(*const IWMStreamConfig2, @ptrCast(self)), pnTransportType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig2_SetTransportType(self: *const T, nTransportType: WMT_TRANSPORT_TYPE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig2.VTable, @ptrCast(self.vtable)).SetTransportType(@as(*const IWMStreamConfig2, @ptrCast(self)), nTransportType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig2_AddDataUnitExtension(self: *const T, guidExtensionSystemID: Guid, cbExtensionDataSize: u16, pbExtensionSystemInfo: [*:0]u8, cbExtensionSystemInfo: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig2.VTable, @ptrCast(self.vtable)).AddDataUnitExtension(@as(*const IWMStreamConfig2, @ptrCast(self)), guidExtensionSystemID, cbExtensionDataSize, pbExtensionSystemInfo, cbExtensionSystemInfo);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig2_GetDataUnitExtensionCount(self: *const T, pcDataUnitExtensions: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig2.VTable, @ptrCast(self.vtable)).GetDataUnitExtensionCount(@as(*const IWMStreamConfig2, @ptrCast(self)), pcDataUnitExtensions);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig2_GetDataUnitExtension(self: *const T, wDataUnitExtensionNumber: u16, pguidExtensionSystemID: ?*Guid, pcbExtensionDataSize: ?*u16, pbExtensionSystemInfo: [*:0]u8, pcbExtensionSystemInfo: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig2.VTable, @ptrCast(self.vtable)).GetDataUnitExtension(@as(*const IWMStreamConfig2, @ptrCast(self)), wDataUnitExtensionNumber, pguidExtensionSystemID, pcbExtensionDataSize, pbExtensionSystemInfo, pcbExtensionSystemInfo);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig2_RemoveAllDataUnitExtensions(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig2.VTable, @ptrCast(self.vtable)).RemoveAllDataUnitExtensions(@as(*const IWMStreamConfig2, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMStreamConfig3_Value = Guid.initString("cb164104-3aa9-45a7-9ac9-4daee131d6e1");
|
|
pub const IID_IWMStreamConfig3 = &IID_IWMStreamConfig3_Value;
|
|
pub const IWMStreamConfig3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMStreamConfig2.VTable,
|
|
GetLanguage: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig3,
|
|
pwszLanguageString: [*:0]u16,
|
|
pcchLanguageStringLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig3,
|
|
pwszLanguageString: [*:0]u16,
|
|
pcchLanguageStringLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetLanguage: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamConfig3,
|
|
pwszLanguageString: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamConfig3,
|
|
pwszLanguageString: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMStreamConfig2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig3_GetLanguage(self: *const T, pwszLanguageString: [*:0]u16, pcchLanguageStringLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig3.VTable, @ptrCast(self.vtable)).GetLanguage(@as(*const IWMStreamConfig3, @ptrCast(self)), pwszLanguageString, pcchLanguageStringLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamConfig3_SetLanguage(self: *const T, pwszLanguageString: ?PWSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamConfig3.VTable, @ptrCast(self.vtable)).SetLanguage(@as(*const IWMStreamConfig3, @ptrCast(self)), pwszLanguageString);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMPacketSize_Value = Guid.initString("cdfb97ab-188f-40b3-b643-5b7903975c59");
|
|
pub const IID_IWMPacketSize = &IID_IWMPacketSize_Value;
|
|
pub const IWMPacketSize = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetMaxPacketSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPacketSize,
|
|
pdwMaxPacketSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPacketSize,
|
|
pdwMaxPacketSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetMaxPacketSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPacketSize,
|
|
dwMaxPacketSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPacketSize,
|
|
dwMaxPacketSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPacketSize_GetMaxPacketSize(self: *const T, pdwMaxPacketSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPacketSize.VTable, @ptrCast(self.vtable)).GetMaxPacketSize(@as(*const IWMPacketSize, @ptrCast(self)), pdwMaxPacketSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPacketSize_SetMaxPacketSize(self: *const T, dwMaxPacketSize: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPacketSize.VTable, @ptrCast(self.vtable)).SetMaxPacketSize(@as(*const IWMPacketSize, @ptrCast(self)), dwMaxPacketSize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMPacketSize2_Value = Guid.initString("8bfc2b9e-b646-4233-a877-1c6a079669dc");
|
|
pub const IID_IWMPacketSize2 = &IID_IWMPacketSize2_Value;
|
|
pub const IWMPacketSize2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMPacketSize.VTable,
|
|
GetMinPacketSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPacketSize2,
|
|
pdwMinPacketSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPacketSize2,
|
|
pdwMinPacketSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetMinPacketSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPacketSize2,
|
|
dwMinPacketSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPacketSize2,
|
|
dwMinPacketSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMPacketSize.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPacketSize2_GetMinPacketSize(self: *const T, pdwMinPacketSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPacketSize2.VTable, @ptrCast(self.vtable)).GetMinPacketSize(@as(*const IWMPacketSize2, @ptrCast(self)), pdwMinPacketSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPacketSize2_SetMinPacketSize(self: *const T, dwMinPacketSize: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPacketSize2.VTable, @ptrCast(self.vtable)).SetMinPacketSize(@as(*const IWMPacketSize2, @ptrCast(self)), dwMinPacketSize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMStreamList_Value = Guid.initString("96406bdd-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMStreamList = &IID_IWMStreamList_Value;
|
|
pub const IWMStreamList = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetStreams: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamList,
|
|
pwStreamNumArray: [*:0]u16,
|
|
pcStreams: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamList,
|
|
pwStreamNumArray: [*:0]u16,
|
|
pcStreams: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamList,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamList,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamList,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamList,
|
|
wStreamNum: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamList_GetStreams(self: *const T, pwStreamNumArray: [*:0]u16, pcStreams: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamList.VTable, @ptrCast(self.vtable)).GetStreams(@as(*const IWMStreamList, @ptrCast(self)), pwStreamNumArray, pcStreams);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamList_AddStream(self: *const T, wStreamNum: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamList.VTable, @ptrCast(self.vtable)).AddStream(@as(*const IWMStreamList, @ptrCast(self)), wStreamNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamList_RemoveStream(self: *const T, wStreamNum: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamList.VTable, @ptrCast(self.vtable)).RemoveStream(@as(*const IWMStreamList, @ptrCast(self)), wStreamNum);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMMutualExclusion_Value = Guid.initString("96406bde-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMMutualExclusion = &IID_IWMMutualExclusion_Value;
|
|
pub const IWMMutualExclusion = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMStreamList.VTable,
|
|
GetType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion,
|
|
pguidType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion,
|
|
pguidType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion,
|
|
guidType: ?*const Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion,
|
|
guidType: ?*const Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMStreamList.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion_GetType(self: *const T, pguidType: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion.VTable, @ptrCast(self.vtable)).GetType(@as(*const IWMMutualExclusion, @ptrCast(self)), pguidType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion_SetType(self: *const T, guidType: ?*const Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion.VTable, @ptrCast(self.vtable)).SetType(@as(*const IWMMutualExclusion, @ptrCast(self)), guidType);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMMutualExclusion2_Value = Guid.initString("0302b57d-89d1-4ba2-85c9-166f2c53eb91");
|
|
pub const IID_IWMMutualExclusion2 = &IID_IWMMutualExclusion2_Value;
|
|
pub const IWMMutualExclusion2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMMutualExclusion.VTable,
|
|
GetName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
pwszName: [*:0]u16,
|
|
pcchName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
pwszName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
pwszName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRecordCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
pwRecordCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
pwRecordCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddRecord: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveRecord: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRecordName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
pwszRecordName: [*:0]u16,
|
|
pcchRecordName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
pwszRecordName: [*:0]u16,
|
|
pcchRecordName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetRecordName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
pwszRecordName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
pwszRecordName: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamsForRecord: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
pwStreamNumArray: [*:0]u16,
|
|
pcStreams: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
pwStreamNumArray: [*:0]u16,
|
|
pcStreams: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddStreamForRecord: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
wStreamNumber: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
wStreamNumber: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveStreamForRecord: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
wStreamNumber: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMMutualExclusion2,
|
|
wRecordNumber: u16,
|
|
wStreamNumber: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMMutualExclusion.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_GetName(self: *const T, pwszName: [*:0]u16, pcchName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).GetName(@as(*const IWMMutualExclusion2, @ptrCast(self)), pwszName, pcchName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_SetName(self: *const T, pwszName: ?PWSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).SetName(@as(*const IWMMutualExclusion2, @ptrCast(self)), pwszName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_GetRecordCount(self: *const T, pwRecordCount: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).GetRecordCount(@as(*const IWMMutualExclusion2, @ptrCast(self)), pwRecordCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_AddRecord(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).AddRecord(@as(*const IWMMutualExclusion2, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_RemoveRecord(self: *const T, wRecordNumber: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).RemoveRecord(@as(*const IWMMutualExclusion2, @ptrCast(self)), wRecordNumber);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_GetRecordName(self: *const T, wRecordNumber: u16, pwszRecordName: [*:0]u16, pcchRecordName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).GetRecordName(@as(*const IWMMutualExclusion2, @ptrCast(self)), wRecordNumber, pwszRecordName, pcchRecordName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_SetRecordName(self: *const T, wRecordNumber: u16, pwszRecordName: ?PWSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).SetRecordName(@as(*const IWMMutualExclusion2, @ptrCast(self)), wRecordNumber, pwszRecordName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_GetStreamsForRecord(self: *const T, wRecordNumber: u16, pwStreamNumArray: [*:0]u16, pcStreams: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).GetStreamsForRecord(@as(*const IWMMutualExclusion2, @ptrCast(self)), wRecordNumber, pwStreamNumArray, pcStreams);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_AddStreamForRecord(self: *const T, wRecordNumber: u16, wStreamNumber: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).AddStreamForRecord(@as(*const IWMMutualExclusion2, @ptrCast(self)), wRecordNumber, wStreamNumber);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMMutualExclusion2_RemoveStreamForRecord(self: *const T, wRecordNumber: u16, wStreamNumber: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMMutualExclusion2.VTable, @ptrCast(self.vtable)).RemoveStreamForRecord(@as(*const IWMMutualExclusion2, @ptrCast(self)), wRecordNumber, wStreamNumber);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMBandwidthSharing_Value = Guid.initString("ad694af1-f8d9-42f8-bc47-70311b0c4f9e");
|
|
pub const IID_IWMBandwidthSharing = &IID_IWMBandwidthSharing_Value;
|
|
pub const IWMBandwidthSharing = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMStreamList.VTable,
|
|
GetType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBandwidthSharing,
|
|
pguidType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBandwidthSharing,
|
|
pguidType: ?*Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBandwidthSharing,
|
|
guidType: ?*const Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBandwidthSharing,
|
|
guidType: ?*const Guid,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBandwidth: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBandwidthSharing,
|
|
pdwBitrate: ?*u32,
|
|
pmsBufferWindow: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBandwidthSharing,
|
|
pdwBitrate: ?*u32,
|
|
pmsBufferWindow: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBandwidth: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBandwidthSharing,
|
|
dwBitrate: u32,
|
|
msBufferWindow: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBandwidthSharing,
|
|
dwBitrate: u32,
|
|
msBufferWindow: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMStreamList.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBandwidthSharing_GetType(self: *const T, pguidType: ?*Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBandwidthSharing.VTable, @ptrCast(self.vtable)).GetType(@as(*const IWMBandwidthSharing, @ptrCast(self)), pguidType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBandwidthSharing_SetType(self: *const T, guidType: ?*const Guid) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBandwidthSharing.VTable, @ptrCast(self.vtable)).SetType(@as(*const IWMBandwidthSharing, @ptrCast(self)), guidType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBandwidthSharing_GetBandwidth(self: *const T, pdwBitrate: ?*u32, pmsBufferWindow: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBandwidthSharing.VTable, @ptrCast(self.vtable)).GetBandwidth(@as(*const IWMBandwidthSharing, @ptrCast(self)), pdwBitrate, pmsBufferWindow);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBandwidthSharing_SetBandwidth(self: *const T, dwBitrate: u32, msBufferWindow: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBandwidthSharing.VTable, @ptrCast(self.vtable)).SetBandwidth(@as(*const IWMBandwidthSharing, @ptrCast(self)), dwBitrate, msBufferWindow);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMStreamPrioritization_Value = Guid.initString("8c1c6090-f9a8-4748-8ec3-dd1108ba1e77");
|
|
pub const IID_IWMStreamPrioritization = &IID_IWMStreamPrioritization_Value;
|
|
pub const IWMStreamPrioritization = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetPriorityRecords: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamPrioritization,
|
|
pRecordArray: [*]WM_STREAM_PRIORITY_RECORD,
|
|
pcRecords: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamPrioritization,
|
|
pRecordArray: [*]WM_STREAM_PRIORITY_RECORD,
|
|
pcRecords: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetPriorityRecords: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMStreamPrioritization,
|
|
pRecordArray: ?*WM_STREAM_PRIORITY_RECORD,
|
|
cRecords: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMStreamPrioritization,
|
|
pRecordArray: ?*WM_STREAM_PRIORITY_RECORD,
|
|
cRecords: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamPrioritization_GetPriorityRecords(self: *const T, pRecordArray: [*]WM_STREAM_PRIORITY_RECORD, pcRecords: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamPrioritization.VTable, @ptrCast(self.vtable)).GetPriorityRecords(@as(*const IWMStreamPrioritization, @ptrCast(self)), pRecordArray, pcRecords);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMStreamPrioritization_SetPriorityRecords(self: *const T, pRecordArray: ?*WM_STREAM_PRIORITY_RECORD, cRecords: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMStreamPrioritization.VTable, @ptrCast(self.vtable)).SetPriorityRecords(@as(*const IWMStreamPrioritization, @ptrCast(self)), pRecordArray, cRecords);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterAdvanced_Value = Guid.initString("96406be3-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMWriterAdvanced = &IID_IWMWriterAdvanced_Value;
|
|
pub const IWMWriterAdvanced = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetSinkCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pcSinks: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pcSinks: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSink: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
dwSinkNum: u32,
|
|
ppSink: ?*?*IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
dwSinkNum: u32,
|
|
ppSink: ?*?*IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddSink: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pSink: ?*IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pSink: ?*IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveSink: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pSink: ?*IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pSink: ?*IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WriteStreamSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
wStreamNum: u16,
|
|
cnsSampleTime: u64,
|
|
msSampleSendTime: u32,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
wStreamNum: u16,
|
|
cnsSampleTime: u64,
|
|
msSampleSendTime: u32,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetLiveSource: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
fIsLiveSource: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
fIsLiveSource: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsRealTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pfRealTime: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pfRealTime: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetWriterTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pcnsCurrentTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pcnsCurrentTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStatistics: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
wStreamNum: u16,
|
|
pStats: ?*WM_WRITER_STATISTICS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
wStreamNum: u16,
|
|
pStats: ?*WM_WRITER_STATISTICS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetSyncTolerance: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
msWindow: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
msWindow: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSyncTolerance: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pmsWindow: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced,
|
|
pmsWindow: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_GetSinkCount(self: *const T, pcSinks: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).GetSinkCount(@as(*const IWMWriterAdvanced, @ptrCast(self)), pcSinks);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_GetSink(self: *const T, dwSinkNum: u32, ppSink: ?*?*IWMWriterSink) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).GetSink(@as(*const IWMWriterAdvanced, @ptrCast(self)), dwSinkNum, ppSink);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_AddSink(self: *const T, pSink: ?*IWMWriterSink) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).AddSink(@as(*const IWMWriterAdvanced, @ptrCast(self)), pSink);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_RemoveSink(self: *const T, pSink: ?*IWMWriterSink) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).RemoveSink(@as(*const IWMWriterAdvanced, @ptrCast(self)), pSink);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_WriteStreamSample(self: *const T, wStreamNum: u16, cnsSampleTime: u64, msSampleSendTime: u32, cnsSampleDuration: u64, dwFlags: u32, pSample: ?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).WriteStreamSample(@as(*const IWMWriterAdvanced, @ptrCast(self)), wStreamNum, cnsSampleTime, msSampleSendTime, cnsSampleDuration, dwFlags, pSample);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_SetLiveSource(self: *const T, fIsLiveSource: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).SetLiveSource(@as(*const IWMWriterAdvanced, @ptrCast(self)), fIsLiveSource);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_IsRealTime(self: *const T, pfRealTime: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).IsRealTime(@as(*const IWMWriterAdvanced, @ptrCast(self)), pfRealTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_GetWriterTime(self: *const T, pcnsCurrentTime: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).GetWriterTime(@as(*const IWMWriterAdvanced, @ptrCast(self)), pcnsCurrentTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_GetStatistics(self: *const T, wStreamNum: u16, pStats: ?*WM_WRITER_STATISTICS) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).GetStatistics(@as(*const IWMWriterAdvanced, @ptrCast(self)), wStreamNum, pStats);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_SetSyncTolerance(self: *const T, msWindow: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).SetSyncTolerance(@as(*const IWMWriterAdvanced, @ptrCast(self)), msWindow);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced_GetSyncTolerance(self: *const T, pmsWindow: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced.VTable, @ptrCast(self.vtable)).GetSyncTolerance(@as(*const IWMWriterAdvanced, @ptrCast(self)), pmsWindow);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterAdvanced2_Value = Guid.initString("962dc1ec-c046-4db8-9cc7-26ceae500817");
|
|
pub const IID_IWMWriterAdvanced2 = &IID_IWMWriterAdvanced2_Value;
|
|
pub const IWMWriterAdvanced2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMWriterAdvanced.VTable,
|
|
GetInputSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced2,
|
|
dwInputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced2,
|
|
dwInputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetInputSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced2,
|
|
dwInputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced2,
|
|
dwInputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMWriterAdvanced.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced2_GetInputSetting(self: *const T, dwInputNum: u32, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced2.VTable, @ptrCast(self.vtable)).GetInputSetting(@as(*const IWMWriterAdvanced2, @ptrCast(self)), dwInputNum, pszName, pType, pValue, pcbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced2_SetInputSetting(self: *const T, dwInputNum: u32, pszName: ?[*:0]const u16, Type: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, cbLength: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced2.VTable, @ptrCast(self.vtable)).SetInputSetting(@as(*const IWMWriterAdvanced2, @ptrCast(self)), dwInputNum, pszName, Type, pValue, cbLength);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterAdvanced3_Value = Guid.initString("2cd6492d-7c37-4e76-9d3b-59261183a22e");
|
|
pub const IID_IWMWriterAdvanced3 = &IID_IWMWriterAdvanced3_Value;
|
|
pub const IWMWriterAdvanced3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMWriterAdvanced2.VTable,
|
|
GetStatisticsEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced3,
|
|
wStreamNum: u16,
|
|
pStats: ?*WM_WRITER_STATISTICS_EX,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced3,
|
|
wStreamNum: u16,
|
|
pStats: ?*WM_WRITER_STATISTICS_EX,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetNonBlocking: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterAdvanced3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterAdvanced3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMWriterAdvanced2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced3_GetStatisticsEx(self: *const T, wStreamNum: u16, pStats: ?*WM_WRITER_STATISTICS_EX) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced3.VTable, @ptrCast(self.vtable)).GetStatisticsEx(@as(*const IWMWriterAdvanced3, @ptrCast(self)), wStreamNum, pStats);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterAdvanced3_SetNonBlocking(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterAdvanced3.VTable, @ptrCast(self.vtable)).SetNonBlocking(@as(*const IWMWriterAdvanced3, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterPreprocess_Value = Guid.initString("fc54a285-38c4-45b5-aa23-85b9f7cb424b");
|
|
pub const IID_IWMWriterPreprocess = &IID_IWMWriterPreprocess_Value;
|
|
pub const IWMWriterPreprocess = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetMaxPreprocessingPasses: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
pdwMaxNumPasses: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
pdwMaxNumPasses: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetNumPreprocessingPasses: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
dwNumPasses: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
dwNumPasses: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
BeginPreprocessingPass: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
PreprocessSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
cnsSampleTime: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
cnsSampleTime: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
EndPreprocessingPass: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPreprocess,
|
|
dwInputNum: u32,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPreprocess_GetMaxPreprocessingPasses(self: *const T, dwInputNum: u32, dwFlags: u32, pdwMaxNumPasses: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPreprocess.VTable, @ptrCast(self.vtable)).GetMaxPreprocessingPasses(@as(*const IWMWriterPreprocess, @ptrCast(self)), dwInputNum, dwFlags, pdwMaxNumPasses);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPreprocess_SetNumPreprocessingPasses(self: *const T, dwInputNum: u32, dwFlags: u32, dwNumPasses: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPreprocess.VTable, @ptrCast(self.vtable)).SetNumPreprocessingPasses(@as(*const IWMWriterPreprocess, @ptrCast(self)), dwInputNum, dwFlags, dwNumPasses);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPreprocess_BeginPreprocessingPass(self: *const T, dwInputNum: u32, dwFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPreprocess.VTable, @ptrCast(self.vtable)).BeginPreprocessingPass(@as(*const IWMWriterPreprocess, @ptrCast(self)), dwInputNum, dwFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPreprocess_PreprocessSample(self: *const T, dwInputNum: u32, cnsSampleTime: u64, dwFlags: u32, pSample: ?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPreprocess.VTable, @ptrCast(self.vtable)).PreprocessSample(@as(*const IWMWriterPreprocess, @ptrCast(self)), dwInputNum, cnsSampleTime, dwFlags, pSample);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPreprocess_EndPreprocessingPass(self: *const T, dwInputNum: u32, dwFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPreprocess.VTable, @ptrCast(self.vtable)).EndPreprocessingPass(@as(*const IWMWriterPreprocess, @ptrCast(self)), dwInputNum, dwFlags);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterPostViewCallback_Value = Guid.initString("d9d6549d-a193-4f24-b308-03123d9b7f8d");
|
|
pub const IID_IWMWriterPostViewCallback = &IID_IWMWriterPostViewCallback_Value;
|
|
pub const IWMWriterPostViewCallback = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMStatusCallback.VTable,
|
|
OnPostViewSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostViewCallback,
|
|
wStreamNumber: u16,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostViewCallback,
|
|
wStreamNumber: u16,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AllocateForPostView: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostViewCallback,
|
|
wStreamNum: u16,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostViewCallback,
|
|
wStreamNum: u16,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMStatusCallback.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostViewCallback_OnPostViewSample(self: *const T, wStreamNumber: u16, cnsSampleTime: u64, cnsSampleDuration: u64, dwFlags: u32, pSample: ?*INSSBuffer, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostViewCallback.VTable, @ptrCast(self.vtable)).OnPostViewSample(@as(*const IWMWriterPostViewCallback, @ptrCast(self)), wStreamNumber, cnsSampleTime, cnsSampleDuration, dwFlags, pSample, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostViewCallback_AllocateForPostView(self: *const T, wStreamNum: u16, cbBuffer: u32, ppBuffer: ?*?*INSSBuffer, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostViewCallback.VTable, @ptrCast(self.vtable)).AllocateForPostView(@as(*const IWMWriterPostViewCallback, @ptrCast(self)), wStreamNum, cbBuffer, ppBuffer, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterPostView_Value = Guid.initString("81e20ce4-75ef-491a-8004-fc53c45bdc3e");
|
|
pub const IID_IWMWriterPostView = &IID_IWMWriterPostView_Value;
|
|
pub const IWMWriterPostView = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetPostViewCallback: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
pCallback: ?*IWMWriterPostViewCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
pCallback: ?*IWMWriterPostViewCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetReceivePostViewSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNum: u16,
|
|
fReceivePostViewSamples: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNum: u16,
|
|
fReceivePostViewSamples: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetReceivePostViewSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNum: u16,
|
|
pfReceivePostViewSamples: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNum: u16,
|
|
pfReceivePostViewSamples: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPostViewProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
ppOutput: ?*?*IWMMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
ppOutput: ?*?*IWMMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetPostViewProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
pOutput: ?*IWMMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
pOutput: ?*IWMMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPostViewFormatCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
pcFormats: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPostViewFormat: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
dwFormatNumber: u32,
|
|
ppProps: ?*?*IWMMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
dwFormatNumber: u32,
|
|
ppProps: ?*?*IWMMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAllocateForPostView: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
fAllocate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
fAllocate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAllocateForPostView: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
pfAllocate: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPostView,
|
|
wStreamNumber: u16,
|
|
pfAllocate: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_SetPostViewCallback(self: *const T, pCallback: ?*IWMWriterPostViewCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).SetPostViewCallback(@as(*const IWMWriterPostView, @ptrCast(self)), pCallback, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_SetReceivePostViewSamples(self: *const T, wStreamNum: u16, fReceivePostViewSamples: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).SetReceivePostViewSamples(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNum, fReceivePostViewSamples);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_GetReceivePostViewSamples(self: *const T, wStreamNum: u16, pfReceivePostViewSamples: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).GetReceivePostViewSamples(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNum, pfReceivePostViewSamples);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_GetPostViewProps(self: *const T, wStreamNumber: u16, ppOutput: ?*?*IWMMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).GetPostViewProps(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNumber, ppOutput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_SetPostViewProps(self: *const T, wStreamNumber: u16, pOutput: ?*IWMMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).SetPostViewProps(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNumber, pOutput);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_GetPostViewFormatCount(self: *const T, wStreamNumber: u16, pcFormats: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).GetPostViewFormatCount(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNumber, pcFormats);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_GetPostViewFormat(self: *const T, wStreamNumber: u16, dwFormatNumber: u32, ppProps: ?*?*IWMMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).GetPostViewFormat(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNumber, dwFormatNumber, ppProps);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_SetAllocateForPostView(self: *const T, wStreamNumber: u16, fAllocate: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).SetAllocateForPostView(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNumber, fAllocate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPostView_GetAllocateForPostView(self: *const T, wStreamNumber: u16, pfAllocate: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPostView.VTable, @ptrCast(self.vtable)).GetAllocateForPostView(@as(*const IWMWriterPostView, @ptrCast(self)), wStreamNumber, pfAllocate);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterSink_Value = Guid.initString("96406be4-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMWriterSink = &IID_IWMWriterSink_Value;
|
|
pub const IWMWriterSink = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
OnHeader: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterSink,
|
|
pHeader: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterSink,
|
|
pHeader: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsRealTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterSink,
|
|
pfRealTime: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterSink,
|
|
pfRealTime: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AllocateDataUnit: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterSink,
|
|
cbDataUnit: u32,
|
|
ppDataUnit: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterSink,
|
|
cbDataUnit: u32,
|
|
ppDataUnit: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnDataUnit: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterSink,
|
|
pDataUnit: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterSink,
|
|
pDataUnit: ?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnEndWriting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterSink_OnHeader(self: *const T, pHeader: ?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterSink.VTable, @ptrCast(self.vtable)).OnHeader(@as(*const IWMWriterSink, @ptrCast(self)), pHeader);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterSink_IsRealTime(self: *const T, pfRealTime: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterSink.VTable, @ptrCast(self.vtable)).IsRealTime(@as(*const IWMWriterSink, @ptrCast(self)), pfRealTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterSink_AllocateDataUnit(self: *const T, cbDataUnit: u32, ppDataUnit: ?*?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterSink.VTable, @ptrCast(self.vtable)).AllocateDataUnit(@as(*const IWMWriterSink, @ptrCast(self)), cbDataUnit, ppDataUnit);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterSink_OnDataUnit(self: *const T, pDataUnit: ?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterSink.VTable, @ptrCast(self.vtable)).OnDataUnit(@as(*const IWMWriterSink, @ptrCast(self)), pDataUnit);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterSink_OnEndWriting(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterSink.VTable, @ptrCast(self.vtable)).OnEndWriting(@as(*const IWMWriterSink, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMRegisterCallback_Value = Guid.initString("cf4b1f99-4de2-4e49-a363-252740d99bc1");
|
|
pub const IID_IWMRegisterCallback = &IID_IWMRegisterCallback_Value;
|
|
pub const IWMRegisterCallback = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Advise: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisterCallback,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisterCallback,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Unadvise: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisterCallback,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisterCallback,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisterCallback_Advise(self: *const T, pCallback: ?*IWMStatusCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisterCallback.VTable, @ptrCast(self.vtable)).Advise(@as(*const IWMRegisterCallback, @ptrCast(self)), pCallback, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisterCallback_Unadvise(self: *const T, pCallback: ?*IWMStatusCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisterCallback.VTable, @ptrCast(self.vtable)).Unadvise(@as(*const IWMRegisterCallback, @ptrCast(self)), pCallback, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterFileSink_Value = Guid.initString("96406be5-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMWriterFileSink = &IID_IWMWriterFileSink_Value;
|
|
pub const IWMWriterFileSink = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMWriterSink.VTable,
|
|
Open: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMWriterSink.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink_Open(self: *const T, pwszFilename: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink.VTable, @ptrCast(self.vtable)).Open(@as(*const IWMWriterFileSink, @ptrCast(self)), pwszFilename);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterFileSink2_Value = Guid.initString("14282ba7-4aef-4205-8ce5-c229035a05bc");
|
|
pub const IID_IWMWriterFileSink2 = &IID_IWMWriterFileSink2_Value;
|
|
pub const IWMWriterFileSink2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMWriterFileSink.VTable,
|
|
Start: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink2,
|
|
cnsStartTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink2,
|
|
cnsStartTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Stop: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink2,
|
|
cnsStopTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink2,
|
|
cnsStopTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsStopped: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pfStopped: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pfStopped: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetFileDuration: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pcnsDuration: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pcnsDuration: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetFileSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pcbFile: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pcbFile: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Close: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsClosed: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pfClosed: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink2,
|
|
pfClosed: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMWriterFileSink.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink2_Start(self: *const T, cnsStartTime: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink2.VTable, @ptrCast(self.vtable)).Start(@as(*const IWMWriterFileSink2, @ptrCast(self)), cnsStartTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink2_Stop(self: *const T, cnsStopTime: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink2.VTable, @ptrCast(self.vtable)).Stop(@as(*const IWMWriterFileSink2, @ptrCast(self)), cnsStopTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink2_IsStopped(self: *const T, pfStopped: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink2.VTable, @ptrCast(self.vtable)).IsStopped(@as(*const IWMWriterFileSink2, @ptrCast(self)), pfStopped);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink2_GetFileDuration(self: *const T, pcnsDuration: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink2.VTable, @ptrCast(self.vtable)).GetFileDuration(@as(*const IWMWriterFileSink2, @ptrCast(self)), pcnsDuration);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink2_GetFileSize(self: *const T, pcbFile: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink2.VTable, @ptrCast(self.vtable)).GetFileSize(@as(*const IWMWriterFileSink2, @ptrCast(self)), pcbFile);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink2_Close(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink2.VTable, @ptrCast(self.vtable)).Close(@as(*const IWMWriterFileSink2, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink2_IsClosed(self: *const T, pfClosed: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink2.VTable, @ptrCast(self.vtable)).IsClosed(@as(*const IWMWriterFileSink2, @ptrCast(self)), pfClosed);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterFileSink3_Value = Guid.initString("3fea4feb-2945-47a7-a1dd-c53a8fc4c45c");
|
|
pub const IID_IWMWriterFileSink3 = &IID_IWMWriterFileSink3_Value;
|
|
pub const IWMWriterFileSink3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMWriterFileSink2.VTable,
|
|
SetAutoIndexing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
fDoAutoIndexing: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
fDoAutoIndexing: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAutoIndexing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pfAutoIndexing: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pfAutoIndexing: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetControlStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
wStreamNumber: u16,
|
|
fShouldControlStartAndStop: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
wStreamNumber: u16,
|
|
fShouldControlStartAndStop: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMode: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pdwFileSinkMode: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pdwFileSinkMode: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnDataUnitEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pFileSinkDataUnit: ?*WMT_FILESINK_DATA_UNIT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pFileSinkDataUnit: ?*WMT_FILESINK_DATA_UNIT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetUnbufferedIO: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
fUnbufferedIO: BOOL,
|
|
fRestrictMemUsage: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
fUnbufferedIO: BOOL,
|
|
fRestrictMemUsage: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetUnbufferedIO: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pfUnbufferedIO: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
pfUnbufferedIO: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CompleteOperations: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterFileSink3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterFileSink3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMWriterFileSink2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_SetAutoIndexing(self: *const T, fDoAutoIndexing: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).SetAutoIndexing(@as(*const IWMWriterFileSink3, @ptrCast(self)), fDoAutoIndexing);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_GetAutoIndexing(self: *const T, pfAutoIndexing: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).GetAutoIndexing(@as(*const IWMWriterFileSink3, @ptrCast(self)), pfAutoIndexing);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_SetControlStream(self: *const T, wStreamNumber: u16, fShouldControlStartAndStop: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).SetControlStream(@as(*const IWMWriterFileSink3, @ptrCast(self)), wStreamNumber, fShouldControlStartAndStop);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_GetMode(self: *const T, pdwFileSinkMode: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).GetMode(@as(*const IWMWriterFileSink3, @ptrCast(self)), pdwFileSinkMode);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_OnDataUnitEx(self: *const T, pFileSinkDataUnit: ?*WMT_FILESINK_DATA_UNIT) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).OnDataUnitEx(@as(*const IWMWriterFileSink3, @ptrCast(self)), pFileSinkDataUnit);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_SetUnbufferedIO(self: *const T, fUnbufferedIO: BOOL, fRestrictMemUsage: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).SetUnbufferedIO(@as(*const IWMWriterFileSink3, @ptrCast(self)), fUnbufferedIO, fRestrictMemUsage);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_GetUnbufferedIO(self: *const T, pfUnbufferedIO: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).GetUnbufferedIO(@as(*const IWMWriterFileSink3, @ptrCast(self)), pfUnbufferedIO);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterFileSink3_CompleteOperations(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterFileSink3.VTable, @ptrCast(self.vtable)).CompleteOperations(@as(*const IWMWriterFileSink3, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterNetworkSink_Value = Guid.initString("96406be7-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMWriterNetworkSink = &IID_IWMWriterNetworkSink_Value;
|
|
pub const IWMWriterNetworkSink = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMWriterSink.VTable,
|
|
SetMaximumClients: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
dwMaxClients: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
dwMaxClients: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaximumClients: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pdwMaxClients: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pdwMaxClients: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetNetworkProtocol: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
protocol: WMT_NET_PROTOCOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
protocol: WMT_NET_PROTOCOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNetworkProtocol: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pProtocol: ?*WMT_NET_PROTOCOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pProtocol: ?*WMT_NET_PROTOCOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetHostURL: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pwszURL: ?PWSTR,
|
|
pcchURL: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pwszURL: ?PWSTR,
|
|
pcchURL: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Open: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pdwPortNum: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
pdwPortNum: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Disconnect: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Close: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterNetworkSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMWriterSink.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_SetMaximumClients(self: *const T, dwMaxClients: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).SetMaximumClients(@as(*const IWMWriterNetworkSink, @ptrCast(self)), dwMaxClients);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_GetMaximumClients(self: *const T, pdwMaxClients: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).GetMaximumClients(@as(*const IWMWriterNetworkSink, @ptrCast(self)), pdwMaxClients);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_SetNetworkProtocol(self: *const T, protocol: WMT_NET_PROTOCOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).SetNetworkProtocol(@as(*const IWMWriterNetworkSink, @ptrCast(self)), protocol);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_GetNetworkProtocol(self: *const T, pProtocol: ?*WMT_NET_PROTOCOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).GetNetworkProtocol(@as(*const IWMWriterNetworkSink, @ptrCast(self)), pProtocol);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_GetHostURL(self: *const T, pwszURL: ?PWSTR, pcchURL: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).GetHostURL(@as(*const IWMWriterNetworkSink, @ptrCast(self)), pwszURL, pcchURL);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_Open(self: *const T, pdwPortNum: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).Open(@as(*const IWMWriterNetworkSink, @ptrCast(self)), pdwPortNum);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_Disconnect(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).Disconnect(@as(*const IWMWriterNetworkSink, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterNetworkSink_Close(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterNetworkSink.VTable, @ptrCast(self.vtable)).Close(@as(*const IWMWriterNetworkSink, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMClientConnections_Value = Guid.initString("73c66010-a299-41df-b1f0-ccf03b09c1c6");
|
|
pub const IID_IWMClientConnections = &IID_IWMClientConnections_Value;
|
|
pub const IWMClientConnections = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetClientCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMClientConnections,
|
|
pcClients: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMClientConnections,
|
|
pcClients: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetClientProperties: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMClientConnections,
|
|
dwClientNum: u32,
|
|
pClientProperties: ?*WM_CLIENT_PROPERTIES,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMClientConnections,
|
|
dwClientNum: u32,
|
|
pClientProperties: ?*WM_CLIENT_PROPERTIES,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMClientConnections_GetClientCount(self: *const T, pcClients: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMClientConnections.VTable, @ptrCast(self.vtable)).GetClientCount(@as(*const IWMClientConnections, @ptrCast(self)), pcClients);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMClientConnections_GetClientProperties(self: *const T, dwClientNum: u32, pClientProperties: ?*WM_CLIENT_PROPERTIES) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMClientConnections.VTable, @ptrCast(self.vtable)).GetClientProperties(@as(*const IWMClientConnections, @ptrCast(self)), dwClientNum, pClientProperties);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMClientConnections2_Value = Guid.initString("4091571e-4701-4593-bb3d-d5f5f0c74246");
|
|
pub const IID_IWMClientConnections2 = &IID_IWMClientConnections2_Value;
|
|
pub const IWMClientConnections2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMClientConnections.VTable,
|
|
GetClientInfo: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMClientConnections2,
|
|
dwClientNum: u32,
|
|
pwszNetworkAddress: [*:0]u16,
|
|
pcchNetworkAddress: ?*u32,
|
|
pwszPort: [*:0]u16,
|
|
pcchPort: ?*u32,
|
|
pwszDNSName: [*:0]u16,
|
|
pcchDNSName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMClientConnections2,
|
|
dwClientNum: u32,
|
|
pwszNetworkAddress: [*:0]u16,
|
|
pcchNetworkAddress: ?*u32,
|
|
pwszPort: [*:0]u16,
|
|
pcchPort: ?*u32,
|
|
pwszDNSName: [*:0]u16,
|
|
pcchDNSName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMClientConnections.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMClientConnections2_GetClientInfo(self: *const T, dwClientNum: u32, pwszNetworkAddress: [*:0]u16, pcchNetworkAddress: ?*u32, pwszPort: [*:0]u16, pcchPort: ?*u32, pwszDNSName: [*:0]u16, pcchDNSName: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMClientConnections2.VTable, @ptrCast(self.vtable)).GetClientInfo(@as(*const IWMClientConnections2, @ptrCast(self)), dwClientNum, pwszNetworkAddress, pcchNetworkAddress, pwszPort, pcchPort, pwszDNSName, pcchDNSName);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAdvanced_Value = Guid.initString("96406bea-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMReaderAdvanced = &IID_IWMReaderAdvanced_Value;
|
|
pub const IWMReaderAdvanced = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetUserProvidedClock: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
fUserClock: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
fUserClock: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetUserProvidedClock: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pfUserClock: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pfUserClock: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
DeliverTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
cnsTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
cnsTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetManualStreamSelection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
fSelection: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
fSelection: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetManualStreamSelection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pfSelection: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pfSelection: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetStreamsSelected: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
cStreamCount: u16,
|
|
pwStreamNumbers: ?*u16,
|
|
pSelections: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
cStreamCount: u16,
|
|
pwStreamNumbers: ?*u16,
|
|
pSelections: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStreamSelected: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
pSelection: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
pSelection: ?*WMT_STREAM_SELECTION,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetReceiveSelectionCallbacks: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
fGetCallbacks: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
fGetCallbacks: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetReceiveSelectionCallbacks: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pfGetCallbacks: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pfGetCallbacks: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetReceiveStreamSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
fReceiveStreamSamples: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
fReceiveStreamSamples: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetReceiveStreamSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
pfReceiveStreamSamples: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
pfReceiveStreamSamples: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAllocateForOutput: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwOutputNum: u32,
|
|
fAllocate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwOutputNum: u32,
|
|
fAllocate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAllocateForOutput: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwOutputNum: u32,
|
|
pfAllocate: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwOutputNum: u32,
|
|
pfAllocate: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAllocateForStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
fAllocate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStreamNum: u16,
|
|
fAllocate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAllocateForStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwSreamNum: u16,
|
|
pfAllocate: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwSreamNum: u16,
|
|
pfAllocate: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetStatistics: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pStatistics: ?*WM_READER_STATISTICS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pStatistics: ?*WM_READER_STATISTICS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetClientInfo: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pClientInfo: ?*WM_READER_CLIENTINFO,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
pClientInfo: ?*WM_READER_CLIENTINFO,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaxOutputSampleSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwOutput: u32,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
dwOutput: u32,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaxStreamSampleSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStream: u16,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
wStream: u16,
|
|
pcbMax: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
NotifyLateDelivery: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced,
|
|
cnsLateness: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced,
|
|
cnsLateness: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetUserProvidedClock(self: *const T, fUserClock: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetUserProvidedClock(@as(*const IWMReaderAdvanced, @ptrCast(self)), fUserClock);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetUserProvidedClock(self: *const T, pfUserClock: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetUserProvidedClock(@as(*const IWMReaderAdvanced, @ptrCast(self)), pfUserClock);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_DeliverTime(self: *const T, cnsTime: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).DeliverTime(@as(*const IWMReaderAdvanced, @ptrCast(self)), cnsTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetManualStreamSelection(self: *const T, fSelection: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetManualStreamSelection(@as(*const IWMReaderAdvanced, @ptrCast(self)), fSelection);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetManualStreamSelection(self: *const T, pfSelection: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetManualStreamSelection(@as(*const IWMReaderAdvanced, @ptrCast(self)), pfSelection);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetStreamsSelected(self: *const T, cStreamCount: u16, pwStreamNumbers: ?*u16, pSelections: ?*WMT_STREAM_SELECTION) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetStreamsSelected(@as(*const IWMReaderAdvanced, @ptrCast(self)), cStreamCount, pwStreamNumbers, pSelections);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetStreamSelected(self: *const T, wStreamNum: u16, pSelection: ?*WMT_STREAM_SELECTION) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetStreamSelected(@as(*const IWMReaderAdvanced, @ptrCast(self)), wStreamNum, pSelection);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetReceiveSelectionCallbacks(self: *const T, fGetCallbacks: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetReceiveSelectionCallbacks(@as(*const IWMReaderAdvanced, @ptrCast(self)), fGetCallbacks);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetReceiveSelectionCallbacks(self: *const T, pfGetCallbacks: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetReceiveSelectionCallbacks(@as(*const IWMReaderAdvanced, @ptrCast(self)), pfGetCallbacks);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetReceiveStreamSamples(self: *const T, wStreamNum: u16, fReceiveStreamSamples: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetReceiveStreamSamples(@as(*const IWMReaderAdvanced, @ptrCast(self)), wStreamNum, fReceiveStreamSamples);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetReceiveStreamSamples(self: *const T, wStreamNum: u16, pfReceiveStreamSamples: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetReceiveStreamSamples(@as(*const IWMReaderAdvanced, @ptrCast(self)), wStreamNum, pfReceiveStreamSamples);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetAllocateForOutput(self: *const T, dwOutputNum: u32, fAllocate: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetAllocateForOutput(@as(*const IWMReaderAdvanced, @ptrCast(self)), dwOutputNum, fAllocate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetAllocateForOutput(self: *const T, dwOutputNum: u32, pfAllocate: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetAllocateForOutput(@as(*const IWMReaderAdvanced, @ptrCast(self)), dwOutputNum, pfAllocate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetAllocateForStream(self: *const T, wStreamNum: u16, fAllocate: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetAllocateForStream(@as(*const IWMReaderAdvanced, @ptrCast(self)), wStreamNum, fAllocate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetAllocateForStream(self: *const T, dwSreamNum: u16, pfAllocate: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetAllocateForStream(@as(*const IWMReaderAdvanced, @ptrCast(self)), dwSreamNum, pfAllocate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetStatistics(self: *const T, pStatistics: ?*WM_READER_STATISTICS) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetStatistics(@as(*const IWMReaderAdvanced, @ptrCast(self)), pStatistics);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_SetClientInfo(self: *const T, pClientInfo: ?*WM_READER_CLIENTINFO) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).SetClientInfo(@as(*const IWMReaderAdvanced, @ptrCast(self)), pClientInfo);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetMaxOutputSampleSize(self: *const T, dwOutput: u32, pcbMax: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetMaxOutputSampleSize(@as(*const IWMReaderAdvanced, @ptrCast(self)), dwOutput, pcbMax);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_GetMaxStreamSampleSize(self: *const T, wStream: u16, pcbMax: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).GetMaxStreamSampleSize(@as(*const IWMReaderAdvanced, @ptrCast(self)), wStream, pcbMax);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced_NotifyLateDelivery(self: *const T, cnsLateness: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced.VTable, @ptrCast(self.vtable)).NotifyLateDelivery(@as(*const IWMReaderAdvanced, @ptrCast(self)), cnsLateness);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAdvanced2_Value = Guid.initString("ae14a945-b90c-4d0d-9127-80d665f7d73e");
|
|
pub const IID_IWMReaderAdvanced2 = &IID_IWMReaderAdvanced2_Value;
|
|
pub const IWMReaderAdvanced2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMReaderAdvanced.VTable,
|
|
SetPlayMode: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
Mode: WMT_PLAY_MODE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
Mode: WMT_PLAY_MODE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPlayMode: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pMode: ?*WMT_PLAY_MODE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pMode: ?*WMT_PLAY_MODE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetBufferProgress: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pdwPercent: ?*u32,
|
|
pcnsBuffering: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pdwPercent: ?*u32,
|
|
pcnsBuffering: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDownloadProgress: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pdwPercent: ?*u32,
|
|
pqwBytesDownloaded: ?*u64,
|
|
pcnsDownload: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pdwPercent: ?*u32,
|
|
pqwBytesDownloaded: ?*u64,
|
|
pcnsDownload: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSaveAsProgress: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pdwPercent: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pdwPercent: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SaveFileAs: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pwszFilename: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProtocolName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pwszProtocol: [*:0]u16,
|
|
pcchProtocol: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pwszProtocol: [*:0]u16,
|
|
pcchProtocol: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
StartAtMarker: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
wMarkerIndex: u16,
|
|
cnsDuration: u64,
|
|
fRate: f32,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
wMarkerIndex: u16,
|
|
cnsDuration: u64,
|
|
fRate: f32,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetOutputSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetOutputSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
dwOutputNum: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Preroll: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
cnsStart: u64,
|
|
cnsDuration: u64,
|
|
fRate: f32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
cnsStart: u64,
|
|
cnsDuration: u64,
|
|
fRate: f32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetLogClientID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
fLogClientID: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
fLogClientID: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetLogClientID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pfLogClientID: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pfLogClientID: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
StopBuffering: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OpenStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pStream: ?*IStream,
|
|
pCallback: ?*IWMReaderCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced2,
|
|
pStream: ?*IStream,
|
|
pCallback: ?*IWMReaderCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMReaderAdvanced.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_SetPlayMode(self: *const T, Mode: WMT_PLAY_MODE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).SetPlayMode(@as(*const IWMReaderAdvanced2, @ptrCast(self)), Mode);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_GetPlayMode(self: *const T, pMode: ?*WMT_PLAY_MODE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).GetPlayMode(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pMode);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_GetBufferProgress(self: *const T, pdwPercent: ?*u32, pcnsBuffering: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).GetBufferProgress(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pdwPercent, pcnsBuffering);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_GetDownloadProgress(self: *const T, pdwPercent: ?*u32, pqwBytesDownloaded: ?*u64, pcnsDownload: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).GetDownloadProgress(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pdwPercent, pqwBytesDownloaded, pcnsDownload);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_GetSaveAsProgress(self: *const T, pdwPercent: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).GetSaveAsProgress(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pdwPercent);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_SaveFileAs(self: *const T, pwszFilename: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).SaveFileAs(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pwszFilename);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_GetProtocolName(self: *const T, pwszProtocol: [*:0]u16, pcchProtocol: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).GetProtocolName(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pwszProtocol, pcchProtocol);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_StartAtMarker(self: *const T, wMarkerIndex: u16, cnsDuration: u64, fRate: f32, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).StartAtMarker(@as(*const IWMReaderAdvanced2, @ptrCast(self)), wMarkerIndex, cnsDuration, fRate, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_GetOutputSetting(self: *const T, dwOutputNum: u32, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).GetOutputSetting(@as(*const IWMReaderAdvanced2, @ptrCast(self)), dwOutputNum, pszName, pType, pValue, pcbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_SetOutputSetting(self: *const T, dwOutputNum: u32, pszName: ?[*:0]const u16, Type: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, cbLength: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).SetOutputSetting(@as(*const IWMReaderAdvanced2, @ptrCast(self)), dwOutputNum, pszName, Type, pValue, cbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_Preroll(self: *const T, cnsStart: u64, cnsDuration: u64, fRate: f32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).Preroll(@as(*const IWMReaderAdvanced2, @ptrCast(self)), cnsStart, cnsDuration, fRate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_SetLogClientID(self: *const T, fLogClientID: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).SetLogClientID(@as(*const IWMReaderAdvanced2, @ptrCast(self)), fLogClientID);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_GetLogClientID(self: *const T, pfLogClientID: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).GetLogClientID(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pfLogClientID);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_StopBuffering(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).StopBuffering(@as(*const IWMReaderAdvanced2, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced2_OpenStream(self: *const T, pStream: ?*IStream, pCallback: ?*IWMReaderCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced2.VTable, @ptrCast(self.vtable)).OpenStream(@as(*const IWMReaderAdvanced2, @ptrCast(self)), pStream, pCallback, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAdvanced3_Value = Guid.initString("5dc0674b-f04b-4a4e-9f2a-b1afde2c8100");
|
|
pub const IID_IWMReaderAdvanced3 = &IID_IWMReaderAdvanced3_Value;
|
|
pub const IWMReaderAdvanced3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMReaderAdvanced2.VTable,
|
|
StopNetStreaming: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced3,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
StartAtPosition: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced3,
|
|
wStreamNum: u16,
|
|
pvOffsetStart: ?*anyopaque,
|
|
pvDuration: ?*anyopaque,
|
|
dwOffsetFormat: WMT_OFFSET_FORMAT,
|
|
fRate: f32,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced3,
|
|
wStreamNum: u16,
|
|
pvOffsetStart: ?*anyopaque,
|
|
pvDuration: ?*anyopaque,
|
|
dwOffsetFormat: WMT_OFFSET_FORMAT,
|
|
fRate: f32,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMReaderAdvanced2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced3_StopNetStreaming(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced3.VTable, @ptrCast(self.vtable)).StopNetStreaming(@as(*const IWMReaderAdvanced3, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced3_StartAtPosition(self: *const T, wStreamNum: u16, pvOffsetStart: ?*anyopaque, pvDuration: ?*anyopaque, dwOffsetFormat: WMT_OFFSET_FORMAT, fRate: f32, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced3.VTable, @ptrCast(self.vtable)).StartAtPosition(@as(*const IWMReaderAdvanced3, @ptrCast(self)), wStreamNum, pvOffsetStart, pvDuration, dwOffsetFormat, fRate, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAdvanced4_Value = Guid.initString("945a76a2-12ae-4d48-bd3c-cd1d90399b85");
|
|
pub const IID_IWMReaderAdvanced4 = &IID_IWMReaderAdvanced4_Value;
|
|
pub const IWMReaderAdvanced4 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMReaderAdvanced3.VTable,
|
|
GetLanguageCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
dwOutputNum: u32,
|
|
pwLanguageCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
dwOutputNum: u32,
|
|
pwLanguageCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetLanguage: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
dwOutputNum: u32,
|
|
wLanguage: u16,
|
|
pwszLanguageString: [*:0]u16,
|
|
pcchLanguageStringLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
dwOutputNum: u32,
|
|
wLanguage: u16,
|
|
pwszLanguageString: [*:0]u16,
|
|
pcchLanguageStringLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaxSpeedFactor: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pdblFactor: ?*f64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pdblFactor: ?*f64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsUsingFastCache: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pfUsingFastCache: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pfUsingFastCache: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddLogParam: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
wszNameSpace: ?[*:0]const u16,
|
|
wszName: ?[*:0]const u16,
|
|
wszValue: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
wszNameSpace: ?[*:0]const u16,
|
|
wszName: ?[*:0]const u16,
|
|
wszValue: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SendLogParams: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CanSaveFileAs: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pfCanSave: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pfCanSave: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CancelSaveFileAs: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetURL: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pwszURL: [*:0]u16,
|
|
pcchURL: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced4,
|
|
pwszURL: [*:0]u16,
|
|
pcchURL: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMReaderAdvanced3.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_GetLanguageCount(self: *const T, dwOutputNum: u32, pwLanguageCount: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).GetLanguageCount(@as(*const IWMReaderAdvanced4, @ptrCast(self)), dwOutputNum, pwLanguageCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_GetLanguage(self: *const T, dwOutputNum: u32, wLanguage: u16, pwszLanguageString: [*:0]u16, pcchLanguageStringLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).GetLanguage(@as(*const IWMReaderAdvanced4, @ptrCast(self)), dwOutputNum, wLanguage, pwszLanguageString, pcchLanguageStringLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_GetMaxSpeedFactor(self: *const T, pdblFactor: ?*f64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).GetMaxSpeedFactor(@as(*const IWMReaderAdvanced4, @ptrCast(self)), pdblFactor);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_IsUsingFastCache(self: *const T, pfUsingFastCache: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).IsUsingFastCache(@as(*const IWMReaderAdvanced4, @ptrCast(self)), pfUsingFastCache);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_AddLogParam(self: *const T, wszNameSpace: ?[*:0]const u16, wszName: ?[*:0]const u16, wszValue: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).AddLogParam(@as(*const IWMReaderAdvanced4, @ptrCast(self)), wszNameSpace, wszName, wszValue);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_SendLogParams(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).SendLogParams(@as(*const IWMReaderAdvanced4, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_CanSaveFileAs(self: *const T, pfCanSave: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).CanSaveFileAs(@as(*const IWMReaderAdvanced4, @ptrCast(self)), pfCanSave);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_CancelSaveFileAs(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).CancelSaveFileAs(@as(*const IWMReaderAdvanced4, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced4_GetURL(self: *const T, pwszURL: [*:0]u16, pcchURL: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced4.VTable, @ptrCast(self.vtable)).GetURL(@as(*const IWMReaderAdvanced4, @ptrCast(self)), pwszURL, pcchURL);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAdvanced5_Value = Guid.initString("24c44db0-55d1-49ae-a5cc-f13815e36363");
|
|
pub const IID_IWMReaderAdvanced5 = &IID_IWMReaderAdvanced5_Value;
|
|
pub const IWMReaderAdvanced5 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMReaderAdvanced4.VTable,
|
|
SetPlayerHook: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced5,
|
|
dwOutputNum: u32,
|
|
pHook: ?*IWMPlayerHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced5,
|
|
dwOutputNum: u32,
|
|
pHook: ?*IWMPlayerHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMReaderAdvanced4.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced5_SetPlayerHook(self: *const T, dwOutputNum: u32, pHook: ?*IWMPlayerHook) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced5.VTable, @ptrCast(self.vtable)).SetPlayerHook(@as(*const IWMReaderAdvanced5, @ptrCast(self)), dwOutputNum, pHook);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAdvanced6_Value = Guid.initString("18a2e7f8-428f-4acd-8a00-e64639bc93de");
|
|
pub const IID_IWMReaderAdvanced6 = &IID_IWMReaderAdvanced6_Value;
|
|
pub const IWMReaderAdvanced6 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMReaderAdvanced5.VTable,
|
|
SetProtectStreamSamples: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAdvanced6,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
dwCertificateType: u32,
|
|
dwFlags: u32,
|
|
pbInitializationVector: [*:0]u8,
|
|
pcbInitializationVector: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAdvanced6,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
dwCertificateType: u32,
|
|
dwFlags: u32,
|
|
pbInitializationVector: [*:0]u8,
|
|
pcbInitializationVector: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMReaderAdvanced5.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAdvanced6_SetProtectStreamSamples(self: *const T, pbCertificate: [*:0]u8, cbCertificate: u32, dwCertificateType: u32, dwFlags: u32, pbInitializationVector: [*:0]u8, pcbInitializationVector: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAdvanced6.VTable, @ptrCast(self.vtable)).SetProtectStreamSamples(@as(*const IWMReaderAdvanced6, @ptrCast(self)), pbCertificate, cbCertificate, dwCertificateType, dwFlags, pbInitializationVector, pcbInitializationVector);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMPlayerHook_Value = Guid.initString("e5b7ca9a-0f1c-4f66-9002-74ec50d8b304");
|
|
pub const IID_IWMPlayerHook = &IID_IWMPlayerHook_Value;
|
|
pub const IWMPlayerHook = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
PreDecode: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPlayerHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPlayerHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPlayerHook_PreDecode(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPlayerHook.VTable, @ptrCast(self.vtable)).PreDecode(@as(*const IWMPlayerHook, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAllocatorEx_Value = Guid.initString("9f762fa7-a22e-428d-93c9-ac82f3aafe5a");
|
|
pub const IID_IWMReaderAllocatorEx = &IID_IWMReaderAllocatorEx_Value;
|
|
pub const IWMReaderAllocatorEx = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
AllocateForStreamEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAllocatorEx,
|
|
wStreamNum: u16,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
dwFlags: u32,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAllocatorEx,
|
|
wStreamNum: u16,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
dwFlags: u32,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AllocateForOutputEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAllocatorEx,
|
|
dwOutputNum: u32,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
dwFlags: u32,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAllocatorEx,
|
|
dwOutputNum: u32,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
dwFlags: u32,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAllocatorEx_AllocateForStreamEx(self: *const T, wStreamNum: u16, cbBuffer: u32, ppBuffer: ?*?*INSSBuffer, dwFlags: u32, cnsSampleTime: u64, cnsSampleDuration: u64, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAllocatorEx.VTable, @ptrCast(self.vtable)).AllocateForStreamEx(@as(*const IWMReaderAllocatorEx, @ptrCast(self)), wStreamNum, cbBuffer, ppBuffer, dwFlags, cnsSampleTime, cnsSampleDuration, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAllocatorEx_AllocateForOutputEx(self: *const T, dwOutputNum: u32, cbBuffer: u32, ppBuffer: ?*?*INSSBuffer, dwFlags: u32, cnsSampleTime: u64, cnsSampleDuration: u64, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAllocatorEx.VTable, @ptrCast(self.vtable)).AllocateForOutputEx(@as(*const IWMReaderAllocatorEx, @ptrCast(self)), dwOutputNum, cbBuffer, ppBuffer, dwFlags, cnsSampleTime, cnsSampleDuration, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderTypeNegotiation_Value = Guid.initString("fdbe5592-81a1-41ea-93bd-735cad1adc05");
|
|
pub const IID_IWMReaderTypeNegotiation = &IID_IWMReaderTypeNegotiation_Value;
|
|
pub const IWMReaderTypeNegotiation = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
TryOutputProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderTypeNegotiation,
|
|
dwOutputNum: u32,
|
|
pOutput: ?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderTypeNegotiation,
|
|
dwOutputNum: u32,
|
|
pOutput: ?*IWMOutputMediaProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderTypeNegotiation_TryOutputProps(self: *const T, dwOutputNum: u32, pOutput: ?*IWMOutputMediaProps) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderTypeNegotiation.VTable, @ptrCast(self.vtable)).TryOutputProps(@as(*const IWMReaderTypeNegotiation, @ptrCast(self)), dwOutputNum, pOutput);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderCallbackAdvanced_Value = Guid.initString("96406beb-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMReaderCallbackAdvanced = &IID_IWMReaderCallbackAdvanced_Value;
|
|
pub const IWMReaderCallbackAdvanced = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
OnStreamSample: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
wStreamNum: u16,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
wStreamNum: u16,
|
|
cnsSampleTime: u64,
|
|
cnsSampleDuration: u64,
|
|
dwFlags: u32,
|
|
pSample: ?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
cnsCurrentTime: u64,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
cnsCurrentTime: u64,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnStreamSelection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
wStreamCount: u16,
|
|
pStreamNumbers: ?*u16,
|
|
pSelections: ?*WMT_STREAM_SELECTION,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
wStreamCount: u16,
|
|
pStreamNumbers: ?*u16,
|
|
pSelections: ?*WMT_STREAM_SELECTION,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
OnOutputPropsChanged: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
dwOutputNum: u32,
|
|
pMediaType: ?*WM_MEDIA_TYPE,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
dwOutputNum: u32,
|
|
pMediaType: ?*WM_MEDIA_TYPE,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AllocateForStream: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
wStreamNum: u16,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
wStreamNum: u16,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AllocateForOutput: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
dwOutputNum: u32,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderCallbackAdvanced,
|
|
dwOutputNum: u32,
|
|
cbBuffer: u32,
|
|
ppBuffer: ?*?*INSSBuffer,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderCallbackAdvanced_OnStreamSample(self: *const T, wStreamNum: u16, cnsSampleTime: u64, cnsSampleDuration: u64, dwFlags: u32, pSample: ?*INSSBuffer, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderCallbackAdvanced.VTable, @ptrCast(self.vtable)).OnStreamSample(@as(*const IWMReaderCallbackAdvanced, @ptrCast(self)), wStreamNum, cnsSampleTime, cnsSampleDuration, dwFlags, pSample, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderCallbackAdvanced_OnTime(self: *const T, cnsCurrentTime: u64, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderCallbackAdvanced.VTable, @ptrCast(self.vtable)).OnTime(@as(*const IWMReaderCallbackAdvanced, @ptrCast(self)), cnsCurrentTime, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderCallbackAdvanced_OnStreamSelection(self: *const T, wStreamCount: u16, pStreamNumbers: ?*u16, pSelections: ?*WMT_STREAM_SELECTION, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderCallbackAdvanced.VTable, @ptrCast(self.vtable)).OnStreamSelection(@as(*const IWMReaderCallbackAdvanced, @ptrCast(self)), wStreamCount, pStreamNumbers, pSelections, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderCallbackAdvanced_OnOutputPropsChanged(self: *const T, dwOutputNum: u32, pMediaType: ?*WM_MEDIA_TYPE, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderCallbackAdvanced.VTable, @ptrCast(self.vtable)).OnOutputPropsChanged(@as(*const IWMReaderCallbackAdvanced, @ptrCast(self)), dwOutputNum, pMediaType, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderCallbackAdvanced_AllocateForStream(self: *const T, wStreamNum: u16, cbBuffer: u32, ppBuffer: ?*?*INSSBuffer, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderCallbackAdvanced.VTable, @ptrCast(self.vtable)).AllocateForStream(@as(*const IWMReaderCallbackAdvanced, @ptrCast(self)), wStreamNum, cbBuffer, ppBuffer, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderCallbackAdvanced_AllocateForOutput(self: *const T, dwOutputNum: u32, cbBuffer: u32, ppBuffer: ?*?*INSSBuffer, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderCallbackAdvanced.VTable, @ptrCast(self.vtable)).AllocateForOutput(@as(*const IWMReaderCallbackAdvanced, @ptrCast(self)), dwOutputNum, cbBuffer, ppBuffer, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMDRMReader_Value = Guid.initString("d2827540-3ee7-432c-b14c-dc17f085d3b3");
|
|
pub const IID_IWMDRMReader = &IID_IWMDRMReader_Value;
|
|
pub const IWMDRMReader = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
AcquireLicense: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CancelLicenseAcquisition: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Individualize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CancelIndividualization: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
MonitorLicenseAcquisition: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CancelMonitorLicenseAcquisition: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetDRMProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
pwstrName: ?[*:0]const u16,
|
|
dwType: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
pwstrName: ?[*:0]const u16,
|
|
dwType: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDRMProperty: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader,
|
|
pwstrName: ?[*:0]const u16,
|
|
pdwType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader,
|
|
pwstrName: ?[*:0]const u16,
|
|
pdwType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_AcquireLicense(self: *const T, dwFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).AcquireLicense(@as(*const IWMDRMReader, @ptrCast(self)), dwFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_CancelLicenseAcquisition(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).CancelLicenseAcquisition(@as(*const IWMDRMReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_Individualize(self: *const T, dwFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).Individualize(@as(*const IWMDRMReader, @ptrCast(self)), dwFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_CancelIndividualization(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).CancelIndividualization(@as(*const IWMDRMReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_MonitorLicenseAcquisition(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).MonitorLicenseAcquisition(@as(*const IWMDRMReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_CancelMonitorLicenseAcquisition(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).CancelMonitorLicenseAcquisition(@as(*const IWMDRMReader, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_SetDRMProperty(self: *const T, pwstrName: ?[*:0]const u16, dwType: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, cbLength: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).SetDRMProperty(@as(*const IWMDRMReader, @ptrCast(self)), pwstrName, dwType, pValue, cbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader_GetDRMProperty(self: *const T, pwstrName: ?[*:0]const u16, pdwType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader.VTable, @ptrCast(self.vtable)).GetDRMProperty(@as(*const IWMDRMReader, @ptrCast(self)), pwstrName, pdwType, pValue, pcbLength);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS = extern struct {
|
|
wCompressedDigitalVideo: u16,
|
|
wUncompressedDigitalVideo: u16,
|
|
wAnalogVideo: u16,
|
|
wCompressedDigitalAudio: u16,
|
|
wUncompressedDigitalAudio: u16,
|
|
};
|
|
|
|
pub const DRM_OPL_OUTPUT_IDS = extern struct {
|
|
cIds: u16,
|
|
rgIds: ?*Guid,
|
|
};
|
|
|
|
pub const DRM_OUTPUT_PROTECTION = extern struct {
|
|
guidId: Guid,
|
|
bConfigData: u8,
|
|
};
|
|
|
|
pub const DRM_VIDEO_OUTPUT_PROTECTION_IDS = extern struct {
|
|
cEntries: u16,
|
|
rgVop: ?*DRM_OUTPUT_PROTECTION,
|
|
};
|
|
|
|
pub const DRM_PLAY_OPL = extern struct {
|
|
minOPL: DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS,
|
|
oplIdReserved: DRM_OPL_OUTPUT_IDS,
|
|
vopi: DRM_VIDEO_OUTPUT_PROTECTION_IDS,
|
|
};
|
|
|
|
pub const DRM_COPY_OPL = extern struct {
|
|
wMinimumCopyLevel: u16,
|
|
oplIdIncludes: DRM_OPL_OUTPUT_IDS,
|
|
oplIdExcludes: DRM_OPL_OUTPUT_IDS,
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMDRMReader2_Value = Guid.initString("befe7a75-9f1d-4075-b9d9-a3c37bda49a0");
|
|
pub const IID_IWMDRMReader2 = &IID_IWMDRMReader2_Value;
|
|
pub const IWMDRMReader2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMDRMReader.VTable,
|
|
SetEvaluateOutputLevelLicenses: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader2,
|
|
fEvaluate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader2,
|
|
fEvaluate: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPlayOutputLevels: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader2,
|
|
pPlayOPL: [*]DRM_PLAY_OPL,
|
|
pcbLength: ?*u32,
|
|
pdwMinAppComplianceLevel: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader2,
|
|
pPlayOPL: [*]DRM_PLAY_OPL,
|
|
pcbLength: ?*u32,
|
|
pdwMinAppComplianceLevel: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCopyOutputLevels: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader2,
|
|
pCopyOPL: [*]DRM_COPY_OPL,
|
|
pcbLength: ?*u32,
|
|
pdwMinAppComplianceLevel: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader2,
|
|
pCopyOPL: [*]DRM_COPY_OPL,
|
|
pcbLength: ?*u32,
|
|
pdwMinAppComplianceLevel: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
TryNextLicense: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader2,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMDRMReader.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader2_SetEvaluateOutputLevelLicenses(self: *const T, fEvaluate: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader2.VTable, @ptrCast(self.vtable)).SetEvaluateOutputLevelLicenses(@as(*const IWMDRMReader2, @ptrCast(self)), fEvaluate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader2_GetPlayOutputLevels(self: *const T, pPlayOPL: [*]DRM_PLAY_OPL, pcbLength: ?*u32, pdwMinAppComplianceLevel: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader2.VTable, @ptrCast(self.vtable)).GetPlayOutputLevels(@as(*const IWMDRMReader2, @ptrCast(self)), pPlayOPL, pcbLength, pdwMinAppComplianceLevel);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader2_GetCopyOutputLevels(self: *const T, pCopyOPL: [*]DRM_COPY_OPL, pcbLength: ?*u32, pdwMinAppComplianceLevel: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader2.VTable, @ptrCast(self.vtable)).GetCopyOutputLevels(@as(*const IWMDRMReader2, @ptrCast(self)), pCopyOPL, pcbLength, pdwMinAppComplianceLevel);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader2_TryNextLicense(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader2.VTable, @ptrCast(self.vtable)).TryNextLicense(@as(*const IWMDRMReader2, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMDRMReader3_Value = Guid.initString("e08672de-f1e7-4ff4-a0a3-fc4b08e4caf8");
|
|
pub const IID_IWMDRMReader3 = &IID_IWMDRMReader3_Value;
|
|
pub const IWMDRMReader3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMDRMReader2.VTable,
|
|
GetInclusionList: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMReader3,
|
|
ppGuids: ?*?*Guid,
|
|
pcGuids: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMReader3,
|
|
ppGuids: ?*?*Guid,
|
|
pcGuids: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMDRMReader2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMReader3_GetInclusionList(self: *const T, ppGuids: ?*?*Guid, pcGuids: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMReader3.VTable, @ptrCast(self.vtable)).GetInclusionList(@as(*const IWMDRMReader3, @ptrCast(self)), ppGuids, pcGuids);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderPlaylistBurn_Value = Guid.initString("f28c0300-9baa-4477-a846-1744d9cbf533");
|
|
pub const IID_IWMReaderPlaylistBurn = &IID_IWMReaderPlaylistBurn_Value;
|
|
pub const IWMReaderPlaylistBurn = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
InitPlaylistBurn: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
cFiles: u32,
|
|
ppwszFilenames: ?*?PWSTR,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
cFiles: u32,
|
|
ppwszFilenames: ?*?PWSTR,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetInitResults: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
cFiles: u32,
|
|
phrStati: ?*HRESULT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
cFiles: u32,
|
|
phrStati: ?*HRESULT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Cancel: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
EndPlaylistBurn: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
hrBurnResult: HRESULT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderPlaylistBurn,
|
|
hrBurnResult: HRESULT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderPlaylistBurn_InitPlaylistBurn(self: *const T, cFiles: u32, ppwszFilenames: ?*?PWSTR, pCallback: ?*IWMStatusCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderPlaylistBurn.VTable, @ptrCast(self.vtable)).InitPlaylistBurn(@as(*const IWMReaderPlaylistBurn, @ptrCast(self)), cFiles, ppwszFilenames, pCallback, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderPlaylistBurn_GetInitResults(self: *const T, cFiles: u32, phrStati: ?*HRESULT) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderPlaylistBurn.VTable, @ptrCast(self.vtable)).GetInitResults(@as(*const IWMReaderPlaylistBurn, @ptrCast(self)), cFiles, phrStati);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderPlaylistBurn_Cancel(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderPlaylistBurn.VTable, @ptrCast(self.vtable)).Cancel(@as(*const IWMReaderPlaylistBurn, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderPlaylistBurn_EndPlaylistBurn(self: *const T, hrBurnResult: HRESULT) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderPlaylistBurn.VTable, @ptrCast(self.vtable)).EndPlaylistBurn(@as(*const IWMReaderPlaylistBurn, @ptrCast(self)), hrBurnResult);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderNetworkConfig_Value = Guid.initString("96406bec-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMReaderNetworkConfig = &IID_IWMReaderNetworkConfig_Value;
|
|
pub const IWMReaderNetworkConfig = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetBufferingTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pcnsBufferingTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pcnsBufferingTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetBufferingTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
cnsBufferingTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
cnsBufferingTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetUDPPortRanges: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pRangeArray: [*]WM_PORT_NUMBER_RANGE,
|
|
pcRanges: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pRangeArray: [*]WM_PORT_NUMBER_RANGE,
|
|
pcRanges: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetUDPPortRanges: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pRangeArray: [*]WM_PORT_NUMBER_RANGE,
|
|
cRanges: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pRangeArray: [*]WM_PORT_NUMBER_RANGE,
|
|
cRanges: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProxySettings: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pProxySetting: ?*WMT_PROXY_SETTINGS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pProxySetting: ?*WMT_PROXY_SETTINGS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProxySettings: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
ProxySetting: WMT_PROXY_SETTINGS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
ProxySetting: WMT_PROXY_SETTINGS,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProxyHostName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszHostName: [*:0]u16,
|
|
pcchHostName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszHostName: [*:0]u16,
|
|
pcchHostName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProxyHostName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszHostName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszHostName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProxyPort: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pdwPort: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pdwPort: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProxyPort: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
dwPort: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
dwPort: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProxyExceptionList: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszExceptionList: [*:0]u16,
|
|
pcchExceptionList: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszExceptionList: [*:0]u16,
|
|
pcchExceptionList: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProxyExceptionList: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszExceptionList: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pwszExceptionList: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProxyBypassForLocal: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pfBypassForLocal: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
pfBypassForLocal: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProxyBypassForLocal: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
fBypassForLocal: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszProtocol: ?[*:0]const u16,
|
|
fBypassForLocal: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetForceRerunAutoProxyDetection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfForceRerunDetection: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfForceRerunDetection: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetForceRerunAutoProxyDetection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fForceRerunDetection: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fForceRerunDetection: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetEnableMulticast: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableMulticast: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableMulticast: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableMulticast: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableMulticast: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableMulticast: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetEnableHTTP: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableHTTP: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableHTTP: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableHTTP: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableHTTP: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableHTTP: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetEnableUDP: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableUDP: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableUDP: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableUDP: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableUDP: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableUDP: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetEnableTCP: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableTCP: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pfEnableTCP: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableTCP: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableTCP: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
fEnableTCP: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ResetProtocolRollover: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetConnectionBandwidth: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pdwConnectionBandwidth: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pdwConnectionBandwidth: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetConnectionBandwidth: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
dwConnectionBandwidth: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
dwConnectionBandwidth: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNumProtocolsSupported: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pcProtocols: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pcProtocols: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSupportedProtocolName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
dwProtocolNum: u32,
|
|
pwszProtocolName: [*:0]u16,
|
|
pcchProtocolName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
dwProtocolNum: u32,
|
|
pwszProtocolName: [*:0]u16,
|
|
pcchProtocolName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddLoggingUrl: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszUrl: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pwszUrl: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetLoggingUrl: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
dwIndex: u32,
|
|
pwszUrl: [*:0]u16,
|
|
pcchUrl: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
dwIndex: u32,
|
|
pwszUrl: [*:0]u16,
|
|
pcchUrl: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetLoggingUrlCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pdwUrlCount: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
pdwUrlCount: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ResetLoggingUrlList: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetBufferingTime(self: *const T, pcnsBufferingTime: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetBufferingTime(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pcnsBufferingTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetBufferingTime(self: *const T, cnsBufferingTime: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetBufferingTime(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), cnsBufferingTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetUDPPortRanges(self: *const T, pRangeArray: [*]WM_PORT_NUMBER_RANGE, pcRanges: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetUDPPortRanges(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pRangeArray, pcRanges);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetUDPPortRanges(self: *const T, pRangeArray: [*]WM_PORT_NUMBER_RANGE, cRanges: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetUDPPortRanges(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pRangeArray, cRanges);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetProxySettings(self: *const T, pwszProtocol: ?[*:0]const u16, pProxySetting: ?*WMT_PROXY_SETTINGS) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetProxySettings(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, pProxySetting);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetProxySettings(self: *const T, pwszProtocol: ?[*:0]const u16, ProxySetting: WMT_PROXY_SETTINGS) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetProxySettings(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, ProxySetting);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetProxyHostName(self: *const T, pwszProtocol: ?[*:0]const u16, pwszHostName: [*:0]u16, pcchHostName: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetProxyHostName(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, pwszHostName, pcchHostName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetProxyHostName(self: *const T, pwszProtocol: ?[*:0]const u16, pwszHostName: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetProxyHostName(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, pwszHostName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetProxyPort(self: *const T, pwszProtocol: ?[*:0]const u16, pdwPort: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetProxyPort(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, pdwPort);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetProxyPort(self: *const T, pwszProtocol: ?[*:0]const u16, dwPort: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetProxyPort(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, dwPort);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetProxyExceptionList(self: *const T, pwszProtocol: ?[*:0]const u16, pwszExceptionList: [*:0]u16, pcchExceptionList: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetProxyExceptionList(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, pwszExceptionList, pcchExceptionList);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetProxyExceptionList(self: *const T, pwszProtocol: ?[*:0]const u16, pwszExceptionList: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetProxyExceptionList(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, pwszExceptionList);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetProxyBypassForLocal(self: *const T, pwszProtocol: ?[*:0]const u16, pfBypassForLocal: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetProxyBypassForLocal(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, pfBypassForLocal);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetProxyBypassForLocal(self: *const T, pwszProtocol: ?[*:0]const u16, fBypassForLocal: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetProxyBypassForLocal(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszProtocol, fBypassForLocal);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(self: *const T, pfForceRerunDetection: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetForceRerunAutoProxyDetection(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pfForceRerunDetection);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(self: *const T, fForceRerunDetection: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetForceRerunAutoProxyDetection(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), fForceRerunDetection);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetEnableMulticast(self: *const T, pfEnableMulticast: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetEnableMulticast(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pfEnableMulticast);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetEnableMulticast(self: *const T, fEnableMulticast: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetEnableMulticast(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), fEnableMulticast);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetEnableHTTP(self: *const T, pfEnableHTTP: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetEnableHTTP(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pfEnableHTTP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetEnableHTTP(self: *const T, fEnableHTTP: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetEnableHTTP(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), fEnableHTTP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetEnableUDP(self: *const T, pfEnableUDP: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetEnableUDP(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pfEnableUDP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetEnableUDP(self: *const T, fEnableUDP: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetEnableUDP(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), fEnableUDP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetEnableTCP(self: *const T, pfEnableTCP: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetEnableTCP(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pfEnableTCP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetEnableTCP(self: *const T, fEnableTCP: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetEnableTCP(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), fEnableTCP);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_ResetProtocolRollover(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).ResetProtocolRollover(@as(*const IWMReaderNetworkConfig, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetConnectionBandwidth(self: *const T, pdwConnectionBandwidth: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetConnectionBandwidth(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pdwConnectionBandwidth);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_SetConnectionBandwidth(self: *const T, dwConnectionBandwidth: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).SetConnectionBandwidth(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), dwConnectionBandwidth);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetNumProtocolsSupported(self: *const T, pcProtocols: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetNumProtocolsSupported(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pcProtocols);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetSupportedProtocolName(self: *const T, dwProtocolNum: u32, pwszProtocolName: [*:0]u16, pcchProtocolName: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetSupportedProtocolName(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), dwProtocolNum, pwszProtocolName, pcchProtocolName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_AddLoggingUrl(self: *const T, pwszUrl: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).AddLoggingUrl(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pwszUrl);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetLoggingUrl(self: *const T, dwIndex: u32, pwszUrl: [*:0]u16, pcchUrl: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetLoggingUrl(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), dwIndex, pwszUrl, pcchUrl);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_GetLoggingUrlCount(self: *const T, pdwUrlCount: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).GetLoggingUrlCount(@as(*const IWMReaderNetworkConfig, @ptrCast(self)), pdwUrlCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig_ResetLoggingUrlList(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig.VTable, @ptrCast(self.vtable)).ResetLoggingUrlList(@as(*const IWMReaderNetworkConfig, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderNetworkConfig2_Value = Guid.initString("d979a853-042b-4050-8387-c939db22013f");
|
|
pub const IID_IWMReaderNetworkConfig2 = &IID_IWMReaderNetworkConfig2_Value;
|
|
pub const IWMReaderNetworkConfig2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMReaderNetworkConfig.VTable,
|
|
GetEnableContentCaching: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableContentCaching: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableContentCaching: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableContentCaching: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableContentCaching: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableContentCaching: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetEnableFastCache: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableFastCache: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableFastCache: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableFastCache: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableFastCache: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableFastCache: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAcceleratedStreamingDuration: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pcnsAccelDuration: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pcnsAccelDuration: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAcceleratedStreamingDuration: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
cnsAccelDuration: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
cnsAccelDuration: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAutoReconnectLimit: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pdwAutoReconnectLimit: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pdwAutoReconnectLimit: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAutoReconnectLimit: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
dwAutoReconnectLimit: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
dwAutoReconnectLimit: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetEnableResends: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableResends: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableResends: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableResends: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableResends: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableResends: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetEnableThinning: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableThinning: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pfEnableThinning: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetEnableThinning: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableThinning: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
fEnableThinning: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetMaxNetPacketSize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pdwMaxNetPacketSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderNetworkConfig2,
|
|
pdwMaxNetPacketSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMReaderNetworkConfig.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_GetEnableContentCaching(self: *const T, pfEnableContentCaching: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).GetEnableContentCaching(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), pfEnableContentCaching);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_SetEnableContentCaching(self: *const T, fEnableContentCaching: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).SetEnableContentCaching(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), fEnableContentCaching);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_GetEnableFastCache(self: *const T, pfEnableFastCache: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).GetEnableFastCache(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), pfEnableFastCache);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_SetEnableFastCache(self: *const T, fEnableFastCache: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).SetEnableFastCache(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), fEnableFastCache);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration(self: *const T, pcnsAccelDuration: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).GetAcceleratedStreamingDuration(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), pcnsAccelDuration);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration(self: *const T, cnsAccelDuration: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).SetAcceleratedStreamingDuration(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), cnsAccelDuration);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_GetAutoReconnectLimit(self: *const T, pdwAutoReconnectLimit: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).GetAutoReconnectLimit(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), pdwAutoReconnectLimit);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_SetAutoReconnectLimit(self: *const T, dwAutoReconnectLimit: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).SetAutoReconnectLimit(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), dwAutoReconnectLimit);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_GetEnableResends(self: *const T, pfEnableResends: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).GetEnableResends(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), pfEnableResends);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_SetEnableResends(self: *const T, fEnableResends: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).SetEnableResends(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), fEnableResends);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_GetEnableThinning(self: *const T, pfEnableThinning: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).GetEnableThinning(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), pfEnableThinning);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_SetEnableThinning(self: *const T, fEnableThinning: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).SetEnableThinning(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), fEnableThinning);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderNetworkConfig2_GetMaxNetPacketSize(self: *const T, pdwMaxNetPacketSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderNetworkConfig2.VTable, @ptrCast(self.vtable)).GetMaxNetPacketSize(@as(*const IWMReaderNetworkConfig2, @ptrCast(self)), pdwMaxNetPacketSize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderStreamClock_Value = Guid.initString("96406bed-2b2b-11d3-b36b-00c04f6108ff");
|
|
pub const IID_IWMReaderStreamClock = &IID_IWMReaderStreamClock_Value;
|
|
pub const IWMReaderStreamClock = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderStreamClock,
|
|
pcnsNow: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderStreamClock,
|
|
pcnsNow: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetTimer: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderStreamClock,
|
|
cnsWhen: u64,
|
|
pvParam: ?*anyopaque,
|
|
pdwTimerId: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderStreamClock,
|
|
cnsWhen: u64,
|
|
pvParam: ?*anyopaque,
|
|
pdwTimerId: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
KillTimer: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderStreamClock,
|
|
dwTimerId: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderStreamClock,
|
|
dwTimerId: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderStreamClock_GetTime(self: *const T, pcnsNow: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderStreamClock.VTable, @ptrCast(self.vtable)).GetTime(@as(*const IWMReaderStreamClock, @ptrCast(self)), pcnsNow);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderStreamClock_SetTimer(self: *const T, cnsWhen: u64, pvParam: ?*anyopaque, pdwTimerId: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderStreamClock.VTable, @ptrCast(self.vtable)).SetTimer(@as(*const IWMReaderStreamClock, @ptrCast(self)), cnsWhen, pvParam, pdwTimerId);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderStreamClock_KillTimer(self: *const T, dwTimerId: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderStreamClock.VTable, @ptrCast(self.vtable)).KillTimer(@as(*const IWMReaderStreamClock, @ptrCast(self)), dwTimerId);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMIndexer_Value = Guid.initString("6d7cdc71-9888-11d3-8edc-00c04f6109cf");
|
|
pub const IID_IWMIndexer = &IID_IWMIndexer_Value;
|
|
pub const IWMIndexer = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
StartIndexing: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMIndexer,
|
|
pwszURL: ?[*:0]const u16,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMIndexer,
|
|
pwszURL: ?[*:0]const u16,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Cancel: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMIndexer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMIndexer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMIndexer_StartIndexing(self: *const T, pwszURL: ?[*:0]const u16, pCallback: ?*IWMStatusCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMIndexer.VTable, @ptrCast(self.vtable)).StartIndexing(@as(*const IWMIndexer, @ptrCast(self)), pwszURL, pCallback, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMIndexer_Cancel(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMIndexer.VTable, @ptrCast(self.vtable)).Cancel(@as(*const IWMIndexer, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMIndexer2_Value = Guid.initString("b70f1e42-6255-4df0-a6b9-02b212d9e2bb");
|
|
pub const IID_IWMIndexer2 = &IID_IWMIndexer2_Value;
|
|
pub const IWMIndexer2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMIndexer.VTable,
|
|
Configure: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMIndexer2,
|
|
wStreamNum: u16,
|
|
nIndexerType: WMT_INDEXER_TYPE,
|
|
pvInterval: ?*anyopaque,
|
|
pvIndexType: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMIndexer2,
|
|
wStreamNum: u16,
|
|
nIndexerType: WMT_INDEXER_TYPE,
|
|
pvInterval: ?*anyopaque,
|
|
pvIndexType: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMIndexer.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMIndexer2_Configure(self: *const T, wStreamNum: u16, nIndexerType: WMT_INDEXER_TYPE, pvInterval: ?*anyopaque, pvIndexType: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMIndexer2.VTable, @ptrCast(self.vtable)).Configure(@as(*const IWMIndexer2, @ptrCast(self)), wStreamNum, nIndexerType, pvInterval, pvIndexType);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMLicenseBackup_Value = Guid.initString("05e5ac9f-3fb6-4508-bb43-a4067ba1ebe8");
|
|
pub const IID_IWMLicenseBackup = &IID_IWMLicenseBackup_Value;
|
|
pub const IWMLicenseBackup = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
BackupLicenses: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLicenseBackup,
|
|
dwFlags: u32,
|
|
pCallback: ?*IWMStatusCallback,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLicenseBackup,
|
|
dwFlags: u32,
|
|
pCallback: ?*IWMStatusCallback,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CancelLicenseBackup: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLicenseBackup,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLicenseBackup,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLicenseBackup_BackupLicenses(self: *const T, dwFlags: u32, pCallback: ?*IWMStatusCallback) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLicenseBackup.VTable, @ptrCast(self.vtable)).BackupLicenses(@as(*const IWMLicenseBackup, @ptrCast(self)), dwFlags, pCallback);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLicenseBackup_CancelLicenseBackup(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLicenseBackup.VTable, @ptrCast(self.vtable)).CancelLicenseBackup(@as(*const IWMLicenseBackup, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMLicenseRestore_Value = Guid.initString("c70b6334-a22e-4efb-a245-15e65a004a13");
|
|
pub const IID_IWMLicenseRestore = &IID_IWMLicenseRestore_Value;
|
|
pub const IWMLicenseRestore = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
RestoreLicenses: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLicenseRestore,
|
|
dwFlags: u32,
|
|
pCallback: ?*IWMStatusCallback,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLicenseRestore,
|
|
dwFlags: u32,
|
|
pCallback: ?*IWMStatusCallback,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CancelLicenseRestore: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLicenseRestore,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLicenseRestore,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLicenseRestore_RestoreLicenses(self: *const T, dwFlags: u32, pCallback: ?*IWMStatusCallback) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLicenseRestore.VTable, @ptrCast(self.vtable)).RestoreLicenses(@as(*const IWMLicenseRestore, @ptrCast(self)), dwFlags, pCallback);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLicenseRestore_CancelLicenseRestore(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLicenseRestore.VTable, @ptrCast(self.vtable)).CancelLicenseRestore(@as(*const IWMLicenseRestore, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMBackupRestoreProps_Value = Guid.initString("3c8e0da6-996f-4ff3-a1af-4838f9377e2e");
|
|
pub const IID_IWMBackupRestoreProps = &IID_IWMBackupRestoreProps_Value;
|
|
pub const IWMBackupRestoreProps = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetPropCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pcProps: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pcProps: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPropByIndex: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
wIndex: u16,
|
|
pwszName: [*:0]u16,
|
|
pcchNameLen: ?*u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
wIndex: u16,
|
|
pwszName: [*:0]u16,
|
|
pcchNameLen: ?*u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetPropByName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pcbLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetProp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
cbLength: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveProp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pcwszName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
pcwszName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveAllProps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMBackupRestoreProps,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBackupRestoreProps_GetPropCount(self: *const T, pcProps: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBackupRestoreProps.VTable, @ptrCast(self.vtable)).GetPropCount(@as(*const IWMBackupRestoreProps, @ptrCast(self)), pcProps);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBackupRestoreProps_GetPropByIndex(self: *const T, wIndex: u16, pwszName: [*:0]u16, pcchNameLen: ?*u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBackupRestoreProps.VTable, @ptrCast(self.vtable)).GetPropByIndex(@as(*const IWMBackupRestoreProps, @ptrCast(self)), wIndex, pwszName, pcchNameLen, pType, pValue, pcbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBackupRestoreProps_GetPropByName(self: *const T, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pcbLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBackupRestoreProps.VTable, @ptrCast(self.vtable)).GetPropByName(@as(*const IWMBackupRestoreProps, @ptrCast(self)), pszName, pType, pValue, pcbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBackupRestoreProps_SetProp(self: *const T, pszName: ?[*:0]const u16, Type: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, cbLength: u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBackupRestoreProps.VTable, @ptrCast(self.vtable)).SetProp(@as(*const IWMBackupRestoreProps, @ptrCast(self)), pszName, Type, pValue, cbLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBackupRestoreProps_RemoveProp(self: *const T, pcwszName: ?[*:0]const u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBackupRestoreProps.VTable, @ptrCast(self.vtable)).RemoveProp(@as(*const IWMBackupRestoreProps, @ptrCast(self)), pcwszName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMBackupRestoreProps_RemoveAllProps(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMBackupRestoreProps.VTable, @ptrCast(self.vtable)).RemoveAllProps(@as(*const IWMBackupRestoreProps, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMCodecInfo_Value = Guid.initString("a970f41e-34de-4a98-b3ba-e4b3ca7528f0");
|
|
pub const IID_IWMCodecInfo = &IID_IWMCodecInfo_Value;
|
|
pub const IWMCodecInfo = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetCodecInfoCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo,
|
|
guidType: ?*const Guid,
|
|
pcCodecs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo,
|
|
guidType: ?*const Guid,
|
|
pcCodecs: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCodecFormatCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pcFormat: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pcFormat: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCodecFormat: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
dwFormatIndex: u32,
|
|
ppIStreamConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
dwFormatIndex: u32,
|
|
ppIStreamConfig: ?*?*IWMStreamConfig,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo_GetCodecInfoCount(self: *const T, guidType: ?*const Guid, pcCodecs: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo.VTable, @ptrCast(self.vtable)).GetCodecInfoCount(@as(*const IWMCodecInfo, @ptrCast(self)), guidType, pcCodecs);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo_GetCodecFormatCount(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, pcFormat: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo.VTable, @ptrCast(self.vtable)).GetCodecFormatCount(@as(*const IWMCodecInfo, @ptrCast(self)), guidType, dwCodecIndex, pcFormat);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo_GetCodecFormat(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, dwFormatIndex: u32, ppIStreamConfig: ?*?*IWMStreamConfig) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo.VTable, @ptrCast(self.vtable)).GetCodecFormat(@as(*const IWMCodecInfo, @ptrCast(self)), guidType, dwCodecIndex, dwFormatIndex, ppIStreamConfig);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMCodecInfo2_Value = Guid.initString("aa65e273-b686-4056-91ec-dd768d4df710");
|
|
pub const IID_IWMCodecInfo2 = &IID_IWMCodecInfo2_Value;
|
|
pub const IWMCodecInfo2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMCodecInfo.VTable,
|
|
GetCodecName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo2,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
wszName: [*:0]u16,
|
|
pcchName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo2,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
wszName: [*:0]u16,
|
|
pcchName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCodecFormatDesc: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo2,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
dwFormatIndex: u32,
|
|
ppIStreamConfig: ?*?*IWMStreamConfig,
|
|
wszDesc: [*:0]u16,
|
|
pcchDesc: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo2,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
dwFormatIndex: u32,
|
|
ppIStreamConfig: ?*?*IWMStreamConfig,
|
|
wszDesc: [*:0]u16,
|
|
pcchDesc: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMCodecInfo.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo2_GetCodecName(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, wszName: [*:0]u16, pcchName: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo2.VTable, @ptrCast(self.vtable)).GetCodecName(@as(*const IWMCodecInfo2, @ptrCast(self)), guidType, dwCodecIndex, wszName, pcchName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo2_GetCodecFormatDesc(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, dwFormatIndex: u32, ppIStreamConfig: ?*?*IWMStreamConfig, wszDesc: [*:0]u16, pcchDesc: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo2.VTable, @ptrCast(self.vtable)).GetCodecFormatDesc(@as(*const IWMCodecInfo2, @ptrCast(self)), guidType, dwCodecIndex, dwFormatIndex, ppIStreamConfig, wszDesc, pcchDesc);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMCodecInfo3_Value = Guid.initString("7e51f487-4d93-4f98-8ab4-27d0565adc51");
|
|
pub const IID_IWMCodecInfo3 = &IID_IWMCodecInfo3_Value;
|
|
pub const IWMCodecInfo3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMCodecInfo2.VTable,
|
|
GetCodecFormatProp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
dwFormatIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
dwFormatIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCodecProp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetCodecEnumerationSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
dwSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
Type: WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]const u8,
|
|
dwSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCodecEnumerationSetting: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecInfo3,
|
|
guidType: ?*const Guid,
|
|
dwCodecIndex: u32,
|
|
pszName: ?[*:0]const u16,
|
|
pType: ?*WMT_ATTR_DATATYPE,
|
|
pValue: [*:0]u8,
|
|
pdwSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMCodecInfo2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo3_GetCodecFormatProp(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, dwFormatIndex: u32, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pdwSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo3.VTable, @ptrCast(self.vtable)).GetCodecFormatProp(@as(*const IWMCodecInfo3, @ptrCast(self)), guidType, dwCodecIndex, dwFormatIndex, pszName, pType, pValue, pdwSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo3_GetCodecProp(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pdwSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo3.VTable, @ptrCast(self.vtable)).GetCodecProp(@as(*const IWMCodecInfo3, @ptrCast(self)), guidType, dwCodecIndex, pszName, pType, pValue, pdwSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo3_SetCodecEnumerationSetting(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, pszName: ?[*:0]const u16, Type: WMT_ATTR_DATATYPE, pValue: [*:0]const u8, dwSize: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo3.VTable, @ptrCast(self.vtable)).SetCodecEnumerationSetting(@as(*const IWMCodecInfo3, @ptrCast(self)), guidType, dwCodecIndex, pszName, Type, pValue, dwSize);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecInfo3_GetCodecEnumerationSetting(self: *const T, guidType: ?*const Guid, dwCodecIndex: u32, pszName: ?[*:0]const u16, pType: ?*WMT_ATTR_DATATYPE, pValue: [*:0]u8, pdwSize: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecInfo3.VTable, @ptrCast(self.vtable)).GetCodecEnumerationSetting(@as(*const IWMCodecInfo3, @ptrCast(self)), guidType, dwCodecIndex, pszName, pType, pValue, pdwSize);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMLanguageList_Value = Guid.initString("df683f00-2d49-4d8e-92b7-fb19f6a0dc57");
|
|
pub const IID_IWMLanguageList = &IID_IWMLanguageList_Value;
|
|
pub const IWMLanguageList = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetLanguageCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLanguageList,
|
|
pwCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLanguageList,
|
|
pwCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetLanguageDetails: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLanguageList,
|
|
wIndex: u16,
|
|
pwszLanguageString: [*:0]u16,
|
|
pcchLanguageStringLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLanguageList,
|
|
wIndex: u16,
|
|
pwszLanguageString: [*:0]u16,
|
|
pcchLanguageStringLength: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddLanguageByRFC1766String: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLanguageList,
|
|
pwszLanguageString: ?PWSTR,
|
|
pwIndex: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLanguageList,
|
|
pwszLanguageString: ?PWSTR,
|
|
pwIndex: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLanguageList_GetLanguageCount(self: *const T, pwCount: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLanguageList.VTable, @ptrCast(self.vtable)).GetLanguageCount(@as(*const IWMLanguageList, @ptrCast(self)), pwCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLanguageList_GetLanguageDetails(self: *const T, wIndex: u16, pwszLanguageString: [*:0]u16, pcchLanguageStringLength: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLanguageList.VTable, @ptrCast(self.vtable)).GetLanguageDetails(@as(*const IWMLanguageList, @ptrCast(self)), wIndex, pwszLanguageString, pcchLanguageStringLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLanguageList_AddLanguageByRFC1766String(self: *const T, pwszLanguageString: ?PWSTR, pwIndex: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLanguageList.VTable, @ptrCast(self.vtable)).AddLanguageByRFC1766String(@as(*const IWMLanguageList, @ptrCast(self)), pwszLanguageString, pwIndex);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWriterPushSink_Value = Guid.initString("dc10e6a5-072c-467d-bf57-6330a9dde12a");
|
|
pub const IID_IWMWriterPushSink = &IID_IWMWriterPushSink_Value;
|
|
pub const IWMWriterPushSink = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMWriterSink.VTable,
|
|
Connect: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPushSink,
|
|
pwszURL: ?[*:0]const u16,
|
|
pwszTemplateURL: ?[*:0]const u16,
|
|
fAutoDestroy: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPushSink,
|
|
pwszURL: ?[*:0]const u16,
|
|
pwszTemplateURL: ?[*:0]const u16,
|
|
fAutoDestroy: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Disconnect: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPushSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPushSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
EndSession: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWriterPushSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWriterPushSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMWriterSink.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPushSink_Connect(self: *const T, pwszURL: ?[*:0]const u16, pwszTemplateURL: ?[*:0]const u16, fAutoDestroy: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPushSink.VTable, @ptrCast(self.vtable)).Connect(@as(*const IWMWriterPushSink, @ptrCast(self)), pwszURL, pwszTemplateURL, fAutoDestroy);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPushSink_Disconnect(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPushSink.VTable, @ptrCast(self.vtable)).Disconnect(@as(*const IWMWriterPushSink, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWriterPushSink_EndSession(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWriterPushSink.VTable, @ptrCast(self.vtable)).EndSession(@as(*const IWMWriterPushSink, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMDeviceRegistration_Value = Guid.initString("f6211f03-8d21-4e94-93e6-8510805f2d99");
|
|
pub const IID_IWMDeviceRegistration = &IID_IWMDeviceRegistration_Value;
|
|
pub const IWMDeviceRegistration = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
RegisterDevice: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
SerialNumber: DRM_VAL16,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
SerialNumber: DRM_VAL16,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
UnregisterDevice: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
SerialNumber: DRM_VAL16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
SerialNumber: DRM_VAL16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRegistrationStats: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pcRegisteredDevices: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pcRegisteredDevices: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetFirstRegisteredDevice: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNextRegisteredDevice: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDeviceRegistration,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDeviceRegistration,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetRegisteredDeviceByID: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
SerialNumber: DRM_VAL16,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDeviceRegistration,
|
|
dwRegisterType: u32,
|
|
pbCertificate: [*:0]u8,
|
|
cbCertificate: u32,
|
|
SerialNumber: DRM_VAL16,
|
|
ppDevice: ?*?*IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDeviceRegistration_RegisterDevice(self: *const T, dwRegisterType: u32, pbCertificate: [*:0]u8, cbCertificate: u32, SerialNumber: DRM_VAL16, ppDevice: ?*?*IWMRegisteredDevice) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDeviceRegistration.VTable, @ptrCast(self.vtable)).RegisterDevice(@as(*const IWMDeviceRegistration, @ptrCast(self)), dwRegisterType, pbCertificate, cbCertificate, SerialNumber, ppDevice);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDeviceRegistration_UnregisterDevice(self: *const T, dwRegisterType: u32, pbCertificate: [*:0]u8, cbCertificate: u32, SerialNumber: DRM_VAL16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDeviceRegistration.VTable, @ptrCast(self.vtable)).UnregisterDevice(@as(*const IWMDeviceRegistration, @ptrCast(self)), dwRegisterType, pbCertificate, cbCertificate, SerialNumber);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDeviceRegistration_GetRegistrationStats(self: *const T, dwRegisterType: u32, pcRegisteredDevices: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDeviceRegistration.VTable, @ptrCast(self.vtable)).GetRegistrationStats(@as(*const IWMDeviceRegistration, @ptrCast(self)), dwRegisterType, pcRegisteredDevices);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDeviceRegistration_GetFirstRegisteredDevice(self: *const T, dwRegisterType: u32, ppDevice: ?*?*IWMRegisteredDevice) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDeviceRegistration.VTable, @ptrCast(self.vtable)).GetFirstRegisteredDevice(@as(*const IWMDeviceRegistration, @ptrCast(self)), dwRegisterType, ppDevice);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDeviceRegistration_GetNextRegisteredDevice(self: *const T, ppDevice: ?*?*IWMRegisteredDevice) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDeviceRegistration.VTable, @ptrCast(self.vtable)).GetNextRegisteredDevice(@as(*const IWMDeviceRegistration, @ptrCast(self)), ppDevice);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDeviceRegistration_GetRegisteredDeviceByID(self: *const T, dwRegisterType: u32, pbCertificate: [*:0]u8, cbCertificate: u32, SerialNumber: DRM_VAL16, ppDevice: ?*?*IWMRegisteredDevice) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDeviceRegistration.VTable, @ptrCast(self.vtable)).GetRegisteredDeviceByID(@as(*const IWMDeviceRegistration, @ptrCast(self)), dwRegisterType, pbCertificate, cbCertificate, SerialNumber, ppDevice);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMRegisteredDevice_Value = Guid.initString("a4503bec-5508-4148-97ac-bfa75760a70d");
|
|
pub const IID_IWMRegisteredDevice = &IID_IWMRegisteredDevice_Value;
|
|
pub const IWMRegisteredDevice = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetDeviceSerialNumber: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pSerialNumber: ?*DRM_VAL16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pSerialNumber: ?*DRM_VAL16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDeviceCertificate: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
ppCertificate: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
ppCertificate: ?*?*INSSBuffer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDeviceType: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pdwType: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pdwType: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAttributeCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pcAttributes: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pcAttributes: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAttributeByIndex: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
dwIndex: u32,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrValue: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
dwIndex: u32,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrValue: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAttributeByName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
bstrName: ?BSTR,
|
|
pbstrValue: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
bstrName: ?BSTR,
|
|
pbstrValue: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetAttributeByName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
bstrName: ?BSTR,
|
|
bstrValue: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
bstrName: ?BSTR,
|
|
bstrValue: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Approve: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
fApprove: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
fApprove: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsValid: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfValid: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfValid: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsApproved: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfApproved: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfApproved: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsWmdrmCompliant: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfCompliant: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfCompliant: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsOpened: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfOpened: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
pfOpened: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Open: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Close: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMRegisteredDevice,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_GetDeviceSerialNumber(self: *const T, pSerialNumber: ?*DRM_VAL16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).GetDeviceSerialNumber(@as(*const IWMRegisteredDevice, @ptrCast(self)), pSerialNumber);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_GetDeviceCertificate(self: *const T, ppCertificate: ?*?*INSSBuffer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).GetDeviceCertificate(@as(*const IWMRegisteredDevice, @ptrCast(self)), ppCertificate);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_GetDeviceType(self: *const T, pdwType: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).GetDeviceType(@as(*const IWMRegisteredDevice, @ptrCast(self)), pdwType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_GetAttributeCount(self: *const T, pcAttributes: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).GetAttributeCount(@as(*const IWMRegisteredDevice, @ptrCast(self)), pcAttributes);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_GetAttributeByIndex(self: *const T, dwIndex: u32, pbstrName: ?*?BSTR, pbstrValue: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).GetAttributeByIndex(@as(*const IWMRegisteredDevice, @ptrCast(self)), dwIndex, pbstrName, pbstrValue);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_GetAttributeByName(self: *const T, bstrName: ?BSTR, pbstrValue: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).GetAttributeByName(@as(*const IWMRegisteredDevice, @ptrCast(self)), bstrName, pbstrValue);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_SetAttributeByName(self: *const T, bstrName: ?BSTR, bstrValue: ?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).SetAttributeByName(@as(*const IWMRegisteredDevice, @ptrCast(self)), bstrName, bstrValue);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_Approve(self: *const T, fApprove: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).Approve(@as(*const IWMRegisteredDevice, @ptrCast(self)), fApprove);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_IsValid(self: *const T, pfValid: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).IsValid(@as(*const IWMRegisteredDevice, @ptrCast(self)), pfValid);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_IsApproved(self: *const T, pfApproved: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).IsApproved(@as(*const IWMRegisteredDevice, @ptrCast(self)), pfApproved);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_IsWmdrmCompliant(self: *const T, pfCompliant: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).IsWmdrmCompliant(@as(*const IWMRegisteredDevice, @ptrCast(self)), pfCompliant);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_IsOpened(self: *const T, pfOpened: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).IsOpened(@as(*const IWMRegisteredDevice, @ptrCast(self)), pfOpened);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_Open(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).Open(@as(*const IWMRegisteredDevice, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMRegisteredDevice_Close(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMRegisteredDevice.VTable, @ptrCast(self.vtable)).Close(@as(*const IWMRegisteredDevice, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMProximityDetection_Value = Guid.initString("6a9fd8ee-b651-4bf0-b849-7d4ece79a2b1");
|
|
pub const IID_IWMProximityDetection = &IID_IWMProximityDetection_Value;
|
|
pub const IWMProximityDetection = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
StartDetection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMProximityDetection,
|
|
pbRegistrationMsg: [*:0]u8,
|
|
cbRegistrationMsg: u32,
|
|
pbLocalAddress: [*:0]u8,
|
|
cbLocalAddress: u32,
|
|
dwExtraPortsAllowed: u32,
|
|
ppRegistrationResponseMsg: ?*?*INSSBuffer,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMProximityDetection,
|
|
pbRegistrationMsg: [*:0]u8,
|
|
cbRegistrationMsg: u32,
|
|
pbLocalAddress: [*:0]u8,
|
|
cbLocalAddress: u32,
|
|
dwExtraPortsAllowed: u32,
|
|
ppRegistrationResponseMsg: ?*?*INSSBuffer,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMProximityDetection_StartDetection(self: *const T, pbRegistrationMsg: [*:0]u8, cbRegistrationMsg: u32, pbLocalAddress: [*:0]u8, cbLocalAddress: u32, dwExtraPortsAllowed: u32, ppRegistrationResponseMsg: ?*?*INSSBuffer, pCallback: ?*IWMStatusCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMProximityDetection.VTable, @ptrCast(self.vtable)).StartDetection(@as(*const IWMProximityDetection, @ptrCast(self)), pbRegistrationMsg, cbRegistrationMsg, pbLocalAddress, cbLocalAddress, dwExtraPortsAllowed, ppRegistrationResponseMsg, pCallback, pvContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMDRMMessageParser_Value = Guid.initString("a73a0072-25a0-4c99-b4a5-ede8101a6c39");
|
|
pub const IID_IWMDRMMessageParser = &IID_IWMDRMMessageParser_Value;
|
|
pub const IWMDRMMessageParser = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
ParseRegistrationReqMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMMessageParser,
|
|
pbRegistrationReqMsg: [*:0]u8,
|
|
cbRegistrationReqMsg: u32,
|
|
ppDeviceCert: ?*?*INSSBuffer,
|
|
pDeviceSerialNumber: ?*DRM_VAL16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMMessageParser,
|
|
pbRegistrationReqMsg: [*:0]u8,
|
|
cbRegistrationReqMsg: u32,
|
|
ppDeviceCert: ?*?*INSSBuffer,
|
|
pDeviceSerialNumber: ?*DRM_VAL16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ParseLicenseRequestMsg: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMMessageParser,
|
|
pbLicenseRequestMsg: [*:0]u8,
|
|
cbLicenseRequestMsg: u32,
|
|
ppDeviceCert: ?*?*INSSBuffer,
|
|
pDeviceSerialNumber: ?*DRM_VAL16,
|
|
pbstrAction: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMMessageParser,
|
|
pbLicenseRequestMsg: [*:0]u8,
|
|
cbLicenseRequestMsg: u32,
|
|
ppDeviceCert: ?*?*INSSBuffer,
|
|
pDeviceSerialNumber: ?*DRM_VAL16,
|
|
pbstrAction: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMMessageParser_ParseRegistrationReqMsg(self: *const T, pbRegistrationReqMsg: [*:0]u8, cbRegistrationReqMsg: u32, ppDeviceCert: ?*?*INSSBuffer, pDeviceSerialNumber: ?*DRM_VAL16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMMessageParser.VTable, @ptrCast(self.vtable)).ParseRegistrationReqMsg(@as(*const IWMDRMMessageParser, @ptrCast(self)), pbRegistrationReqMsg, cbRegistrationReqMsg, ppDeviceCert, pDeviceSerialNumber);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMMessageParser_ParseLicenseRequestMsg(self: *const T, pbLicenseRequestMsg: [*:0]u8, cbLicenseRequestMsg: u32, ppDeviceCert: ?*?*INSSBuffer, pDeviceSerialNumber: ?*DRM_VAL16, pbstrAction: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMMessageParser.VTable, @ptrCast(self.vtable)).ParseLicenseRequestMsg(@as(*const IWMDRMMessageParser, @ptrCast(self)), pbLicenseRequestMsg, cbLicenseRequestMsg, ppDeviceCert, pDeviceSerialNumber, pbstrAction);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
const IID_IWMDRMTranscryptor_Value = Guid.initString("69059850-6e6f-4bb2-806f-71863ddfc471");
|
|
pub const IID_IWMDRMTranscryptor = &IID_IWMDRMTranscryptor_Value;
|
|
pub const IWMDRMTranscryptor = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Initialize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
bstrFileName: ?BSTR,
|
|
pbLicenseRequestMsg: ?*u8,
|
|
cbLicenseRequestMsg: u32,
|
|
ppLicenseResponseMsg: ?*?*INSSBuffer,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
bstrFileName: ?BSTR,
|
|
pbLicenseRequestMsg: ?*u8,
|
|
cbLicenseRequestMsg: u32,
|
|
ppLicenseResponseMsg: ?*?*INSSBuffer,
|
|
pCallback: ?*IWMStatusCallback,
|
|
pvContext: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Seek: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
hnsTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
hnsTime: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Read: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
pbData: ?*u8,
|
|
pcbData: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
pbData: ?*u8,
|
|
pcbData: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Close: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor_Initialize(self: *const T, bstrFileName: ?BSTR, pbLicenseRequestMsg: ?*u8, cbLicenseRequestMsg: u32, ppLicenseResponseMsg: ?*?*INSSBuffer, pCallback: ?*IWMStatusCallback, pvContext: ?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor.VTable, @ptrCast(self.vtable)).Initialize(@as(*const IWMDRMTranscryptor, @ptrCast(self)), bstrFileName, pbLicenseRequestMsg, cbLicenseRequestMsg, ppLicenseResponseMsg, pCallback, pvContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor_Seek(self: *const T, hnsTime: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor.VTable, @ptrCast(self.vtable)).Seek(@as(*const IWMDRMTranscryptor, @ptrCast(self)), hnsTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor_Read(self: *const T, pbData: ?*u8, pcbData: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor.VTable, @ptrCast(self.vtable)).Read(@as(*const IWMDRMTranscryptor, @ptrCast(self)), pbData, pcbData);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor_Close(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor.VTable, @ptrCast(self.vtable)).Close(@as(*const IWMDRMTranscryptor, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMDRMTranscryptor2_Value = Guid.initString("e0da439f-d331-496a-bece-18e5bac5dd23");
|
|
pub const IID_IWMDRMTranscryptor2 = &IID_IWMDRMTranscryptor2_Value;
|
|
pub const IWMDRMTranscryptor2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMDRMTranscryptor.VTable,
|
|
SeekEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
cnsStartTime: u64,
|
|
cnsDuration: u64,
|
|
flRate: f32,
|
|
fIncludeFileHeader: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
cnsStartTime: u64,
|
|
cnsDuration: u64,
|
|
flRate: f32,
|
|
fIncludeFileHeader: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ZeroAdjustTimestamps: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
fEnable: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
fEnable: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSeekStartTime: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
pcnsTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
pcnsTime: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetDuration: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
pcnsDuration: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptor2,
|
|
pcnsDuration: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMDRMTranscryptor.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor2_SeekEx(self: *const T, cnsStartTime: u64, cnsDuration: u64, flRate: f32, fIncludeFileHeader: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor2.VTable, @ptrCast(self.vtable)).SeekEx(@as(*const IWMDRMTranscryptor2, @ptrCast(self)), cnsStartTime, cnsDuration, flRate, fIncludeFileHeader);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor2_ZeroAdjustTimestamps(self: *const T, fEnable: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor2.VTable, @ptrCast(self.vtable)).ZeroAdjustTimestamps(@as(*const IWMDRMTranscryptor2, @ptrCast(self)), fEnable);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor2_GetSeekStartTime(self: *const T, pcnsTime: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor2.VTable, @ptrCast(self.vtable)).GetSeekStartTime(@as(*const IWMDRMTranscryptor2, @ptrCast(self)), pcnsTime);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptor2_GetDuration(self: *const T, pcnsDuration: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptor2.VTable, @ptrCast(self.vtable)).GetDuration(@as(*const IWMDRMTranscryptor2, @ptrCast(self)), pcnsDuration);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMDRMTranscryptionManager_Value = Guid.initString("b1a887b2-a4f0-407a-b02e-efbd23bbecdf");
|
|
pub const IID_IWMDRMTranscryptionManager = &IID_IWMDRMTranscryptionManager_Value;
|
|
pub const IWMDRMTranscryptionManager = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
CreateTranscryptor: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMDRMTranscryptionManager,
|
|
ppTranscryptor: ?*?*IWMDRMTranscryptor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMDRMTranscryptionManager,
|
|
ppTranscryptor: ?*?*IWMDRMTranscryptor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMDRMTranscryptionManager_CreateTranscryptor(self: *const T, ppTranscryptor: ?*?*IWMDRMTranscryptor) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMDRMTranscryptionManager.VTable, @ptrCast(self.vtable)).CreateTranscryptor(@as(*const IWMDRMTranscryptionManager, @ptrCast(self)), ppTranscryptor);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMWatermarkInfo_Value = Guid.initString("6f497062-f2e2-4624-8ea7-9dd40d81fc8d");
|
|
pub const IID_IWMWatermarkInfo = &IID_IWMWatermarkInfo_Value;
|
|
pub const IWMWatermarkInfo = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetWatermarkEntryCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWatermarkInfo,
|
|
wmetType: WMT_WATERMARK_ENTRY_TYPE,
|
|
pdwCount: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWatermarkInfo,
|
|
wmetType: WMT_WATERMARK_ENTRY_TYPE,
|
|
pdwCount: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetWatermarkEntry: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMWatermarkInfo,
|
|
wmetType: WMT_WATERMARK_ENTRY_TYPE,
|
|
dwEntryNum: u32,
|
|
pEntry: ?*WMT_WATERMARK_ENTRY,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMWatermarkInfo,
|
|
wmetType: WMT_WATERMARK_ENTRY_TYPE,
|
|
dwEntryNum: u32,
|
|
pEntry: ?*WMT_WATERMARK_ENTRY,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWatermarkInfo_GetWatermarkEntryCount(self: *const T, wmetType: WMT_WATERMARK_ENTRY_TYPE, pdwCount: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWatermarkInfo.VTable, @ptrCast(self.vtable)).GetWatermarkEntryCount(@as(*const IWMWatermarkInfo, @ptrCast(self)), wmetType, pdwCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMWatermarkInfo_GetWatermarkEntry(self: *const T, wmetType: WMT_WATERMARK_ENTRY_TYPE, dwEntryNum: u32, pEntry: ?*WMT_WATERMARK_ENTRY) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMWatermarkInfo.VTable, @ptrCast(self.vtable)).GetWatermarkEntry(@as(*const IWMWatermarkInfo, @ptrCast(self)), wmetType, dwEntryNum, pEntry);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderAccelerator_Value = Guid.initString("bddc4d08-944d-4d52-a612-46c3fda07dd4");
|
|
pub const IID_IWMReaderAccelerator = &IID_IWMReaderAccelerator_Value;
|
|
pub const IWMReaderAccelerator = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetCodecInterface: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAccelerator,
|
|
dwOutputNum: u32,
|
|
riid: ?*const Guid,
|
|
ppvCodecInterface: ?*?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAccelerator,
|
|
dwOutputNum: u32,
|
|
riid: ?*const Guid,
|
|
ppvCodecInterface: ?*?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Notify: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderAccelerator,
|
|
dwOutputNum: u32,
|
|
pSubtype: ?*WM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderAccelerator,
|
|
dwOutputNum: u32,
|
|
pSubtype: ?*WM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAccelerator_GetCodecInterface(self: *const T, dwOutputNum: u32, riid: ?*const Guid, ppvCodecInterface: ?*?*anyopaque) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAccelerator.VTable, @ptrCast(self.vtable)).GetCodecInterface(@as(*const IWMReaderAccelerator, @ptrCast(self)), dwOutputNum, riid, ppvCodecInterface);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderAccelerator_Notify(self: *const T, dwOutputNum: u32, pSubtype: ?*WM_MEDIA_TYPE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderAccelerator.VTable, @ptrCast(self.vtable)).Notify(@as(*const IWMReaderAccelerator, @ptrCast(self)), dwOutputNum, pSubtype);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMReaderTimecode_Value = Guid.initString("f369e2f0-e081-4fe6-8450-b810b2f410d1");
|
|
pub const IID_IWMReaderTimecode = &IID_IWMReaderTimecode_Value;
|
|
pub const IWMReaderTimecode = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetTimecodeRangeCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderTimecode,
|
|
wStreamNum: u16,
|
|
pwRangeCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderTimecode,
|
|
wStreamNum: u16,
|
|
pwRangeCount: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetTimecodeRangeBounds: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMReaderTimecode,
|
|
wStreamNum: u16,
|
|
wRangeNum: u16,
|
|
pStartTimecode: ?*u32,
|
|
pEndTimecode: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMReaderTimecode,
|
|
wStreamNum: u16,
|
|
wRangeNum: u16,
|
|
pStartTimecode: ?*u32,
|
|
pEndTimecode: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderTimecode_GetTimecodeRangeCount(self: *const T, wStreamNum: u16, pwRangeCount: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderTimecode.VTable, @ptrCast(self.vtable)).GetTimecodeRangeCount(@as(*const IWMReaderTimecode, @ptrCast(self)), wStreamNum, pwRangeCount);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMReaderTimecode_GetTimecodeRangeBounds(self: *const T, wStreamNum: u16, wRangeNum: u16, pStartTimecode: ?*u32, pEndTimecode: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMReaderTimecode.VTable, @ptrCast(self.vtable)).GetTimecodeRangeBounds(@as(*const IWMReaderTimecode, @ptrCast(self)), wStreamNum, wRangeNum, pStartTimecode, pEndTimecode);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMAddressAccess_Value = Guid.initString("bb3c6389-1633-4e92-af14-9f3173ba39d0");
|
|
pub const IID_IWMAddressAccess = &IID_IWMAddressAccess_Value;
|
|
pub const IWMAddressAccess = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetAccessEntryCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
pcEntries: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
pcEntries: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetAccessEntry: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
dwEntryNum: u32,
|
|
pAddrAccessEntry: ?*WM_ADDRESS_ACCESSENTRY,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
dwEntryNum: u32,
|
|
pAddrAccessEntry: ?*WM_ADDRESS_ACCESSENTRY,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddAccessEntry: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
pAddrAccessEntry: ?*WM_ADDRESS_ACCESSENTRY,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
pAddrAccessEntry: ?*WM_ADDRESS_ACCESSENTRY,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RemoveAccessEntry: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
dwEntryNum: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAddressAccess,
|
|
aeType: WM_AETYPE,
|
|
dwEntryNum: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAddressAccess_GetAccessEntryCount(self: *const T, aeType: WM_AETYPE, pcEntries: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAddressAccess.VTable, @ptrCast(self.vtable)).GetAccessEntryCount(@as(*const IWMAddressAccess, @ptrCast(self)), aeType, pcEntries);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAddressAccess_GetAccessEntry(self: *const T, aeType: WM_AETYPE, dwEntryNum: u32, pAddrAccessEntry: ?*WM_ADDRESS_ACCESSENTRY) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAddressAccess.VTable, @ptrCast(self.vtable)).GetAccessEntry(@as(*const IWMAddressAccess, @ptrCast(self)), aeType, dwEntryNum, pAddrAccessEntry);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAddressAccess_AddAccessEntry(self: *const T, aeType: WM_AETYPE, pAddrAccessEntry: ?*WM_ADDRESS_ACCESSENTRY) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAddressAccess.VTable, @ptrCast(self.vtable)).AddAccessEntry(@as(*const IWMAddressAccess, @ptrCast(self)), aeType, pAddrAccessEntry);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAddressAccess_RemoveAccessEntry(self: *const T, aeType: WM_AETYPE, dwEntryNum: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAddressAccess.VTable, @ptrCast(self.vtable)).RemoveAccessEntry(@as(*const IWMAddressAccess, @ptrCast(self)), aeType, dwEntryNum);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMAddressAccess2_Value = Guid.initString("65a83fc2-3e98-4d4d-81b5-2a742886b33d");
|
|
pub const IID_IWMAddressAccess2 = &IID_IWMAddressAccess2_Value;
|
|
pub const IWMAddressAccess2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMAddressAccess.VTable,
|
|
GetAccessEntryEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAddressAccess2,
|
|
aeType: WM_AETYPE,
|
|
dwEntryNum: u32,
|
|
pbstrAddress: ?*?BSTR,
|
|
pbstrMask: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAddressAccess2,
|
|
aeType: WM_AETYPE,
|
|
dwEntryNum: u32,
|
|
pbstrAddress: ?*?BSTR,
|
|
pbstrMask: ?*?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
AddAccessEntryEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAddressAccess2,
|
|
aeType: WM_AETYPE,
|
|
bstrAddress: ?BSTR,
|
|
bstrMask: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAddressAccess2,
|
|
aeType: WM_AETYPE,
|
|
bstrAddress: ?BSTR,
|
|
bstrMask: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMAddressAccess.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAddressAccess2_GetAccessEntryEx(self: *const T, aeType: WM_AETYPE, dwEntryNum: u32, pbstrAddress: ?*?BSTR, pbstrMask: ?*?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAddressAccess2.VTable, @ptrCast(self.vtable)).GetAccessEntryEx(@as(*const IWMAddressAccess2, @ptrCast(self)), aeType, dwEntryNum, pbstrAddress, pbstrMask);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAddressAccess2_AddAccessEntryEx(self: *const T, aeType: WM_AETYPE, bstrAddress: ?BSTR, bstrMask: ?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAddressAccess2.VTable, @ptrCast(self.vtable)).AddAccessEntryEx(@as(*const IWMAddressAccess2, @ptrCast(self)), aeType, bstrAddress, bstrMask);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMImageInfo_Value = Guid.initString("9f0aa3b6-7267-4d89-88f2-ba915aa5c4c6");
|
|
pub const IID_IWMImageInfo = &IID_IWMImageInfo_Value;
|
|
pub const IWMImageInfo = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetImageCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMImageInfo,
|
|
pcImages: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMImageInfo,
|
|
pcImages: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetImage: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMImageInfo,
|
|
wIndex: u32,
|
|
pcchMIMEType: ?*u16,
|
|
pwszMIMEType: [*:0]u16,
|
|
pcchDescription: ?*u16,
|
|
pwszDescription: [*:0]u16,
|
|
pImageType: ?*u16,
|
|
pcbImageData: ?*u32,
|
|
pbImageData: [*:0]u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMImageInfo,
|
|
wIndex: u32,
|
|
pcchMIMEType: ?*u16,
|
|
pwszMIMEType: [*:0]u16,
|
|
pcchDescription: ?*u16,
|
|
pwszDescription: [*:0]u16,
|
|
pImageType: ?*u16,
|
|
pcbImageData: ?*u32,
|
|
pbImageData: [*:0]u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMImageInfo_GetImageCount(self: *const T, pcImages: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMImageInfo.VTable, @ptrCast(self.vtable)).GetImageCount(@as(*const IWMImageInfo, @ptrCast(self)), pcImages);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMImageInfo_GetImage(self: *const T, wIndex: u32, pcchMIMEType: ?*u16, pwszMIMEType: [*:0]u16, pcchDescription: ?*u16, pwszDescription: [*:0]u16, pImageType: ?*u16, pcbImageData: ?*u32, pbImageData: [*:0]u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMImageInfo.VTable, @ptrCast(self.vtable)).GetImage(@as(*const IWMImageInfo, @ptrCast(self)), wIndex, pcchMIMEType, pwszMIMEType, pcchDescription, pwszDescription, pImageType, pcbImageData, pbImageData);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMLicenseRevocationAgent_Value = Guid.initString("6967f2c9-4e26-4b57-8894-799880f7ac7b");
|
|
pub const IID_IWMLicenseRevocationAgent = &IID_IWMLicenseRevocationAgent_Value;
|
|
pub const IWMLicenseRevocationAgent = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetLRBChallenge: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLicenseRevocationAgent,
|
|
pMachineID: ?*u8,
|
|
dwMachineIDLength: u32,
|
|
pChallenge: ?*u8,
|
|
dwChallengeLength: u32,
|
|
pChallengeOutput: ?*u8,
|
|
pdwChallengeOutputLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLicenseRevocationAgent,
|
|
pMachineID: ?*u8,
|
|
dwMachineIDLength: u32,
|
|
pChallenge: ?*u8,
|
|
dwChallengeLength: u32,
|
|
pChallengeOutput: ?*u8,
|
|
pdwChallengeOutputLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ProcessLRB: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMLicenseRevocationAgent,
|
|
pSignedLRB: ?*u8,
|
|
dwSignedLRBLength: u32,
|
|
pSignedACK: ?*u8,
|
|
pdwSignedACKLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMLicenseRevocationAgent,
|
|
pSignedLRB: ?*u8,
|
|
dwSignedLRBLength: u32,
|
|
pSignedACK: ?*u8,
|
|
pdwSignedACKLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLicenseRevocationAgent_GetLRBChallenge(self: *const T, pMachineID: ?*u8, dwMachineIDLength: u32, pChallenge: ?*u8, dwChallengeLength: u32, pChallengeOutput: ?*u8, pdwChallengeOutputLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLicenseRevocationAgent.VTable, @ptrCast(self.vtable)).GetLRBChallenge(@as(*const IWMLicenseRevocationAgent, @ptrCast(self)), pMachineID, dwMachineIDLength, pChallenge, dwChallengeLength, pChallengeOutput, pdwChallengeOutputLength);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMLicenseRevocationAgent_ProcessLRB(self: *const T, pSignedLRB: ?*u8, dwSignedLRBLength: u32, pSignedACK: ?*u8, pdwSignedACKLength: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMLicenseRevocationAgent.VTable, @ptrCast(self.vtable)).ProcessLRB(@as(*const IWMLicenseRevocationAgent, @ptrCast(self)), pSignedLRB, dwSignedLRBLength, pSignedACK, pdwSignedACKLength);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMAuthorizer_Value = Guid.initString("d9b67d36-a9ad-4eb4-baef-db284ef5504c");
|
|
pub const IID_IWMAuthorizer = &IID_IWMAuthorizer_Value;
|
|
pub const IWMAuthorizer = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetCertCount: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAuthorizer,
|
|
pcCerts: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAuthorizer,
|
|
pcCerts: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCert: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAuthorizer,
|
|
dwIndex: u32,
|
|
ppbCertData: ?*?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAuthorizer,
|
|
dwIndex: u32,
|
|
ppbCertData: ?*?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetSharedData: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMAuthorizer,
|
|
dwCertIndex: u32,
|
|
pbSharedData: ?*const u8,
|
|
pbCert: ?*u8,
|
|
ppbSharedData: ?*?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMAuthorizer,
|
|
dwCertIndex: u32,
|
|
pbSharedData: ?*const u8,
|
|
pbCert: ?*u8,
|
|
ppbSharedData: ?*?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAuthorizer_GetCertCount(self: *const T, pcCerts: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAuthorizer.VTable, @ptrCast(self.vtable)).GetCertCount(@as(*const IWMAuthorizer, @ptrCast(self)), pcCerts);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAuthorizer_GetCert(self: *const T, dwIndex: u32, ppbCertData: ?*?*u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAuthorizer.VTable, @ptrCast(self.vtable)).GetCert(@as(*const IWMAuthorizer, @ptrCast(self)), dwIndex, ppbCertData);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMAuthorizer_GetSharedData(self: *const T, dwCertIndex: u32, pbSharedData: ?*const u8, pbCert: ?*u8, ppbSharedData: ?*?*u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMAuthorizer.VTable, @ptrCast(self.vtable)).GetSharedData(@as(*const IWMAuthorizer, @ptrCast(self)), dwCertIndex, pbSharedData, pbCert, ppbSharedData);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMSecureChannel_Value = Guid.initString("2720598a-d0f2-4189-bd10-91c46ef0936f");
|
|
pub const IID_IWMSecureChannel = &IID_IWMSecureChannel_Value;
|
|
pub const IWMSecureChannel = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMAuthorizer.VTable,
|
|
WMSC_AddCertificate: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
pCert: ?*IWMAuthorizer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
pCert: ?*IWMAuthorizer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_AddSignature: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
pbCertSig: ?*u8,
|
|
cbCertSig: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
pbCertSig: ?*u8,
|
|
cbCertSig: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_Connect: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
pOtherSide: ?*IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
pOtherSide: ?*IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_IsConnected: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
pfIsConnected: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
pfIsConnected: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_Disconnect: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_GetValidCertificate: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
ppbCertificate: ?*?*u8,
|
|
pdwSignature: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
ppbCertificate: ?*?*u8,
|
|
pdwSignature: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_Encrypt: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
pbData: ?*u8,
|
|
cbData: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
pbData: ?*u8,
|
|
cbData: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_Decrypt: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
pbData: ?*u8,
|
|
cbData: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
pbData: ?*u8,
|
|
cbData: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_Lock: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_Unlock: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
WMSC_SetSharedData: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSecureChannel,
|
|
dwCertIndex: u32,
|
|
pbSharedData: ?*const u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSecureChannel,
|
|
dwCertIndex: u32,
|
|
pbSharedData: ?*const u8,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMAuthorizer.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_AddCertificate(self: *const T, pCert: ?*IWMAuthorizer) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_AddCertificate(@as(*const IWMSecureChannel, @ptrCast(self)), pCert);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_AddSignature(self: *const T, pbCertSig: ?*u8, cbCertSig: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_AddSignature(@as(*const IWMSecureChannel, @ptrCast(self)), pbCertSig, cbCertSig);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_Connect(self: *const T, pOtherSide: ?*IWMSecureChannel) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_Connect(@as(*const IWMSecureChannel, @ptrCast(self)), pOtherSide);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_IsConnected(self: *const T, pfIsConnected: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_IsConnected(@as(*const IWMSecureChannel, @ptrCast(self)), pfIsConnected);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_Disconnect(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_Disconnect(@as(*const IWMSecureChannel, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_GetValidCertificate(self: *const T, ppbCertificate: ?*?*u8, pdwSignature: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_GetValidCertificate(@as(*const IWMSecureChannel, @ptrCast(self)), ppbCertificate, pdwSignature);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_Encrypt(self: *const T, pbData: ?*u8, cbData: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_Encrypt(@as(*const IWMSecureChannel, @ptrCast(self)), pbData, cbData);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_Decrypt(self: *const T, pbData: ?*u8, cbData: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_Decrypt(@as(*const IWMSecureChannel, @ptrCast(self)), pbData, cbData);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_Lock(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_Lock(@as(*const IWMSecureChannel, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_Unlock(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_Unlock(@as(*const IWMSecureChannel, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSecureChannel_WMSC_SetSharedData(self: *const T, dwCertIndex: u32, pbSharedData: ?*const u8) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSecureChannel.VTable, @ptrCast(self.vtable)).WMSC_SetSharedData(@as(*const IWMSecureChannel, @ptrCast(self)), dwCertIndex, pbSharedData);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
const IID_IWMGetSecureChannel_Value = Guid.initString("94bc0598-c3d2-11d3-bedf-00c04f612986");
|
|
pub const IID_IWMGetSecureChannel = &IID_IWMGetSecureChannel_Value;
|
|
pub const IWMGetSecureChannel = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
GetPeerSecureChannelInterface: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMGetSecureChannel,
|
|
ppPeer: ?*?*IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMGetSecureChannel,
|
|
ppPeer: ?*?*IWMSecureChannel,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMGetSecureChannel_GetPeerSecureChannelInterface(self: *const T, ppPeer: ?*?*IWMSecureChannel) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMGetSecureChannel.VTable, @ptrCast(self.vtable)).GetPeerSecureChannelInterface(@as(*const IWMGetSecureChannel, @ptrCast(self)), ppPeer);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_INSNetSourceCreator_Value = Guid.initString("0c0e4080-9081-11d2-beec-0060082f2054");
|
|
pub const IID_INSNetSourceCreator = &IID_INSNetSourceCreator_Value;
|
|
pub const INSNetSourceCreator = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Initialize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
CreateNetSource: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
pszStreamName: ?[*:0]const u16,
|
|
pMonitor: ?*IUnknown,
|
|
pData: ?*u8,
|
|
pUserContext: ?*IUnknown,
|
|
pCallback: ?*IUnknown,
|
|
qwContext: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
pszStreamName: ?[*:0]const u16,
|
|
pMonitor: ?*IUnknown,
|
|
pData: ?*u8,
|
|
pUserContext: ?*IUnknown,
|
|
pCallback: ?*IUnknown,
|
|
qwContext: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNetSourceProperties: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
pszStreamName: ?[*:0]const u16,
|
|
ppPropertiesNode: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
pszStreamName: ?[*:0]const u16,
|
|
ppPropertiesNode: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNetSourceSharedNamespace: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
ppSharedNamespace: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
ppSharedNamespace: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNetSourceAdminInterface: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
pszStreamName: ?[*:0]const u16,
|
|
pVal: ?*VARIANT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
pszStreamName: ?[*:0]const u16,
|
|
pVal: ?*VARIANT,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNumProtocolsSupported: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
pcProtocols: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
pcProtocols: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetProtocolName: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
dwProtocolNum: u32,
|
|
pwszProtocolName: ?PWSTR,
|
|
pcchProtocolName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
dwProtocolNum: u32,
|
|
pwszProtocolName: ?PWSTR,
|
|
pcchProtocolName: ?*u16,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
Shutdown: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const INSNetSourceCreator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const INSNetSourceCreator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_Initialize(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).Initialize(@as(*const INSNetSourceCreator, @ptrCast(self)));
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_CreateNetSource(self: *const T, pszStreamName: ?[*:0]const u16, pMonitor: ?*IUnknown, pData: ?*u8, pUserContext: ?*IUnknown, pCallback: ?*IUnknown, qwContext: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).CreateNetSource(@as(*const INSNetSourceCreator, @ptrCast(self)), pszStreamName, pMonitor, pData, pUserContext, pCallback, qwContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_GetNetSourceProperties(self: *const T, pszStreamName: ?[*:0]const u16, ppPropertiesNode: ?*?*IUnknown) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).GetNetSourceProperties(@as(*const INSNetSourceCreator, @ptrCast(self)), pszStreamName, ppPropertiesNode);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_GetNetSourceSharedNamespace(self: *const T, ppSharedNamespace: ?*?*IUnknown) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).GetNetSourceSharedNamespace(@as(*const INSNetSourceCreator, @ptrCast(self)), ppSharedNamespace);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_GetNetSourceAdminInterface(self: *const T, pszStreamName: ?[*:0]const u16, pVal: ?*VARIANT) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).GetNetSourceAdminInterface(@as(*const INSNetSourceCreator, @ptrCast(self)), pszStreamName, pVal);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_GetNumProtocolsSupported(self: *const T, pcProtocols: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).GetNumProtocolsSupported(@as(*const INSNetSourceCreator, @ptrCast(self)), pcProtocols);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_GetProtocolName(self: *const T, dwProtocolNum: u32, pwszProtocolName: ?PWSTR, pcchProtocolName: ?*u16) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).GetProtocolName(@as(*const INSNetSourceCreator, @ptrCast(self)), dwProtocolNum, pwszProtocolName, pcchProtocolName);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn INSNetSourceCreator_Shutdown(self: *const T) callconv(.Inline) HRESULT {
|
|
return @as(*const INSNetSourceCreator.VTable, @ptrCast(self.vtable)).Shutdown(@as(*const INSNetSourceCreator, @ptrCast(self)));
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMPlayerTimestampHook_Value = Guid.initString("28580dda-d98e-48d0-b7ae-69e473a02825");
|
|
pub const IID_IWMPlayerTimestampHook = &IID_IWMPlayerTimestampHook_Value;
|
|
pub const IWMPlayerTimestampHook = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
MapTimestamp: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMPlayerTimestampHook,
|
|
rtIn: i64,
|
|
prtOut: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMPlayerTimestampHook,
|
|
rtIn: i64,
|
|
prtOut: ?*i64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMPlayerTimestampHook_MapTimestamp(self: *const T, rtIn: i64, prtOut: ?*i64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMPlayerTimestampHook.VTable, @ptrCast(self.vtable)).MapTimestamp(@as(*const IWMPlayerTimestampHook, @ptrCast(self)), rtIn, prtOut);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMCodecAMVideoAccelerator_Value = Guid.initString("d98ee251-34e0-4a2d-9312-9b4c788d9fa1");
|
|
pub const IID_IWMCodecAMVideoAccelerator = &IID_IWMCodecAMVideoAccelerator_Value;
|
|
pub const IWMCodecAMVideoAccelerator = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetAcceleratorInterface: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecAMVideoAccelerator,
|
|
pIAMVA: ?*IAMVideoAccelerator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecAMVideoAccelerator,
|
|
pIAMVA: ?*IAMVideoAccelerator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
NegotiateConnection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecAMVideoAccelerator,
|
|
pMediaType: ?*AM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecAMVideoAccelerator,
|
|
pMediaType: ?*AM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetPlayerNotify: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecAMVideoAccelerator,
|
|
pHook: ?*IWMPlayerTimestampHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecAMVideoAccelerator,
|
|
pHook: ?*IWMPlayerTimestampHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecAMVideoAccelerator_SetAcceleratorInterface(self: *const T, pIAMVA: ?*IAMVideoAccelerator) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecAMVideoAccelerator.VTable, @ptrCast(self.vtable)).SetAcceleratorInterface(@as(*const IWMCodecAMVideoAccelerator, @ptrCast(self)), pIAMVA);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecAMVideoAccelerator_NegotiateConnection(self: *const T, pMediaType: ?*AM_MEDIA_TYPE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecAMVideoAccelerator.VTable, @ptrCast(self.vtable)).NegotiateConnection(@as(*const IWMCodecAMVideoAccelerator, @ptrCast(self)), pMediaType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecAMVideoAccelerator_SetPlayerNotify(self: *const T, pHook: ?*IWMPlayerTimestampHook) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecAMVideoAccelerator.VTable, @ptrCast(self.vtable)).SetPlayerNotify(@as(*const IWMCodecAMVideoAccelerator, @ptrCast(self)), pHook);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMCodecVideoAccelerator_Value = Guid.initString("990641b0-739f-4e94-a808-9888da8f75af");
|
|
pub const IID_IWMCodecVideoAccelerator = &IID_IWMCodecVideoAccelerator_Value;
|
|
pub const IWMCodecVideoAccelerator = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
NegotiateConnection: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecVideoAccelerator,
|
|
pIAMVA: ?*IAMVideoAccelerator,
|
|
pMediaType: ?*AM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecVideoAccelerator,
|
|
pIAMVA: ?*IAMVideoAccelerator,
|
|
pMediaType: ?*AM_MEDIA_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetPlayerNotify: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMCodecVideoAccelerator,
|
|
pHook: ?*IWMPlayerTimestampHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMCodecVideoAccelerator,
|
|
pHook: ?*IWMPlayerTimestampHook,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecVideoAccelerator_NegotiateConnection(self: *const T, pIAMVA: ?*IAMVideoAccelerator, pMediaType: ?*AM_MEDIA_TYPE) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecVideoAccelerator.VTable, @ptrCast(self.vtable)).NegotiateConnection(@as(*const IWMCodecVideoAccelerator, @ptrCast(self)), pIAMVA, pMediaType);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMCodecVideoAccelerator_SetPlayerNotify(self: *const T, pHook: ?*IWMPlayerTimestampHook) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMCodecVideoAccelerator.VTable, @ptrCast(self.vtable)).SetPlayerNotify(@as(*const IWMCodecVideoAccelerator, @ptrCast(self)), pHook);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
pub const NETSOURCE_URLCREDPOLICY_SETTINGS = enum(i32) {
|
|
SILENTLOGONOK = 0,
|
|
MUSTPROMPTUSER = 1,
|
|
ANONYMOUSONLY = 2,
|
|
};
|
|
pub const NETSOURCE_URLCREDPOLICY_SETTING_SILENTLOGONOK = NETSOURCE_URLCREDPOLICY_SETTINGS.SILENTLOGONOK;
|
|
pub const NETSOURCE_URLCREDPOLICY_SETTING_MUSTPROMPTUSER = NETSOURCE_URLCREDPOLICY_SETTINGS.MUSTPROMPTUSER;
|
|
pub const NETSOURCE_URLCREDPOLICY_SETTING_ANONYMOUSONLY = NETSOURCE_URLCREDPOLICY_SETTINGS.ANONYMOUSONLY;
|
|
|
|
const IID_IWMSInternalAdminNetSource_Value = Guid.initString("8bb23e5f-d127-4afb-8d02-ae5b66d54c78");
|
|
pub const IID_IWMSInternalAdminNetSource = &IID_IWMSInternalAdminNetSource_Value;
|
|
pub const IWMSInternalAdminNetSource = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
Initialize: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
pSharedNamespace: ?*IUnknown,
|
|
pNamespaceNode: ?*IUnknown,
|
|
pNetSourceCreator: ?*INSNetSourceCreator,
|
|
fEmbeddedInServer: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
pSharedNamespace: ?*IUnknown,
|
|
pNamespaceNode: ?*IUnknown,
|
|
pNetSourceCreator: ?*INSNetSourceCreator,
|
|
fEmbeddedInServer: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetNetSourceCreator: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
ppNetSourceCreator: ?*?*INSNetSourceCreator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
ppNetSourceCreator: ?*?*INSNetSourceCreator,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetCredentials: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrRealm: ?BSTR,
|
|
bstrName: ?BSTR,
|
|
bstrPassword: ?BSTR,
|
|
fPersist: BOOL,
|
|
fConfirmedGood: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrRealm: ?BSTR,
|
|
bstrName: ?BSTR,
|
|
bstrPassword: ?BSTR,
|
|
fPersist: BOOL,
|
|
fConfirmedGood: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCredentials: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrRealm: ?BSTR,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrPassword: ?*?BSTR,
|
|
pfConfirmedGood: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrRealm: ?BSTR,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrPassword: ?*?BSTR,
|
|
pfConfirmedGood: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
DeleteCredentials: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrRealm: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrRealm: ?BSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCredentialFlags: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
lpdwFlags: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
lpdwFlags: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetCredentialFlags: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
dwFlags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
FindProxyForURL: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrProtocol: ?BSTR,
|
|
bstrHost: ?BSTR,
|
|
pfProxyEnabled: ?*BOOL,
|
|
pbstrProxyServer: ?*?BSTR,
|
|
pdwProxyPort: ?*u32,
|
|
pdwProxyContext: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
bstrProtocol: ?BSTR,
|
|
bstrHost: ?BSTR,
|
|
pfProxyEnabled: ?*BOOL,
|
|
pbstrProxyServer: ?*?BSTR,
|
|
pdwProxyPort: ?*u32,
|
|
pdwProxyContext: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RegisterProxyFailure: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
hrParam: HRESULT,
|
|
dwProxyContext: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
hrParam: HRESULT,
|
|
dwProxyContext: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ShutdownProxyContext: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
dwProxyContext: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
dwProxyContext: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsUsingIE: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
dwProxyContext: u32,
|
|
pfIsUsingIE: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource,
|
|
dwProxyContext: u32,
|
|
pfIsUsingIE: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_Initialize(self: *const T, pSharedNamespace: ?*IUnknown, pNamespaceNode: ?*IUnknown, pNetSourceCreator: ?*INSNetSourceCreator, fEmbeddedInServer: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).Initialize(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), pSharedNamespace, pNamespaceNode, pNetSourceCreator, fEmbeddedInServer);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_GetNetSourceCreator(self: *const T, ppNetSourceCreator: ?*?*INSNetSourceCreator) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).GetNetSourceCreator(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), ppNetSourceCreator);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_SetCredentials(self: *const T, bstrRealm: ?BSTR, bstrName: ?BSTR, bstrPassword: ?BSTR, fPersist: BOOL, fConfirmedGood: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).SetCredentials(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), bstrRealm, bstrName, bstrPassword, fPersist, fConfirmedGood);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_GetCredentials(self: *const T, bstrRealm: ?BSTR, pbstrName: ?*?BSTR, pbstrPassword: ?*?BSTR, pfConfirmedGood: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).GetCredentials(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), bstrRealm, pbstrName, pbstrPassword, pfConfirmedGood);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_DeleteCredentials(self: *const T, bstrRealm: ?BSTR) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).DeleteCredentials(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), bstrRealm);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_GetCredentialFlags(self: *const T, lpdwFlags: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).GetCredentialFlags(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), lpdwFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_SetCredentialFlags(self: *const T, dwFlags: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).SetCredentialFlags(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), dwFlags);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_FindProxyForURL(self: *const T, bstrProtocol: ?BSTR, bstrHost: ?BSTR, pfProxyEnabled: ?*BOOL, pbstrProxyServer: ?*?BSTR, pdwProxyPort: ?*u32, pdwProxyContext: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).FindProxyForURL(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), bstrProtocol, bstrHost, pfProxyEnabled, pbstrProxyServer, pdwProxyPort, pdwProxyContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_RegisterProxyFailure(self: *const T, hrParam: HRESULT, dwProxyContext: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).RegisterProxyFailure(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), hrParam, dwProxyContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_ShutdownProxyContext(self: *const T, dwProxyContext: u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).ShutdownProxyContext(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), dwProxyContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource_IsUsingIE(self: *const T, dwProxyContext: u32, pfIsUsingIE: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource.VTable, @ptrCast(self.vtable)).IsUsingIE(@as(*const IWMSInternalAdminNetSource, @ptrCast(self)), dwProxyContext, pfIsUsingIE);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMSInternalAdminNetSource2_Value = Guid.initString("e74d58c3-cf77-4b51-af17-744687c43eae");
|
|
pub const IID_IWMSInternalAdminNetSource2 = &IID_IWMSInternalAdminNetSource2_Value;
|
|
pub const IWMSInternalAdminNetSource2 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IUnknown.VTable,
|
|
SetCredentialsEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
bstrName: ?BSTR,
|
|
bstrPassword: ?BSTR,
|
|
fPersist: BOOL,
|
|
fConfirmedGood: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
bstrName: ?BSTR,
|
|
bstrPassword: ?BSTR,
|
|
fPersist: BOOL,
|
|
fConfirmedGood: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCredentialsEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
pdwUrlPolicy: ?*NETSOURCE_URLCREDPOLICY_SETTINGS,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrPassword: ?*?BSTR,
|
|
pfConfirmedGood: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
pdwUrlPolicy: ?*NETSOURCE_URLCREDPOLICY_SETTINGS,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrPassword: ?*?BSTR,
|
|
pfConfirmedGood: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
DeleteCredentialsEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
FindProxyForURLEx: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrProtocol: ?BSTR,
|
|
bstrHost: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
pfProxyEnabled: ?*BOOL,
|
|
pbstrProxyServer: ?*?BSTR,
|
|
pdwProxyPort: ?*u32,
|
|
pdwProxyContext: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource2,
|
|
bstrProtocol: ?BSTR,
|
|
bstrHost: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
pfProxyEnabled: ?*BOOL,
|
|
pbstrProxyServer: ?*?BSTR,
|
|
pdwProxyPort: ?*u32,
|
|
pdwProxyContext: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IUnknown.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource2_SetCredentialsEx(self: *const T, bstrRealm: ?BSTR, bstrUrl: ?BSTR, fProxy: BOOL, bstrName: ?BSTR, bstrPassword: ?BSTR, fPersist: BOOL, fConfirmedGood: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource2.VTable, @ptrCast(self.vtable)).SetCredentialsEx(@as(*const IWMSInternalAdminNetSource2, @ptrCast(self)), bstrRealm, bstrUrl, fProxy, bstrName, bstrPassword, fPersist, fConfirmedGood);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource2_GetCredentialsEx(self: *const T, bstrRealm: ?BSTR, bstrUrl: ?BSTR, fProxy: BOOL, pdwUrlPolicy: ?*NETSOURCE_URLCREDPOLICY_SETTINGS, pbstrName: ?*?BSTR, pbstrPassword: ?*?BSTR, pfConfirmedGood: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource2.VTable, @ptrCast(self.vtable)).GetCredentialsEx(@as(*const IWMSInternalAdminNetSource2, @ptrCast(self)), bstrRealm, bstrUrl, fProxy, pdwUrlPolicy, pbstrName, pbstrPassword, pfConfirmedGood);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource2_DeleteCredentialsEx(self: *const T, bstrRealm: ?BSTR, bstrUrl: ?BSTR, fProxy: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource2.VTable, @ptrCast(self.vtable)).DeleteCredentialsEx(@as(*const IWMSInternalAdminNetSource2, @ptrCast(self)), bstrRealm, bstrUrl, fProxy);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource2_FindProxyForURLEx(self: *const T, bstrProtocol: ?BSTR, bstrHost: ?BSTR, bstrUrl: ?BSTR, pfProxyEnabled: ?*BOOL, pbstrProxyServer: ?*?BSTR, pdwProxyPort: ?*u32, pdwProxyContext: ?*u32) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource2.VTable, @ptrCast(self.vtable)).FindProxyForURLEx(@as(*const IWMSInternalAdminNetSource2, @ptrCast(self)), bstrProtocol, bstrHost, bstrUrl, pfProxyEnabled, pbstrProxyServer, pdwProxyPort, pdwProxyContext);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
const IID_IWMSInternalAdminNetSource3_Value = Guid.initString("6b63d08e-4590-44af-9eb3-57ff1e73bf80");
|
|
pub const IID_IWMSInternalAdminNetSource3 = &IID_IWMSInternalAdminNetSource3_Value;
|
|
pub const IWMSInternalAdminNetSource3 = extern struct {
|
|
pub const VTable = extern struct {
|
|
base: IWMSInternalAdminNetSource2.VTable,
|
|
GetNetSourceCreator2: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
ppNetSourceCreator: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
ppNetSourceCreator: ?*?*IUnknown,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
FindProxyForURLEx2: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
bstrProtocol: ?BSTR,
|
|
bstrHost: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
pfProxyEnabled: ?*BOOL,
|
|
pbstrProxyServer: ?*?BSTR,
|
|
pdwProxyPort: ?*u32,
|
|
pqwProxyContext: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
bstrProtocol: ?BSTR,
|
|
bstrHost: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
pfProxyEnabled: ?*BOOL,
|
|
pbstrProxyServer: ?*?BSTR,
|
|
pdwProxyPort: ?*u32,
|
|
pqwProxyContext: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
RegisterProxyFailure2: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
hrParam: HRESULT,
|
|
qwProxyContext: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
hrParam: HRESULT,
|
|
qwProxyContext: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
ShutdownProxyContext2: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
qwProxyContext: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
qwProxyContext: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
IsUsingIE2: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
qwProxyContext: u64,
|
|
pfIsUsingIE: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
qwProxyContext: u64,
|
|
pfIsUsingIE: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
SetCredentialsEx2: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
bstrName: ?BSTR,
|
|
bstrPassword: ?BSTR,
|
|
fPersist: BOOL,
|
|
fConfirmedGood: BOOL,
|
|
fClearTextAuthentication: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
bstrName: ?BSTR,
|
|
bstrPassword: ?BSTR,
|
|
fPersist: BOOL,
|
|
fConfirmedGood: BOOL,
|
|
fClearTextAuthentication: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
GetCredentialsEx2: switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
fClearTextAuthentication: BOOL,
|
|
pdwUrlPolicy: ?*NETSOURCE_URLCREDPOLICY_SETTINGS,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrPassword: ?*?BSTR,
|
|
pfConfirmedGood: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
else => *const fn(
|
|
self: *const IWMSInternalAdminNetSource3,
|
|
bstrRealm: ?BSTR,
|
|
bstrUrl: ?BSTR,
|
|
fProxy: BOOL,
|
|
fClearTextAuthentication: BOOL,
|
|
pdwUrlPolicy: ?*NETSOURCE_URLCREDPOLICY_SETTINGS,
|
|
pbstrName: ?*?BSTR,
|
|
pbstrPassword: ?*?BSTR,
|
|
pfConfirmedGood: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT,
|
|
},
|
|
};
|
|
vtable: *const VTable,
|
|
pub fn MethodMixin(comptime T: type) type { return struct {
|
|
pub usingnamespace IWMSInternalAdminNetSource2.MethodMixin(T);
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource3_GetNetSourceCreator2(self: *const T, ppNetSourceCreator: ?*?*IUnknown) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource3.VTable, @ptrCast(self.vtable)).GetNetSourceCreator2(@as(*const IWMSInternalAdminNetSource3, @ptrCast(self)), ppNetSourceCreator);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource3_FindProxyForURLEx2(self: *const T, bstrProtocol: ?BSTR, bstrHost: ?BSTR, bstrUrl: ?BSTR, pfProxyEnabled: ?*BOOL, pbstrProxyServer: ?*?BSTR, pdwProxyPort: ?*u32, pqwProxyContext: ?*u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource3.VTable, @ptrCast(self.vtable)).FindProxyForURLEx2(@as(*const IWMSInternalAdminNetSource3, @ptrCast(self)), bstrProtocol, bstrHost, bstrUrl, pfProxyEnabled, pbstrProxyServer, pdwProxyPort, pqwProxyContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource3_RegisterProxyFailure2(self: *const T, hrParam: HRESULT, qwProxyContext: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource3.VTable, @ptrCast(self.vtable)).RegisterProxyFailure2(@as(*const IWMSInternalAdminNetSource3, @ptrCast(self)), hrParam, qwProxyContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource3_ShutdownProxyContext2(self: *const T, qwProxyContext: u64) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource3.VTable, @ptrCast(self.vtable)).ShutdownProxyContext2(@as(*const IWMSInternalAdminNetSource3, @ptrCast(self)), qwProxyContext);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource3_IsUsingIE2(self: *const T, qwProxyContext: u64, pfIsUsingIE: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource3.VTable, @ptrCast(self.vtable)).IsUsingIE2(@as(*const IWMSInternalAdminNetSource3, @ptrCast(self)), qwProxyContext, pfIsUsingIE);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource3_SetCredentialsEx2(self: *const T, bstrRealm: ?BSTR, bstrUrl: ?BSTR, fProxy: BOOL, bstrName: ?BSTR, bstrPassword: ?BSTR, fPersist: BOOL, fConfirmedGood: BOOL, fClearTextAuthentication: BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource3.VTable, @ptrCast(self.vtable)).SetCredentialsEx2(@as(*const IWMSInternalAdminNetSource3, @ptrCast(self)), bstrRealm, bstrUrl, fProxy, bstrName, bstrPassword, fPersist, fConfirmedGood, fClearTextAuthentication);
|
|
}
|
|
// NOTE: method is namespaced with interface name to avoid conflicts for now
|
|
pub fn IWMSInternalAdminNetSource3_GetCredentialsEx2(self: *const T, bstrRealm: ?BSTR, bstrUrl: ?BSTR, fProxy: BOOL, fClearTextAuthentication: BOOL, pdwUrlPolicy: ?*NETSOURCE_URLCREDPOLICY_SETTINGS, pbstrName: ?*?BSTR, pbstrPassword: ?*?BSTR, pfConfirmedGood: ?*BOOL) callconv(.Inline) HRESULT {
|
|
return @as(*const IWMSInternalAdminNetSource3.VTable, @ptrCast(self.vtable)).GetCredentialsEx2(@as(*const IWMSInternalAdminNetSource3, @ptrCast(self)), bstrRealm, bstrUrl, fProxy, fClearTextAuthentication, pdwUrlPolicy, pbstrName, pbstrPassword, pfConfirmedGood);
|
|
}
|
|
};}
|
|
pub usingnamespace MethodMixin(@This());
|
|
};
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Functions (11)
|
|
//--------------------------------------------------------------------------------
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMIsContentProtected(
|
|
pwszFileName: ?[*:0]const u16,
|
|
pfIsProtected: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateWriter(
|
|
pUnkCert: ?*IUnknown,
|
|
ppWriter: ?*?*IWMWriter,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateReader(
|
|
pUnkCert: ?*IUnknown,
|
|
dwRights: u32,
|
|
ppReader: ?*?*IWMReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateSyncReader(
|
|
pUnkCert: ?*IUnknown,
|
|
dwRights: u32,
|
|
ppSyncReader: ?*?*IWMSyncReader,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateEditor(
|
|
ppEditor: ?*?*IWMMetadataEditor,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateIndexer(
|
|
ppIndexer: ?*?*IWMIndexer,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateBackupRestorer(
|
|
pCallback: ?*IUnknown,
|
|
ppBackup: ?*?*IWMLicenseBackup,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateProfileManager(
|
|
ppProfileManager: ?*?*IWMProfileManager,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateWriterFileSink(
|
|
ppSink: ?*?*IWMWriterFileSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateWriterNetworkSink(
|
|
ppSink: ?*?*IWMWriterNetworkSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "wmvcore" fn WMCreateWriterPushSink(
|
|
ppSink: ?*?*IWMWriterPushSink,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Unicode Aliases (0)
|
|
//--------------------------------------------------------------------------------
|
|
const thismodule = @This();
|
|
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
|
|
.ansi => struct {
|
|
},
|
|
.wide => struct {
|
|
},
|
|
.unspecified => if (@import("builtin").is_test) struct {
|
|
} else struct {
|
|
},
|
|
};
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Imports (14)
|
|
//--------------------------------------------------------------------------------
|
|
const Guid = @import("../zig.zig").Guid;
|
|
const AM_MEDIA_TYPE = @import("../media/direct_show.zig").AM_MEDIA_TYPE;
|
|
const BITMAPINFOHEADER = @import("../graphics/gdi.zig").BITMAPINFOHEADER;
|
|
const BOOL = @import("../foundation.zig").BOOL;
|
|
const BSTR = @import("../foundation.zig").BSTR;
|
|
const HRESULT = @import("../foundation.zig").HRESULT;
|
|
const IAMVideoAccelerator = @import("../media/direct_show.zig").IAMVideoAccelerator;
|
|
const IPin = @import("../media/direct_show.zig").IPin;
|
|
const IStream = @import("../system/com.zig").IStream;
|
|
const IUnknown = @import("../system/com.zig").IUnknown;
|
|
const LPARAM = @import("../foundation.zig").LPARAM;
|
|
const PWSTR = @import("../foundation.zig").PWSTR;
|
|
const RECT = @import("../foundation.zig").RECT;
|
|
const VARIANT = @import("../system/com.zig").VARIANT;
|
|
|
|
test {
|
|
@setEvalBranchQuota(
|
|
comptime @import("std").meta.declarations(@This()).len * 3
|
|
);
|
|
|
|
// reference all the pub declarations
|
|
if (!@import("builtin").is_test) return;
|
|
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
|
|
_ = @field(@This(), decl.name);
|
|
}
|
|
}
|