Condividi tramite


Funzione UrlApplySchemeA (shlwapi.h)

Determina uno schema per una stringa URL specificata e restituisce una stringa con un prefisso appropriato.

Sintassi

LWSTDAPI UrlApplySchemeA(
  [in]      PCSTR pszIn,
  [out]     PSTR  pszOut,
  [in, out] DWORD *pcchOut,
            DWORD dwFlags
);

Parametri

[in] pszIn

Tipo: PCTSTR

Stringa con terminazione Null di lunghezza massima INTERNET_MAX_URL_LENGTH che contiene un URL.

[out] pszOut

Tipo: PTSTR

Puntatore a un buffer che, quando questa funzione restituisce correttamente, riceve una stringa con terminazione Null impostata sull'URL specificato da pszIn e convertito nello schema standard ://URL_string formato.

[in, out] pcchOut

Tipo: DWORD*

Indirizzo di un valore impostato sul numero di caratteri nel buffer pszOut. Quando la funzione viene restituita, il valore dipende dal fatto che la funzione abbia esito positivo o restituisca E_POINTER. Per altri valori restituiti, il valore di questo parametro è privo di significato.

dwFlags

Tipo: DWORD

Flag che specificano come determinare lo schema. È possibile combinare i flag seguenti.

URL_APPLY_DEFAULT

Applicare lo schema predefinito se UrlApplyScheme non è in grado di determinarne uno. Il prefisso predefinito viene archiviato nel Registro di sistema, ma in genere è "http".

URL_APPLY_GUESSSCHEME

Provare a determinare lo schema esaminando pszIn.

URL_APPLY_GUESSFILE

Tentare di determinare un URL di file da pszIn.

URL_APPLY_FORCEAPPLY

Forzare UrlApplyScheme per determinare uno schema per pszIn.

Valore restituito

Tipo: HRESULT

Restituisce un valore restituito COM standard, incluso quanto segue.

Codice restituito Descrizione
S_OK
È stato determinato uno schema. pszOut punta a una stringa contenente l'URL con il prefisso dello schema. Il valore di pcchOut è impostato sul numero di caratteri nella stringa, senza contare il carattere di terminazione NULL.
S_FALSE
Non si sono verificati errori, ma non è stato anteporto alcun prefisso.
E_POINTER
Il buffer era troppo piccolo. Il valore di pcchOut è impostato sul numero minimo di caratteri che il buffer deve essere in grado di contenere, incluso il carattere di terminazione NULL.

Osservazioni

Se l'URL ha uno schema valido, la stringa non verrà modificata. Tuttavia, quasi tutte le combinazioni di due o più caratteri seguiti da due punti verranno analizzate come uno schema. I caratteri validi includono alcuni segni di punteggiatura comuni, ad esempio ".". Se la stringa di input si adatta a questa descrizione, UrlApplyScheme può considerarla valida e non applicare uno schema. Per forzare la funzione ad applicare uno schema a un URL, impostare i flag URL_APPLY_FORCEAPPLY e URL_APPLY_DEFAULT in dwFlags. Questa combinazione di flag impone alla funzione di applicare uno schema all'URL. In genere, la funzione non sarà in grado di determinare uno schema valido. Il secondo flag garantisce che, se non è possibile determinare uno schema valido, la funzione applicherà lo schema predefinito all'URL.

Nota

L'intestazione shlwapi.h definisce UrlApplyScheme come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione shlwapi.h
libreria Shlwapi.lib
dll Shlwapi.dll (versione 5.0 o successiva)