Metodo IShellFolder::SetNameOf (shobjidl_core.h)
Imposta il nome visualizzato di un oggetto file o di una sottocartella, modificando l'identificatore dell'elemento nel processo.
Sintassi
HRESULT SetNameOf(
[in] HWND hwnd,
[in] PCUITEMID_CHILD pidl,
[in] LPCWSTR pszName,
[in] SHGDNF uFlags,
[out] PITEMID_CHILD *ppidlOut
);
Parametri
[in] hwnd
Tipo: HWND
Handle alla finestra proprietario di qualsiasi finestra di dialogo o di messaggio visualizzata dal client.
[in] pidl
Tipo: PCUITEMID_CHILD
Puntatore a una struttura ITEMIDLIST che identifica in modo univoco l'oggetto file o la sottocartella relativa alla cartella padre. La struttura deve contenere esattamente una struttura SHITEMID seguita da uno zero terminante.
[in] pszName
Tipo: LPCWSTR
Puntatore a una stringa con terminazione null che specifica il nuovo nome visualizzato.
[in] uFlags
Tipo: SHGDNF
Flag che indicano il tipo di nome specificato dal parametro pszName . Per un elenco di valori e combinazioni possibili, vedere SHGDNF.
[out] ppidlOut
Tipo: PITEMID_CHILD*
facoltativo. Se specificato, l'indirizzo di un puntatore a una struttura ITEMIDLIST che riceve l'ELEMENTO ITEMIDLIST dell'elemento rinominato. Il chiamante richiede questo valore passando un ppidlOut non null. Le implementazioni di IShellFolder::SetNameOf devono restituire un puntatore al nuovo ITEMIDLIST nel parametro ppidlOut .
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Modifica del nome visualizzato di un oggetto file system o di una cartella all'interno di esso, rinomina il file o la directory.
Prima di chiamare questo metodo, le applicazioni devono chiamare IShellFolder::GetAttributesOf e verificare che il flag di SFGAO_CANRENAME sia impostato. Si noti che questo flag è essenzialmente un hint per i client dello spazio dei nomi. Non implica necessariamente che IShellFolder::SetNameOf avrà esito positivo o negativo.
Gli implementatori di IShellFolder::SetNameOf devono chiamare SHChangeNotify con i PID precedenti e nuovi assoluti una volta completata la ridenominazione di un oggetto. Questo esempio seguente mostra la chiamata a SHChangeNotify seguendo la ridenominazione di un oggetto cartella.
SHChangeNotify(SHCNE_RENAMEFOLDER, SHCNF_IDLIST, pidlFullOld, pidlFullNew);
Questa chiamata impedisce la visualizzazione dei nomi precedenti e nuovi.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shobjidl_core.h (include Shobjidl.h) |
DLL | Shell32.dll (versione 4.0 o successiva) |