Type::GetTypeFromProgID Method (String^, String^)
Gets the type associated with the specified program identifier (progID) from the specified server, returning null if an error is encountered while loading the type.
Assembly: mscorlib (in mscorlib.dll)
public: [SecurityCriticalAttribute] static Type^ GetTypeFromProgID( String^ progID, String^ server )
Parameters
- progID
-
Type:
System::String^
The progID of the type to get.
- server
-
Type:
System::String^
The server from which to load the type. If the server name is null, this method automatically reverts to the local machine.
Return Value
Type: System::Type^The type associated with the specified program identifier (progID), if progID is a valid entry in the registry and a type is associated with it; otherwise, null.
| Exception | Condition |
|---|---|
| ArgumentException | prodID is null. |
This method is provided for COM support. Program IDs are not used in Microsoft .NET Framework because they have been superseded by the concept of namespace.
The following example retrieves a type by passing a ProgID and server name. The example then displays the ClassID related to the ProgID, or throws an exception if the ProgID or the server name is invalid.
using namespace System; int main() { try { // Use the ProgID localhost\HKEY_CLASSES_ROOT\DirControl::DirList.1. String^ theProgramID = "DirControl.DirList.1"; // Use the server name localhost. String^ theServer = "localhost"; // Make a call to the method to get the type information for the given ProgID. Type^ myType = Type::GetTypeFromProgID( theProgramID, theServer ); if ( myType == nullptr ) { throw gcnew Exception( "Invalid ProgID or Server." ); } Console::WriteLine( "GUID for ProgID DirControl.DirList.1 is {0}.", myType->GUID ); } catch ( Exception^ e ) { Console::WriteLine( "An exception occurred." ); Console::WriteLine( "Source: {0}", e->Source ); Console::WriteLine( "Message: {0}", e->Message ); } }
Requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Available since 1.1