Método Discover da classe MSFT_StorageProvider
Descobre os objetos que pertencem ao provedor de armazenamento.
Esse método é usado quando um usuário precisa descobrir ou renumerar explicitamente objetos pertencentes ao provedor de armazenamento. Uma chamada para esse método resultará em invalidação de cache total ou parcial e chamadas over-the-wire para o subsistema de armazenamento para descobrir objetos novos ou atualizados. Como essa é uma tarefa cara, esse método deve ser usado com moderação.
O escopo da operação de descoberta é controlado pelos parâmetros DiscoveryLevel e RootObject . DiscoveryLevel controla a profundidade da descoberta de objeto. RootObject define o ponto de partida do qual a descoberta ocorrerá.
Sintaxe
UInt32 Discover(
[in] UInt16 DiscoveryLevel,
[in] MSFT_StorageObject REF RootObject,
[in] Boolean RunAsJob,
[out] MSFT_StorageJob REF CreatedStorageJob,
[out] String ExtendedStatus
);
Parâmetros
DiscoveryLevel [in]
O nível (ou profundidade) da descoberta que deve ser executado. Esse parâmetro só poderá ser especificado se o objeto raiz for um provedor de armazenamento, subsistema de armazenamento ou NULL. Quando especificado, o provedor de armazenamento descobrirá objetos a partir do Nível 0 e continuará até que o nível especificado seja atingido. Associações entre objetos (dentro dos níveis descobertos) também serão descobertas.
Valor | Significado |
---|---|
Nível 0 0 | O provedor de armazenamento, o subsistema de armazenamento e os objetos fileserver serão descobertos. Observação: começando no Windows 10: a descoberta de objetos fileserver foi adicionada. |
Nível 1 1 | Pools de armazenamento, compartilhamentos de arquivos, configurações de resiliência, portas de destino, portais de destino e identificadores iniciadores serão descobertos. Observação: começando no Windows 10: a descoberta de compartilhamentos de arquivos foi adicionada. |
Nível 2 2 | Discos virtuais, volumes, partições, discos e conjuntos de mascaramento serão descobertos. Observação: começando no Windows 10: a descoberta de volumes, partições e discos foi adicionada. |
Nível 3 3 | Os discos físicos serão descobertos. |
RootObject [in]
Se esse parâmetro for definido, a descoberta começará a partir desse objeto. Quando DiscoveryLevel for NULL, ações bem definidas serão executadas dependendo do tipo de objeto especificado por RootObject:
- Subsistema de armazenamento: todos os objetos associados serão descobertos.
- Pool de armazenamento: o pool, juntamente com quaisquer configurações de resiliência associadas, discos virtuais e discos físicos serão descobertos.
- Conjunto de mascaramento: o conjunto de mascaramento, juntamente com quaisquer portas de destino associadas, identificadores de iniciador e discos virtuais serão descobertos.
- Para todos os outros objetos, somente esse objeto será descoberto ou atualizado.
RunAsJob [in]
Se TRUE, esse método usará o parâmetro CreatedStorageJob quando a solicitação estiver demorando muito tempo para ser atendida. Se um trabalho de armazenamento tiver sido criado para acompanhar a operação, esse método retornará Parâmetros de Método Verificados – Trabalho Iniciado.
Observação
Mesmo que RunAsJob seja TRUE, esse método ainda poderá retornar um resultado se tiver terminado em tempo suficiente.
Se FALSE ou NULL, esse método seguirá o comportamento assíncrono WMI padrão, conforme determinado pelo método do cliente para invocação. Em outras palavras, ele é síncrono, a menos que solicitado de outra forma.
CreatedStorageJob [out]
Se RunAsJob for definido como TRUE e esse método levar muito tempo para ser executado, esse parâmetro receberá uma referência ao objeto de trabalho de armazenamento que é usado para acompanhar a operação de execução prolongada.
ExtendedStatus [out]
Uma cadeia de caracteres que contém um objeto MSFT_StorageExtendedStatus inserido.
Esse parâmetro permite que o provedor de armazenamento retorne informações de erro estendidas (específicas da implementação).
Retornar valor
Êxito (0)
Sem suporte (1)
Erro não especificado (2)
Tempo limite (3)
Falha (4)
Parâmetro inválido (5)
Parâmetros de método verificados – Trabalho iniciado (4096)
Acesso negado (40001)
Não há recursos suficientes para concluir a operação. (40002)
Não é possível se conectar ao provedor de armazenamento. (46000)
O provedor de armazenamento não pode se conectar ao subsistema de armazenamento. (46001)
O provedor de armazenamento não dá suporte a um perfil necessário. (46002)
O provedor de armazenamento não dá suporte a uma associação necessária. (46003)
Falha ao descobrir o objeto raiz. (46009 )
Falha ao descobrir em um ou mais subsistemas. (46010)
Comentários
Os provedores de armazenamento devem concluir a descoberta de Nível 0 na inicialização. Os objetos MSFT_StorageProvider e MSFT_StorageSubSystem devem ser carregados no cache.
Para melhorar o desempenho, os subsistemas de armazenamento que têm a propriedade iSCSITargetCreationScheme definida como Auto devem fazer a descoberta de portas de destino junto com os discos virtuais no Nível 2. Observe que os portais de destino ainda devem ser descobertos no Nível 1.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Namespace | Root\Microsoft\Windows\Storage |
MOF | Storagewmi.mof |