使用windows系統服務程式呼叫GetDiskFreeSpaceEx獲取網路映射空間大小失敗!
提示錯誤碼3,
盤符里可以看到映射的空間。
大神幫忙解決怎么破啊!!!
uj5u.com熱心網友回復:
3是系統找不到指定的路徑。
uj5u.com熱心網友回復:
應該是這個API需要在用戶態權限程式執行才能拿到網路映射空間uj5u.com熱心網友回復:
@oyljerry請問,Windows作業系統怎么設定,才能上服務獲取這個權限啊?
uj5u.com熱心網友回復:
GetDiskFreeSpaceExThe GetDiskFreeSpaceEx function obtains information about the amount of space available on a disk volume: the total amount of space, the total amount of free space, and the total amount of free space available to the user associated with the calling thread.
BOOL GetDiskFreeSpaceEx(
LPCTSTR lpDirectoryName, // pointer to the directory name
PULARGE_INTEGER lpFreeBytesAvailableToCaller, // receives the number of bytes on
// disk available to the caller
PULARGE_INTEGER lpTotalNumberOfBytes, // receives the number of bytes on disk
PULARGE_INTEGER lpTotalNumberOfFreeBytes // receives the free bytes on disk
);
Parameters
lpDirectoryName
Pointer to a null-terminated string that specifies a directory on the disk of interest. This string can be a UNC name. If this parameter is a UNC name, you must follow it with an additional backslash. For example, you would specify \\MyServer\MyShare as \\MyServer\MyShare\.
If lpDirectoryName is NULL, the GetDiskFreeSpaceEx function obtains information about the disk that contains the current directory.
Note that lpDirectoryName does not have to specify the root directory on a disk. The function accepts any directory on the disk.
lpFreeBytesAvailableToCaller
Pointer to a variable to receive the total number of free bytes on the disk that are available to the user associated with the calling thread.
Windows NT 5.0 and later: If per-user quotas are in use, this value may be less than the total number of free bytes on the disk.
lpTotalNumberOfBytes
Pointer to a variable to receive the total number of bytes on the disk that are available to the user associated with the calling thread.
Windows NT 5.0 and later: If per-user quotas are in use, this value may be less than the total number of bytes on the disk.
lpTotalNumberOfFreeBytes
Pointer to a variable to receive the total number of free bytes on the disk.
This parameter can be NULL.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
Note that the values obtained by this function are of type ULARGE_INTEGER. Be careful not to truncate these values to 32 bits.
Windows 95 OSR2: The GetDiskFreeSpaceEx function is available on Windows 95 systems beginning with OEM Service Release 2 (OSR2).
To determine whether GetDiskFreeSpaceEx is available, call the LoadLibrary or LoadLibraryEx function to load the KERNEL32.DLL file, then call the GetProcAddress function to obtain an address for GetDiskFreeSpaceEx. If GetProcAddress fails, or if GetDiskFreeSpaceEx fails with the ERROR_CALL_NOT_IMPLEMENTED code, use the GetDiskFreeSpace function instead of GetDiskFreeSpaceEx.
QuickInfo
Windows NT: Requires version 4.0 or later.
Windows: Requires Windows 95 OSR2 or later.
Windows CE: Unsupported.
Header: Declared in winbase.h.
Import Library: Use kernel32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
See Also
File I/O Overview, File Functions, GetDiskFreeSpace
uj5u.com熱心網友回復:
可以自己再做一個用戶態的程式來獲取
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/121762.html
標籤:網絡編程
上一篇:vs2010制作安裝包
