Funzione PrjWritePlaceholderInfo2 (projectedfslib.h)
Invia metadati di file o directory a ProjFS e consente al chiamante di specificare informazioni estese.
Sintassi
HRESULT PrjWritePlaceholderInfo2(
[in] PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT namespaceVirtualizationContext,
[in] PCWSTR destinationFileName,
[in] const PRJ_PLACEHOLDER_INFO *placeholderInfo,
[in] UINT32 placeholderInfoSize,
const PRJ_EXTENDED_INFO *ExtendedInfo
);
Parametri
[in] namespaceVirtualizationContext
Handle opaco per l'istanza di virtualizzazione. Deve essere il valore del membro VirtualizationInstanceHandle del callbackData passato al provider nel callback PRJ_GET_PLACEHOLDER_INFO_CB callback.
[in] destinationFileName
Stringa Unicode con terminazione Null che specifica il percorso, relativo alla radice di virtualizzazione, al file o alla directory per cui creare un segnaposto.
Deve essere una corrispondenza con il membro FilePathName del parametro callbackData passato al provider nel callback PRJ_GET_PLACEHOLDER_INFO_CB callback. Il provider deve usare la funzione PrjFileNameCompare per determinare se i due nomi corrispondono.
Ad esempio, se il callback PRJ_GET_PLACEHOLDER_INFO_CB specifica "dir1\dir1\FILE.TXT" in callbackData-FilePathName> e l'archivio di backup del provider contiene un file denominato "File.txt" nella directory dir1\dir2 e PrjFileNameCompare restituisce 0 quando si confrontano i nomi "FILE.TXT" e "File.txt", il provider specifica "dir1\dir2\File.txt" come valore di questo parametro.
[in] placeholderInfo
Puntatore ai metadati per il file o la directory.
[in] placeholderInfoSize
Dimensioni in byte del buffer a cui punta placeholderInfo.
ExtendedInfo
Puntatore a uno struct PRJ_EXTENDED_INFO che specifica informazioni estese sul segnaposto da creare.
Valore restituito
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Il provider utilizza questa routine per fornire i dati richiesti in una chiamata del callback PRJ_GET_PLACEHOLDER_INFO_CB oppure può usarlo per deporre in modo proattivo un segnaposto.
I membri EaInformation, SecurityInformation e StreamsInformation di PRJ_PLACEHOLDER_INFO sono facoltativi. Se il provider non vuole fornire attributi estesi, descrittori di sicurezza personalizzati o flussi di dati alternativi, è necessario impostare questi campi su 0.
Collegamenti simbolici
Per specificare che questo segnaposto deve essere un collegamento simbolico, il provider formatta un buffer con un singolo struct PRJ_EXTENDED_INFO e passa un puntatore al extendedInfo
parametro . Il provider imposta i campi dello struct nel modo seguente:
extendedInfo.InfoType = PRJ_EXT_INFO_TYPE_SYMLINK
extendedInfo.NextInfoOffset = 0
extendedInfo.Symlink.TargetName = <path to the target of the symbolic link>
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 versione 2004 (10.0; Build 19041) |
Server minimo supportato | Windows Server, versione 2004 (10.0; Build 19041) |
Piattaforma di destinazione | Windows |
Intestazione | projectedfslib.h |