IITTrackCollection_Impl

Trait IITTrackCollection_Impl 

Source
pub trait IITTrackCollection_Impl: Sized + IDispatch_Impl {
    // Required methods
    unsafe fn Count(&self, Count: *mut i32) -> HRESULT;
    unsafe fn Item(&self, Index: i32, iTrack: *mut Option<IITTrack>) -> HRESULT;
    unsafe fn ItemByPlayOrder(
        &self,
        Index: i32,
        iTrack: *mut Option<IITTrack>,
    ) -> HRESULT;
    unsafe fn ItemByName(
        &self,
        Name: BSTR,
        iTrack: *mut Option<IITTrack>,
    ) -> HRESULT;
    unsafe fn _NewEnum(&self, iEnumerator: *mut Option<IEnumVARIANT>) -> HRESULT;
    unsafe fn ItemByPersistentID(
        &self,
        highID: i32,
        lowID: i32,
        iTrack: *mut Option<IITTrack>,
    ) -> HRESULT;
}

Required Methods§

Source

unsafe fn Count(&self, Count: *mut i32) -> HRESULT

Returns the number of tracks in the collection.

Source

unsafe fn Item(&self, Index: i32, iTrack: *mut Option<IITTrack>) -> HRESULT

Returns an IITTrack object corresponding to the given fixed index, where the index is independent of the play order (1-based).

Source

unsafe fn ItemByPlayOrder( &self, Index: i32, iTrack: *mut Option<IITTrack>, ) -> HRESULT

Returns an IITTrack object corresponding to the given index, where the index is defined by the play order of the playlist containing the track collection (1-based).

Source

unsafe fn ItemByName( &self, Name: BSTR, iTrack: *mut Option<IITTrack>, ) -> HRESULT

Returns an IITTrack object with the specified name.

Source

unsafe fn _NewEnum(&self, iEnumerator: *mut Option<IEnumVARIANT>) -> HRESULT

Returns an IEnumVARIANT object which can enumerate the collection.

Note: I have not figured out how to use it (calling .Skip(1) on the returned IEnumVARIANT causes a STATUS_ACCESS_VIOLATION).
Feel free to open an issue or a pull request to fix this.

Source

unsafe fn ItemByPersistentID( &self, highID: i32, lowID: i32, iTrack: *mut Option<IITTrack>, ) -> HRESULT

Returns an IITTrack object with the specified persistent ID.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§