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.