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.

Implementors§