From: Quinn Rafferty <ramleejo(a)yahoo.com> The implementation calls GetVolumePathNameW with drive->root. It then returns the result of that call in the path argument. https://bugs.winehq.org/show_bug.cgi?id=57539 --- dlls/scrrun/filesystem.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/scrrun/filesystem.c b/dlls/scrrun/filesystem.c index e53355267db..90fd74caf14 100644 --- a/dlls/scrrun/filesystem.c +++ b/dlls/scrrun/filesystem.c @@ -1088,8 +1088,20 @@ static HRESULT WINAPI drive_Invoke(IDrive *iface, DISPID dispIdMember, static HRESULT WINAPI drive_get_Path(IDrive *iface, BSTR *path) { struct drive *This = impl_from_IDrive(iface); - FIXME("(%p)->(%p): stub\n", This, path); - return E_NOTIMPL; + WCHAR pathW[MAX_PATH]; + BOOL ret; + + TRACE("(%p)->(%p)\n", This, path); + + if (!path){ + return E_POINTER; + } + + ret = GetVolumePathNameW(This->root, pathW, MAX_PATH); + if(ret) + *path = SysAllocString(pathW); + + return ret ? S_OK : E_FAIL; } static HRESULT WINAPI drive_get_DriveLetter(IDrive *iface, BSTR *letter) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7050