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

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