ICcmAlternateDownloadProvider : DownloadContent, méthode
La méthode ICcmAlternateDownloadProvider::D ownloadContent, dans Configuration Manager, indique au fournisseur de télécharger du contenu.
Syntaxe
HRESULT DownloadContent(
LPCWSTR szContentId,
LPCWSTR szContentVersion,
LPCWSTR szRemotePath,
LPCWSTR szLocalPath,
LPCWSTR szNotifyEndpoint,
LPCWSTR szNotifyData,
CCM_DTS_PRIORITY Priority,
DWORD dwTimeoutSeconds,
DWORD dwChunkSize,
DWORD dwFlags,
LPCWSTR szLocationOptions,
LPCWSTR szFileManifest,
LPCWSTR szOwnerSID,
BOOL bDeleteJobOnError,
LPCWSTR szProviderData,
LPCWSTR szPackageData,
GUID *pJobID
);
Paramètres
szContentId
Type de donnéesLPCWSTR
Qualificateurs : [in]
ID de contenu/package à télécharger.
szContentVersion
Type de donnéesLPCWSTR
Qualificateurs : [in]
Version du contenu/du package à télécharger.
szRemotePath
Type de donnéesLPCWSTR
Qualificateurs : [in]
Un indicateur sur l’emplacement de téléchargement du contenu. Le fournisseur est libre de l’ignorer et de le télécharger à l’aide de ses propres mécanismes.
szLocalPath
Type de donnéesLPCWSTR
Qualificateurs : [in]
Répertoire dans lequel le contenu doit être téléchargé. Ce répertoire doit déjà exister lors de cet appel, et le fournisseur ne doit pas modifier les listes de contrôle d’accès sur l’annuaire lui-même pour une raison quelconque. Lorsque szManifest a la valeur null
, ce paramètre doit être ignoré.
szNotifyEndpoint
Type de donnéesLPCWSTR
Qualificateurs : [in]
Point de terminaison à utiliser pour notifier le Gestionnaire de transfert de contenu. Cela doit être passé textuellement dans les appels à SendNotify*ToCTM.
szNotifyData
Type de donnéesLPCWSTR
Qualificateurs : [in]
Données de notification spécifiées par le Gestionnaire de transfert de contenu Ces données doivent être passées textuellement dans les appels à SendNotify*ToCTM
Priority
Type de donnéesCCM_DTS_PRIORITY
Qualificateurs : [in]
Priorité du travail. Consultez les notes sur CCM_DTS_PRIORITY.
dwTimeoutSeconds
Type de donnéesDWORD
Qualificateurs : [in]
Délai d’expiration du travail. Si le délai d’expiration est atteint, le travail doit signaler une erreur via SendNotifyErrorToCTM.
dwChunkSize
Type de donnéesDWORD
Qualificateurs : [in]
Taille de bloc à utiliser pour la notification. Si des notifications de progression ont été demandées, le Gestionnaire de transfert de contenu doit être averti chaque octet dwChunkSize.
dwFlags
Type de donnéesDWORD
Qualificateurs : [in]
Indicateurs pour le travail. Cela correspond à une valeur OR de CCM_DTS_FLAG valeurs.
szLocationOptions
Type de donnéesLPCWSTR
Qualificateurs : [in]
Réservé. Les autres fournisseurs doivent l’ignorer.
szFileManifest
Type de donnéesLPCWSTR
Qualificateurs : [in, unique]
ou données null
XML représentant des plages d’octets de fichier à télécharger à partir de la destination. Consultez les remarques ci-dessous.
szOwnerSID
Type de donnéesLPCWSTR
Qualificateurs : [in]
Contexte utilisateur dans lequel le téléchargement doit être effectué.
bDeleteJobOnError
Type de donnéesBOOL
Qualificateurs : [in]
Indique si un travail doit ou non échouer immédiatement en raison d’une condition d’erreur temporaire. Si cette valeur est false, les erreurs temporaires doivent simplement amener le fournisseur à réessayer en interne, sauf si le travail expire ou si le Gestionnaire de transfert de contenu lui donne des instructions contraires.
szProviderData
Type de donnéesLPCWSTR
Qualificateurs : [in]
Données spécifiques au fournisseur spécifiées dans la stratégie de CCM_DownloadProvider. Il s’agit d’une chaîne vide, si les données n’ont pas été spécifiées.
szPackageData
Type de donnéesLPCWSTR
Qualificateurs : [in]
Données spécifiques au package spécifiées côté serveur, encapsulées dans un <élément Data> XML. Il s’agit d’une chaîne vide si les données n’ont pas été spécifiées.
*pJobID
Type de donnéesGUID
Qualificateurs : [out]
ID de travail qui doit être utilisé pour référence sur les appels suivants.
Valeurs de retour
Code HRESULT
. Les valeurs possibles incluent, sans s’y limiter, les éléments suivants :
S_OK
La réussite implique que la découverte a été déclenchée avec succès. Toutes les autres valeurs de retour indiquent un échec.
Remarques
À compter de la version 1702, Configuration Manager s’intègre à Microsoft 365 « démarrer en un clic », qui prend en charge le téléchargement incrémentiel. Les autres fournisseurs de contenu doivent être mis à jour pour implémenter des fonctionnalités de téléchargement de plage d’octets. Les informations de plage d’octets sont spécifiées dans un manifeste XML spécifié dans le paramètre szFileManifest .
Le manifeste XML utilise le schéma suivant :
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="DTSManifest">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="200" minOccurs="1" name="File">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="500" minOccurs="0" name="Chunk">
<xs:complexType>
<xs:attribute name="Length" type="xs:unsignedInt" use="required" />
<xs:attribute name="Offset" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Destination" type="xs:string" use="required" />
<xs:attribute name="Source" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Version" type="xs:unsignedByte" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
L’exemple suivant montre un manifeste qui télécharge trois fichiers :
<?xml version="1.0"?>
<DTSManifest Version="1">
<File Destination="C:\Prod\stream.dat" Source="Office/Data/6366.2036/stream.dat">
<Chunk Length="43491" Offset="59247735"/>
<Chunk Length="267118" Offset="69247735"/>
</File>
<File Destination="C:\Prod\s320.cab" Source="Office/Data/6366.2036/320.cab">
<Chunk Length="512" Offset="50"/>
</File>
<File Destination="C:\Prod\s640.cab" Source="Office/Data/16.0.6366.2036/s640.cab"/>
</DTSManifest>
Lors du traitement du manifeste, n’oubliez pas :
- Il y aura un ou plusieurs
<file
> éléments. - Si un
<file>
élément contient<chunk>
des éléments, chacun<chunk>
spécifie la longueur et le décalage d’octet d’un téléchargement incrémentiel. - Si aucun élément n’est
<chunk>
spécifié, le fichier entier doit être téléchargé.
Si un autre fournisseur de contenu ne prend pas en charge les téléchargements incrémentiels, Configuration Manager utilise automatiquement des points de distribution pour télécharger Microsoft contenu 365. Toutefois, pour les autres scénarios de téléchargement, le fournisseur de contenu alternatif fonctionne sans impact supplémentaire.
Remarque
Si le fournisseur ne peut pas gérer la demande pour une raison quelconque, il doit retourner une erreur.
Configuration requise
Configuration requise pour l’exécution
Pour plus d’informations, consultez Configuration Manager Configuration requise pour l’exécution du client.
Conditions requises pour le développement
Pour plus d’informations, consultez Configuration Manager Exigences de développement du client.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour