ILocalRegistry2.CreateInstance – metoda (Guid, Object, Guid, UInt32, IntPtr)
Vytvoří instanci třídy uvedené v místním registru.
Obor názvů: Microsoft.VisualStudio.Shell.Interop
Sestavení: Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)
Syntaxe
int CreateInstance(
Guid clsid,
object punkOuter,
[InAttribute] ref Guid riid,
uint dwFlags,
out IntPtr ppvObj
)
int CreateInstance(
Guid clsid,
Object^ punkOuter,
[InAttribute] Guid% riid,
unsigned int dwFlags,
[OutAttribute] IntPtr% ppvObj
)
abstract CreateInstance :
clsid:Guid *
punkOuter:Object *
riid:Guid byref *
dwFlags:uint32 *
ppvObj:nativeint byref -> int
Function CreateInstance (
clsid As Guid,
punkOuter As Object,
<InAttribute> ByRef riid As Guid,
dwFlags As UInteger,
<OutAttribute> ByRef ppvObj As IntPtr
) As Integer
Parametry
- clsid
[v] Identifikátor (třídy CLSID) požadovaný objekt třídy.Toto je identifikátor CLSID přidružených dat a kód, který slouží k vytvoření objektu.
- punkOuter
[v] Ukazatel na instanci ovládání IUnknown souhrnu, který používá nově vytvořený objekt.Hodnota null označuje, že objekt není vytváření jako součást agregační.Pokud hodnotu null, je ukazatel na objekt agregační IUnknown rozhraní (řízení IUnknown).
- riid
[v] Rozhraní pro komunikaci s objektem.Například:IID_IClassFactory
- dwFlags
[v] Příznaky řízení vytvoření instance z CLSCTX výčtu.Zadejte hodnotu CLSCTX_INPROC_SERVER.
- ppvObj
[výstup] Adresa ukazatel Proměnná, která obdrží ukazatele rozhraní v riid.Po úspěšném návratu ppvObj obsahuje ukazatele požadované rozhraní.Po selhání ppvObj obsahuje null.
Vrácená hodnota
Type: System.Int32
Pokud metoda uspěje, vrací S_OK.Pokud se nezdaří, vrátí kód chyby.
Implementuje
ILocalRegistry.CreateInstance(Guid, Object, Guid, UInt32, IntPtr)
Poznámky
Podpis COM
Z objext.idl:
HRESULT ILocalRegistry2::CreateInstance(
[in] CLSID clsid,
[in] IUnknown* punkOuter,
[in] REFIID riid,
[in] DWORD dwFlags,
[out] void** ppvObj
);
CreateInstance Metoda je ekvivalentní modelu COM CoCreateInstance funkce.Vytvoří jediný Neinicializovaný objekt druhu přidružené zadaný identifikátor CLSID a vrátí všechny ukazatele požadované rozhraní.
CreateInstancevyhledá objekt třídy v místním registru registrované objekty, připojí k objektu třídy přidružené zadaný identifikátor CLSID, vytvoří instanci Neinicializovaný objekt a uvolní objekt třídy.Tato metoda zapouzdří volání funkce COM CoGetClassObject objektu class factory a k získání ukazatele CreateInstance k vytvoření instance objektu a k uvolnění odkaz na objekt třídy Factory.
[!POZNÁMKA]
Volání CreateInstance kdy chcete vytvořit jednu instanci objektu na základě identifikátor CLSID a není nutné zachovat objektu class factory vytvořit další instance objektu.Chcete-li vytvořit více objektů z jedné třídy objektu, použijte metodu M:Microsoft.VisualStudio.Shell.Interop.ILocalRegistry2.GetClassObjectOfClsid(System.Guid@,System.UInt32,System.IntPtr,System.Guid@,System.IntPtr).
Tuto metodu objekt registruje místní podregistru (například [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\CLSID]).V této části registru InProcServer32 slouží jako hodnotu než podklíč.Podporujeme konkretizujete objekty pouze na hlavní podproces uživatelského rozhraní.
Zadejte hodnotu CLSCTX_INPROC_SERVER pro dwFlags parametru vytvořit instanci objektu místně.Pokud tuto hodnotu nezadáte, bude objekt bude vytvořena instance s použitím modelu COM CoCreateInstance funkce.
Viz také
ILocalRegistry2 – rozhraní
Microsoft.VisualStudio.Shell.Interop – obor názvů
Zpátky na začátek