The IMSAdminBase::GetDataPaths determines which keys in the metabase contain a specified data identifier. This method retrieves the paths of all keys in the subtree relative to a specified starting key that actually contains the identifier. You can use this method to determine the scope of inherited data values, because only keys that contain the identifier itself are returned. Paths to keys that contain only inherited data for the specified identifier will not be returned.
Specifies a handle to the metabase. This can either be METADATA_MASTER_ROOT_HANDLE or a handle returned by a previous call to IMSAdminBase::OpenKey.
Points to a string that contains the path of the key to be opened, relative to hMDHandle. For example, if the handle references the /LM key, you could specify the Web services subkey using the path /W3SVC.
Specifies the identifier of the data, such as MD_ACCESS_PERM.
A DWORD that specifies the type of data to be located. This parameter can be one of the following values:
Copy or move all data, regardless of type.
Binary data in any form.
An unsigned 32-bit number.
A null-terminated string that contains unexpanded environment variables, such as %PATH%.
An array of null-terminated strings, terminated by two null characters.
A null-terminated ASCII string.
Specifies the size, in wchars, of the buffer.
Points to a buffer that receives the data. If the method call is successful, the buffer will contain a double-null terminated multsz of all paths in the subtree that contain the specified identifier. The returned paths are relative to the handle specified. If the identifier exists on the key designated by the handle and path specified, this path will be the first entry in the list.
Points to a DWORD that contains the buffer length required, in wchars. This parameter is used only if the method returns HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER).