Shell Miscellaneous Utility Functions

This section describes those Windows Shell functions exported by Shlwapi.dll and defined in Shlwapi.h and Shlwapi.lib that do not fall under one of the other utility function categories.

In this section

Topic Description
DllInstall
Handles installation and setup for a DLL.
GetProcessReference
Retrieves the process-specific object supplied by SetProcessReference, incrementing the reference count to keep the process alive.
HashData
Hashes an array of data.
IsInternetESCEnabled
Determines whether Windows Internet Explorer is in the Enhanced Security Configuration.
IsOS
Checks for specified operating systems and operating system features.
IStream_Copy
Copies a stream to another stream.
IStream_Read
Reads bytes from a specified stream and returns a value that indicates whether all bytes were successfully read.
IStream_ReadPidl
Reads a pointer to an item identifier list (PIDL) from an IStream object into a PIDLIST_RELATIVE object.
IStream_ReadStr
Reads from a stream and writes into a string.
IStream_Reset
Moves the seek position in a specified stream to the beginning of the stream.
IStream_Size
Retrieves the size, in bytes, of a specified stream.
IStream_Write
Writes data of unknown format from a buffer to a specified stream.
IStream_WritePidl
Writes a PIDL from a PCUIDLIST_RELATIVE object into an IStream object.
IStream_WriteStr
Reads from a string and writes into a stream.
IUnknown_AtomicRelease
Releases a Component Object Model (COM) pointer and sets it to NULL.
IUnknown_GetSite
Calls the specified object's IObjectWithSite::GetSite method.
IUnknown_GetWindow
Attempts to retrieve a window handle from a COM object by querying for various interfaces that have a GetWindow method.
IUnknown_QueryService
Retrieves an interface for a service from a specified object.
IUnknown_Set
Changes the value of a COM interface pointer and releases the previous interface.
IUnknown_SetSite
Sets the specified object's site by calling its IObjectWithSite::SetSite method.
ParseURL
Performs rudimentary parsing of a URL.
QISearch
A table-driven implementation of the IUnknown::QueryInterface method.
SetProcessReference
Provides a COM object that allows hosted Shell extensions and other components to prevent their host process from closing prematurely. The host process is typically Windows Explorer or Internet Explorer, but this function can also be used by other applications.
SHAutoComplete
Instructs system edit controls to use AutoComplete to help complete URLs or file system paths.
SHCreateMemStream
Creates a memory stream using a similar process to CreateStreamOnHGlobal.
SHCreateStreamOnFileEx
Opens or creates a file and retrieves a stream to read or write to that file.
SHCreateThread
Creates a thread.
SHCreateThreadRef
Creates a per-thread reference to a COM object.
SHCreateThreadWithHandle
Creates a new thread and retrieves its handle.
SHGetThreadRef
Retrieves the per-thread object reference set by SHSetThreadRef.
SHGlobalCounterDecrement
Decrements a global counter.
SHGlobalCounterGetValue
Gets the current value of a global counter.
SHGlobalCounterIncrement
Increments a global counter.
SHIsLowMemoryMachine
SHReleaseThreadRef
Releases a thread reference before the thread procedure returns.
SHSetThreadRef
Stores a per-thread reference to a COM object. This allows the caller to control the thread's lifetime so that it can ensure that Windows won't shut down the thread before the caller is ready.