dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Pascal
Expertise: Beginner
Mar 28, 1997

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Universal Naming Convention (UNC)

Question:
For file-based applications, how is the Universal Naming Convention obtained for path names?

Answer:
To get the UNC name of a drive-based path, use the Windows API call WNetGetUniversalName. This function takes a drive-based path (i.e., fully qualified file name) and returns its UNC equivalent.

Be forewarned, though: This call is not supported by Windows 95. Here's something that should work if you're in NT:

function GetUNCName(PathStr : String) : String;
var
  bufSize : DWord;
  buf : TUniversalNameInfo;
  msg : String;
begin
  bufSize := SizeOf(TUniversalNameInfo);
  if (WNetGetUniversalName(PChar(PathStr), UNIVERSAL_NAME_INFO_LEVEL,  
     buf, bufSize) > 0) then
    case GetLastError of
      ERROR_BAD_DEVICE	      : msg := 'ERROR_BAD_DEVICE';
      ERROR_CONNECTION_UNAVAIL: msg := 'ERROR_CONNECTION_UNAVAIL';
      ERROR_EXTENDED_ERROR    : msg := 'ERROR_EXTENDED_ERROR';
      ERROR_MORE_DATA	      : msg := 'ERROR_MORE_DATA';
      ERROR_NOT_SUPPORTED     : msg := 'ERROR_NOT_SUPPORTED';
      ERROR_NO_NET_OR_BAD_PATH: msg := 'ERROR_NO_NET_OR_BAD_PATH';
      ERROR_NO_NETWORK	      : msg := 'ERROR_NO_NETWORK';
      ERROR_NOT_CONNECTED     : msg := 'ERROR_NOT_CONNECTED';
    end
  else
    msg := buf.lpUniversalName;  

  Result := msg;  
end;

Play around with this and see what you come up with.

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date