Condividi tramite


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.

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