Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un'estensione snap-in per gli allegati deve aggiungersi al nodo Servizi quando un utente espande tale nodo.
Quando un utente espande il nodo Servizi in uno degli snap-in Configurazione di sicurezza, MMC usa IComponentData::Notify e il messaggio di notifica MMCN_EXPAND per notificare lo snap-in Configurazione di sicurezza, oltre a tutte le relative estensioni.
Lo snap-in Configurazione di sicurezza estrae quindi il formato interno dal lpDataObject, che viene passato dal framework principale MMC come tipo LPDATAOBJECT. Interrompe l'elaborazione quando vede il tipo di nodo Servizi. L'estensione snap-in degli allegati estrae quindi il tipo di nodo dal lpDataObject. Se il tipo di nodo è uno dei tipi di nodo definiti del servizio, l'estensione dello snap-in allegato inserisce i nodi radice nel nodo padre specificato.
Si noti che in questo esempio ExtractNodeType è una funzione privata implementata dall'estensione. L'estensione esamina l'oggetto dati per ottenere il tipo di nodo. L'implementazione di ExtractNodeType non viene visualizzata.
// Detect which extension node to expand.
GUID* nodeType = ExtractNodeType(lpdataObject);
if (NULL == nodeType)
{
return S_OK;
}
if (TRUE == ::IsEqualGUID(*nodeType, cNodetypeSceTemplateServices))
{
folderType = ATTACHMENT_STATIC; // defined by attachment writer
}
else if (TRUE == ::IsEqualGUID
(*nodeType, cNodetypeSceAnalysisServices))
{
folderType = ATTACHMENT_STATIC_ANALYSIS;
// defined by attachment writer
}
// Free resources.
::GlobalFree(reinterpret_cast<HANDLE>(nodeType));
// Add service attachment root node and remember it as the
// root of the SMB extension namespace.
// ...