Método ICcmAlternateDownloadProvider: Método DownloadContent

O método ICcmAlternateDownloadProvider::D ownloadContent, em Configuration Manager, instrui o provedor a baixar conteúdo.

Sintaxe

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  
        );  

Parâmetros

szContentId
Tipo de dados: LPCWSTR

Qualificadores: [in]

A ID de conteúdo/pacote a ser baixada.

szContentVersion
Tipo de dados: LPCWSTR

Qualificadores: [in]

A versão de conteúdo/pacote a ser baixada.

szRemotePath
Tipo de dados: LPCWSTR

Qualificadores: [in]

Uma dica sobre onde baixar o conteúdo. O provedor é livre para ignorar isso e baixar usando seus próprios mecanismos.

szLocalPath
Tipo de dados: LPCWSTR

Qualificadores: [in]

O diretório para o qual o conteúdo deve ser baixado. Esse diretório já deve existir nessa chamada e o provedor não deve alterar nenhuma ACLs no próprio diretório por qualquer motivo. Quando szManifest é null, esse parâmetro deve ser ignorado.

szNotifyEndpoint
Tipo de dados: LPCWSTR

Qualificadores: [in]

Ponto de extremidade a ser usado para notificar o Gerenciador de Transferência de Conteúdo. Isso deve ser passado verbatim em chamadas para SendNotify*ToCTM.

szNotifyData
Tipo de dados: LPCWSTR

Qualificadores: [in]

Dados de notificação especificados pelo Content Transfer Manager Isso deve ser passado verbatim em chamadas para SendNotify*ToCTM

Priority
Tipo de dados: CCM_DTS_PRIORITY

Qualificadores: [in]

A prioridade para o trabalho. Consulte anotações sobre CCM_DTS_PRIORITY.

dwTimeoutSeconds
Tipo de dados: DWORD

Qualificadores: [in]

O tempo limite para o trabalho. Se o tempo limite for atingido, o trabalho deverá relatar um erro por meio de SendNotifyErrorToCTM.

dwChunkSize
Tipo de dados: DWORD

Qualificadores: [in]

O tamanho da parte a ser usada para notificação. Se notificações de progresso tiverem sido solicitadas, o Gerenciador de Transferência de Conteúdo deverá ser notificado em todos os bytes dwChunkSize.

dwFlags
Tipo de dados: DWORD

Qualificadores: [in]

Sinalizadores para o trabalho. Isso corresponde a um OR de CCM_DTS_FLAG valores.

szLocationOptions
Tipo de dados: LPCWSTR

Qualificadores: [in]

Reservado. Provedores alternativos devem ignorar isso.

szFileManifest
Tipo de dados: LPCWSTR

Qualificadores: [in, exclusivo]

Dados null XML ou que representam intervalos de bytes de arquivo a serem baixados do destino. Confira Comentários abaixo.

szOwnerSID
Tipo de dados: LPCWSTR

Qualificadores: [in]

O contexto do usuário no qual o download deve ser executado.

bDeleteJobOnError
Tipo de dados: BOOL

Qualificadores: [in]

Indica se um trabalho deve ou não falhar imediatamente devido a uma condição de erro transitória. Se isso for falso, os erros transitórios devem simplesmente fazer com que o provedor tente novamente internamente, a menos que o tempo limite do trabalho ou seja instruído de outra forma pelo Content Transfer Manager.

szProviderData
Tipo de dados: LPCWSTR

Qualificadores: [in]

Os dados específicos do provedor especificados na política de CCM_DownloadProvider. Essa será uma cadeia de caracteres vazia, se os dados não forem especificados.

szPackageData
Tipo de dados: LPCWSTR

Qualificadores: [in]

Os dados específicos do pacote especificaram o lado do servidor, encapsulados em um <elemento Data> XML. Essa será uma cadeia de caracteres vazia se os dados não forem especificados.

*pJobID
Tipo de dados: GUID

Qualificadores: [out]

A ID do trabalho que deve ser usada para referência em chamadas subsequentes.

Return Values

Um HRESULT código. Os valores possíveis incluem, mas não se limitam a:

S_OK
O sucesso implica que a descoberta foi disparada com êxito. Todos os outros valores retornados indicam falha.

Comentários

Começando com a versão 1702, Configuration Manager se integra ao Microsoft 365 clique para executar, que dá suporte ao download incremental. Provedores de conteúdo alternativos devem ser atualizados para implementar recursos de download de intervalo de bytes. As informações de intervalo de bytes são especificadas em um manifesto XML especificado no parâmetro szFileManifest .

O XML do manifesto usa o seguinte esquema:

<?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> 

O exemplo a seguir mostra um manifesto que baixa três arquivos:

<?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> 

Ao processar o manifesto, lembre-se:

  • Haverá um ou mais <file> elementos.
  • Se um elemento contiver <chunk> elementos, cada <chunk> um <file> especifica o comprimento e o deslocamento de bytes de um download incremental.
  • Se nenhum <chunk> elemento for especificado, todo o arquivo deverá ser baixado.

Caso um provedor de conteúdo alternativo não dê suporte a downloads incrementais, Configuration Manager usará automaticamente pontos de distribuição para baixar Microsoft conteúdo 365. Para outros cenários de download, no entanto, o provedor de conteúdo alternativo funciona sem impacto adicional.

Observação

Se o provedor não puder lidar com a solicitação por qualquer motivo, ele deverá retornar um erro.

Requisitos

Requisitos de runtime

Para obter mais informações, consulte Configuration Manager Requisitos de Runtime do Cliente.

Requisitos de desenvolvimento

Para obter mais informações, consulte Configuration Manager Requisitos de desenvolvimento do cliente.