共用方式為


SCardEstablishCoNtext 函式 (winscard.h)

SCardEstablishCoNtext函式會建立資源管理員內容, (執行資料庫作業的範圍) 。

語法

LONG SCardEstablishContext(
  [in]  DWORD          dwScope,
  [in]  LPCVOID        pvReserved1,
  [in]  LPCVOID        pvReserved2,
  [out] LPSCARDCONTEXT phContext
);

參數

[in] dwScope

資源管理員內容的範圍。 此參數可以是下列其中一個值。

意義
SCARD_SCOPE_USER
資料庫作業是在使用者的網域內執行。
SCARD_SCOPE_SYSTEM
資料庫作業是在系統的網域內執行。 呼叫端應用程式必須具有任何資料庫動作的適當存取權限。

[in] pvReserved1

保留供日後使用,且必須為 Null。 此參數可讓適當許可權的管理應用程式代表另一位使用者採取行動。

[in] pvReserved2

保留供日後使用,且必須為 Null

[out] phContext

已建立 之資源管理員內容的控制碼。 此控制碼現在可以提供給嘗試在此內容中執行工作的其他函式。

傳回值

如果函式成功,函式會傳回SCARD_S_SUCCESS。

如果函式失敗,它會傳回錯誤碼。 如需詳細資訊,請參閱 智慧卡傳回值

備註

SCardEstablishCoNtext傳回的內容控制碼可供資料庫查詢和管理函式使用。 如需詳細資訊,請參閱 智慧卡資料庫查詢函式智慧卡資料庫管理功能

若要釋放已建立的資源管理員內容,請使用 SCardReleaseCoNtext

如果用戶端嘗試在遠端會話中執行智慧卡作業,例如在終端伺服器上執行的用戶端會話,且使用的作業系統不支援智慧卡重新導向,此函式會傳回ERROR_BROKEN_PIPE。

範例

下列範例會建立資源管理員內容。

SCARDCONTEXT    hSC;
LONG            lReturn;
// Establish the context.
lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
                                NULL,
                                NULL,
                                &hSC);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardEstablishContext\n");
else
{
    // Use the context as needed. When done,
    // free the context by calling SCardReleaseContext.
    // ...
}

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 winscard.h
程式庫 Winscard.lib
Dll Winscard.dll

另請參閱

SCardReleaseCoNtext