[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]
この付録には,COM for OpenVMSとMicrosoft COMの実装上の相違点,APIの一覧,COM for OpenVMSの本リリースで提供されるインタフェースの一覧を示します。
ここでは,COM for OpenVMSとMicrosoftのCOM の実装上の重要な相違点を示します。
OpenVMSでは,Windows NTのサービス制御マネージャに相当する機能を提供していません。 この結果,Serverサービス(stop,start,pause, resumeなど)に依存するアプリケーションは,同様の機能を提供するOpenVMS 機能に依存します(このような機能が提供される場合)。
たとえば,OpenVMSサイト固有のスタートアップ・コマンド・プロシージャとシャットダウン・
コマンド・プロシージャを使用して,
システムのスタートアップ時にサービスを自動起動し,システムのシャットダウン時にサービスの自動的なシャットダウンを実装できます。
RegisterServiceCtrlHandler
やChangeServiceConfig
などのサービスAPIは,OpenVMSでは提供されません。
COM for OpenVMSでは,サーバ・アプリケーションの機能はサーバ・ スレッドのコンテキストで実行されます。この結果, サーバ機能のスタック空間は48 KBに制限されます。ローカル変数や構造を格納するために追加空間が必要な場合は, ローカル変数または構造用に動的メモリを割り当てなければなりません。
OpenVMSとWindows NTはIDLベースのデータ型"char"を異なる方法で変換します。
OpenVMSでは,このデータ型をMIDL_CHARとして変換します。これはCHARとして定義されており, さらに"char"としても定義されています。OpenVMS コンパイラはデフォルト設定で,これを"unsigned char"に相当するものと解釈します。 ほとんどの場合,これらは同じように使用できます。しかし, この2つは正確には同じでありません。C++では,クラス・メンバ定義でこの2 つを指定した場合,異なるデータ型として取り扱われます。
Windows NTでは,このデータ型は直接"unsigned char"として変換されます。 これはVisual C++と矛盾します。Visual C++では,"char"データ型は"signed char" と同じであるものとして取り扱われます。OpenVMSの場合と同様に,"char" はクラス・メンバ定義では"signed char"と同じでありません。
この矛盾を回避するには,次の2つの方法があります。
COM for OpenVMSに添付されているMIDLコンパイラは,MicrosoftのMIDLコンパイラV3.00.44 を基礎にしています。
アプリケーションに関連付けられている一部のキーのOpenVMS Registryキー・ アクセス権を変更するには, 「Application Security」サブメニューのオプション5とオプション6 を使用します。オプション5とオプション6は次のキーのセキュリティ設定に影響します。
HKEY_CLASSES_ROOT\APPID\{guid}
HKEY_CLASSES_ROOT\CLSID\{guid}
とサブキー
Windows NTシステムでは,HKEY_
CLASSES_ROOT\CLSID\{guid }
の下のサブキーのセキュリティ設定は,
既存のセキュリティ設定が HKEY_
CLASSES_ROOT\APPID\{guid }
の元の設定と一致する場合にだけ変更されます。
OpenVMSシステムでは,サブキーの設定は,HKEY_CLASSES_
ROOT\APPID\{guid }
の元の設定と既存の設定が一致しない場合でも
変更されます。
オプション5とオプション6は,アプリケーションに関連付けられているすべてのキーの設定を変更するわけではありません。 たとえば,オプション5 とオプション6は次のキーには影響しません。
HKEY_CLASSES_ROOT\APPID\fi lename
HKEY_CLASSES_ROOT\TYPELIB\{typelib guid}
HKEY_CLASSES_ROOT\INTERFACES\{interface
guid(s)}
とサブキー
HKEY_CLASSES_ROOT\name
とサブキー
KEY_CLASSES_ROOT\version independent
name
とサブキー
これらのキーのセキュリティ設定を変更するには,次の操作を行います。
HKEY_CLASSES_
ROOT
はHKEY_LOCAL_MACHINE\SOFTWARE\Classes
のエイリアスです。Regedt32
を使用してWindows
NTからOpenVMS Registryに接続し,
HKEY_CLASSES_ROOT
キーを変更する場合は,
HKEY_LOCAL_MACHINE\SOFTWARE\Classes
キーを変更してください。
セキュリティ・サポートが必要なAPIは,COM Version 1.0 for OpenVMSではサポートされません。
本リリースでサポートされるAPIは次のとおりです。
BindMoniker BstrFromVector CLSIDFromProgID CLSIDFromString CoAddRefServerProcess CoCopyProxy CoCreateFreeThreadedMarshaler CoCreateGuid CoCreateInstance CoCreateInstanceEx CoDisconnectObject CoDosDateTimeToFileTime CoFileTimeNow CoFileTimeToDosDateTime CoFreeAllLibraries CoFreeLibrary CoFreeUnusedLibraries CoGetCallContext CoGetClassObject CoGetCurrentProcess CoGetInstanceFromFile CoGetInstanceFromIStorage CoGetInterfaceAndReleaseStream CoGetMalloc CoGetMarshalSizeMax CoGetPSClsid CoGetStandardMarshal CoGetTreatAsClass CoImpersonateClient CoInitialize CoInitializeEx CoInitializeSecurity CoIsHandlerConnected CoLoadLibrary CoLockObjectExternal CoMarshalInterface CoQueryAuthenticationServices CoQueryClientBlanket CoQueryProxyBlanket CoRegisterClassObject CoRegisterMallocSpy CoRegisterMessageFilter CoRegisterPSClsid CoReleaseMarshalData CoReleaseServerProcess CoResumeClassObjects CoRevertToSelf CoRevokeClassObject CoRevokeMallocSpy CoSetProxyBlanket CoSuspendClassObjects CoTaskMemAlloc CoTaskMemFree CoTaskMemRealloc CoTreatAsClass CoUninitialize CoUnmarshalInterface CreateAntiMoniker CreateBindCtx CreateClassMoniker CreateDataAdviseHolder CreateDispTypeInfo CreateErrorInfo CreateGenericComposite CreateILockBytesOnHGlobal CreateItemMoniker CreatePointerMoniker CreateStdDispatch CreateStreamOnHGlobal CreateTypeLib DispGetIDsOfNames DispGetParam DispInvoke DllCanUnloadNow DllGetClassObject DllGetClassObject DllMain DllRegisterServer DllUnregisterServer DosDateTimeToVariantTime FreePropVariantArray GetActiveObject GetAltMonthNames GetClassFile GetConvertStg GetErrorInfo GetHGlobalFromILockBytes GetHGlobalFromStream GetRunningObjectTable IIDFromString IsEqualCLSID IsEqualGUID IsEqualIID IsValidIid IsValidInterface IsValidPtrIn IsValidPtrOut LHashValOfName LHashValOfNameSys LoadRegTypeLib LoadTypeLibEx MkParseDisplayName MonikerCommonPrefixWith MonikerRelativePathTo ProgIDFromCLSID PropStgNameToFmtId PropVariantClear PropVariantCopy QueryPathOfRegTypeLib ReadClassStg ReadClassStm ReadFmtUserTypeStg RegisterActiveObject RegisterTypeLib ReleaseStgMedium RevokeActiveObject SafeArrayAccessData SafeArrayAllocData SafeArrayAllocDescriptor SafeArrayCopy SafeArrayCopyData SafeArrayCreate SafeArrayCreateVector SafeArrayDestroy SafeArrayDestroyData SafeArrayDestroyDescriptor SafeArrayGetDim SafeArrayGetElement SafeArrayGetElemsize SafeArrayGetLBound SafeArrayGetUBound SafeArrayLock SafeArrayPtrOfIndex SafeArrayPutElement SafeArrayRedim SafeArrayUnaccessData SafeArrayUnlock SetConvertStg SetErrorInfo StgCreateDocfile StgCreateDocfileOnILockBytes StgCreatePropSetStg StgCreatePropStg StgIsStorageFile StgIsStorageILockBytes StgOpenPropStg StgOpenStorage StgOpenStorageOnILockBytes StgSetTimes StringFromCLSID StringFromGUID2 StringFromIID SysAllocString SysAllocStringByteLen SysAllocStringLen SysFreeString SysReAllocString SysReAllocStringLen SysStringByteLen SysStringLen SystemTimeToVariantTime UnRegisterTypeLib VarDateFromUdate VarNumFromParseNum VarParseNumFromStr VarUdateFromDate VariantChangeType VariantChangeTypeEx VariantClear VariantCopy VariantCopyInd VariantInit VariantTimeToDosDateTime VariantTimeToSystemTime VectorFromBstr WriteClassStg WriteClassStm WriteFmtUserTypeStg
本リリースでサポートされるインタフェースは,次のとおりです。
IAdviseSink IBindCtx IClassActivator IClassFactory IConnectionPoint IConnectionPointContainer ICreateErrorInfo ICreateTypeInfo ICreateTypeLib IDataAdviseHolder IDataObject IDispatch IEnumCallBack IEnumConnectionPoints IEnumConnections IEnumFORMATETC IEnumMoniker IEnumOLEVerb IEnumSTATDATA IEnumSTATPROPSETSTG IEnumSTATSTG IEnumString IEnumUnknown IEnumVariant IErrorInfo IExternalConnection ILockBytes IMalloc IMallocSpy IMarshal IMessageFilter IMoniker IMultiQI IParseDisplayName IPersist IPersistFile IPersistStorage IPersistStream IPropertySetStorage IPropertyStorage IRootStorage IRunnableObject IRunningObjectTable IStdMarshalInfo IStorage IStream ISupportErrorInfo ITypeComp ITypeInfo ITypeInfo2 ITypeLib ITypeLib2 IUnknown
[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]