[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("000214F2-0000-0000-C000-000000000046")]
public interface IEnumIDList {
/// <summary>
/// Retrieves the specified number of item identifiers in the
/// enumeration sequence and advances the current position by
/// the number of items retrieved.
/// </summary>
[PreserveSig()]
uint Next(
uint celt, // Number of elements in the array pointed to by the rgelt parameter.
out IntPtr rgelt, // Address of an array of ITEMIDLIST pointers that receives the item
// identifiers. The implementation must allocate these item identifiers
// using the Shell's allocator (retrieved by the SHGetMalloc function).
// The calling application is responsible for freeing the item
// identifiers using the Shell's allocator.
out IntPtr pceltFetched // Address of a value that receives a count of the item identifiers
// actually returned in rgelt. The count can be smaller than the value
// specified in the celt parameter. This parameter can be NULL only
// if celt is one.
);
/// <summary>
/// Skips over the specified number of elements in the enumeration sequence.
/// </summary>
[PreserveSig()]
uint Skip(
uint celt // Number of item identifiers to skip.
);
/// <summary>
/// Returns to the beginning of the enumeration sequence.
/// </summary>
[PreserveSig()]
uint Reset();
/// <summary>
/// Creates a new item enumeration object with the same contents and state as the current one.
/// </summary>
[PreserveSig()]
uint Clone(
out IEnumIDList ppenum // Address of a pointer to the new enumeration object. The calling
// application must eventually free the new object by calling its Release member function.
);
}
<ComImport()> _
<InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
<Guid("000214F2-0000-0000-C000-000000000046")> _
Public Interface IEnumIDList
<PreserveSig()> _
Function [Next]( _
ByVal celt As Integer, _
ByRef rgelt As IntPtr, _
ByRef pceltFetched As IntPtr) As Integer
<PreserveSig()> _
Function Skip(ByVal celt As Integer) As Integer
<PreserveSig()> _
Function Reset() As Integer
<PreserveSig()> _
Function Clone(ByRef ppenum As IEnumIDList) As Integer
End Interface
None.
None.