InMemoryWorksapce の取得方法

'******************************************************************************
' 定義      :Private Function GetInMemoryWorkspace()
' 概要      :InMemoryWorkspaceの取得
' 備考      :このWorkspaceではCreateFeatureDatasetやCreateQyeryDefは無効
' 第1引数   :String         Workspace名
' 第2引数   :Boolean        (オプション デフォルト値:True)InMemoryWorkspaceを新規作成するかどうか
' 第3引数   :IPropertySet   (オプション デフォルト値:Nothing)DBMSへの接続情報
' 第4引数   :Long           (オプション デフォルト値:0)ウィンドウ ハンドル
' 戻り値    :IWorkspace     Workspace
'******************************************************************************
Private Function GetInMemoryWorkspace(Name As String, Optional Create As Boolean = True, Optional ConnectionProperties As IPropertySet = Nothing, Optional hWnd As Long = 0) As IWorkspace
    Dim pWorkspaceFactory As IWorkspaceFactory
    Dim pName As IName
    Set pWorkspaceFactory = New InMemoryWorkspaceFactory
    
    If Create = True Then
        Set pName = pWorkspaceFactory.Create("", Name, ConnectionProperties, hWnd)
        Set GetInMemoryWorkspace = pName.Open
    Else
        Set GetInMemoryWorkspace = pWorkspaceFactory.Open(ConnectionProperties, hWnd)
    End If
    
End Function