InternetCrackUrl (wininet)
Last changed: -122.116.18.66

.
Summary
TODO - a short description

C# Signature:

public enum INTERNET_SCHEME

{ // Ref: http://msdn.microsoft.com/en-us/library/aa385149(VS.85).aspx

    INTERNET_SCHEME_PARTIAL = -2,
    INTERNET_SCHEME_UNKNOWN = -1,
    INTERNET_SCHEME_DEFAULT = 0,
    INTERNET_SCHEME_FTP,
    INTERNET_SCHEME_GOPHER,
    INTERNET_SCHEME_HTTP,
    INTERNET_SCHEME_HTTPS,
    INTERNET_SCHEME_FILE,
    INTERNET_SCHEME_NEWS,
    INTERNET_SCHEME_MAILTO,
    INTERNET_SCHEME_SOCKS,
    INTERNET_SCHEME_JAVASCRIPT,
    INTERNET_SCHEME_VBSCRIPT,
    INTERNET_SCHEME_RES,
    INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP,
    INTERNET_SCHEME_LAST = INTERNET_SCHEME_VBSCRIPT

}

public struct URL_COMPONENTS

{ // Ref: http://msdn.microsoft.com/en-us/library/aa385420(VS.85).aspx

    public int dwStructSize;
    public string lpszScheme;
    public int dwSchemeLength;
    public INTERNET_SCHEME nScheme;
    public string lpszHostName;
    public int dwHostNameLength;
    public int nPort;
    public string lpszUserName;
    public int dwUserNameLength;
    public string lpszPassword;
    public int dwPasswordLength;
    public string lpszUrlPath;
    public int dwUrlPathLength;
    public string lpszExtraInfo;
    public int dwExtraInfoLength;

}

[DllImport("wininet.dll")]

[return: MarshalAs(UnmanagedType.Bool)]

public static extern bool InternetCrackUrl( // Ref: http://msdn.microsoft.com/en-us/library/aa384376(VS.85).aspx

    // (in) Pointer to a string that contains the canonical URL to be cracked
    string lpszUrl,
    // (in) Size of the lpszUrl string, in TCHARs, or zero if lpszUrl is an ASCIIZ string
    int dwUrlLength,
    // (in) Controls the operation. This parameter can be one of the following values
    int dwFlags,
    // (out) Pointer to a URL_COMPONENTS structure that receives the URL components
    ref URL_COMPONENTS lpUrlComponents);

VB Signature:

Declare Function InternetCrackUrl Lib "wininet.dll" (ByVal lpszUrl As String, ByVal dwUrlLength As Integer, ByVal dwFlags As Integer, ByRef lpUrlComponents As URL_COMPONENTS) As <MarshalAs(UnmanagedType.Bool)> Boolean

User-Defined Types:

URL_COMPONENTS

INTERNET_SCHEME

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation