23#define VOLUME_NAME_DOS 0x0
24#define VOLUME_NAME_GUID 0x1
25#define VOLUME_NAME_NT 0x2
26#define VOLUME_NAME_NONE 0x4
27#define FILE_NAME_NORMALIZED 0x0
28#define FILE_NAME_OPENED 0x8
34 WCHAR VolumeBuffer[4];
35 PWSTR VolumeRelativePath;
38 SIZE_T ExpectedStringLength;
47 skip(
"GetModuleFileNameW failed\n");
68 wcscpy(ExpectedString,
L"\\\\?\\");
70 ExpectedStringLength =
wcslen(ExpectedString);
140 wcscat(ExpectedString, VolumeRelativePath);
141 ExpectedStringLength =
wcslen(ExpectedString);
159 ExpectedStringLength =
wcslen(
L"\\Device\\HarddiskVolume*\\") +
160 wcslen(VolumeRelativePath);
180 ExpectedStringLength =
wcslen(VolumeRelativePath - 1);
214 SIZE_T ExpectedStringLength;
234 static WCHAR ShareName[] =
L"TestShare";
256 skip(
"Failed to create share. Error code: %ld\n",
Status);
259 wprintf(
L"Error: Access denied. Ensure you have administrative privileges.\n");
277 skip(
"Failed to open file '%S'. Error: %ld\n", RemotePathBuffer,
GetLastError());
286 ExpectedStringLength =
wcslen(ExpectedString);
318 swprintf(ExpectedString,
L"\\Device\\Mup\\localhost\\%s\\%s", ShareName,
FileName);
319 ExpectedStringLength =
wcslen(ExpectedString);
337 ExpectedStringLength =
wcslen(ExpectedString);
409 skip(
"Opening Beep device failed\n");
429 skip(
"Opening Null device failed\n");
456 skip(
"GetFinalPathNameByHandleW not available\n");
#define EndSeh(ExpectedStatus)
#define ok_eq_ulong(value, expected)
#define ok_eq_wstr(value, expected)
#define ok_eq_wchar(value, expected)
#define ok_ntstatus(status, expected)
#define ok_int(expression, result)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INVALID_FUNCTION
#define NT_SUCCESS(StatCode)
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define ERROR_INVALID_HANDLE
#define FILE_ATTRIBUTE_NORMAL
#define ERROR_ACCESS_DENIED
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
NET_API_STATUS WINAPI NetShareDel(_In_ LMSTR servername, _In_ LMSTR netname, _In_ DWORD reserved)
NET_API_STATUS WINAPI NetShareAdd(_In_ LMSTR servername, _In_ DWORD level, _In_ LPBYTE buf, _Out_ LPDWORD parm_err)
struct _FileName FileName
#define STATUS_ACCESS_VIOLATION
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define OBJ_CASE_INSENSITIVE
#define memcpy(s1, s2, n)
BOOL WINAPI GetVolumeNameForVolumeMountPointW(IN LPCWSTR VolumeMountPoint, OUT LPWSTR VolumeName, IN DWORD VolumeNameLength)
LPCWSTR LPCWSTR LPCWSTR DWORD dwFlags
static void Test_NetworkShare(void)
FN_GetFinalPathNameByHandleW * pGetFinalPathNameByHandleW
static void Test_File(void)
DWORD WINAPI FN_GetFinalPathNameByHandleW(_In_ HANDLE hFile, _Out_writes_(cchFilePath) LPWSTR lpszFilePath, _In_ DWORD cchFilePath, _In_ DWORD dwFlags)
static void Test_Other(void)
#define InitializeObjectAttributes(p, n, a, r, s)
NTSYSAPI NTSTATUS NTAPI NtOpenFile(OUT PHANDLE phFile, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG ShareMode, IN ULONG OpenMode)
#define FILE_READ_ATTRIBUTES
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define NtCurrentProcess()
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
static OUT PIO_STATUS_BLOCK IoStatusBlock
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
DWORD WINAPI GetLastError(void)
#define ERROR_PATH_NOT_FOUND
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO