適用於:Outlook 2013 |Outlook 2016
從目前的配置檔開啟配置檔區段,並傳回 IProfSect 指標以供進一步存取。
HRESULT OpenProfileSection(
LPMAPIUID lpUID,
LPCIID lpInterface,
ULONG ulFlags,
LPPROFSECT FAR * lppProfSect
);
參數
lpUID
[in] MAPIUID 結構的指標,其中包含要開啟之配置檔區段的唯一標識符。 用戶端不得為 lpUID 參數傳遞 NULL。 當服務提供者從其訊息服務進入點函式呼叫 時,可以傳遞NULL 來擷取 MAPIUID 。
lpInterface
[in]介面識別碼 (IID) 的指標,表示要用來存取配置檔區段的介面。 傳遞 NULL 會導致傳回設定檔區段的標準介面 (IProfSect) 。
ulFlags
[in]控制配置檔區段開啟方式的旗標位掩碼。 您可以設定下列旗標:
MAPI_DEFERRED_ERRORS
可讓 OpenProfileSection 成功傳回,可能在配置檔區段完全可供呼叫端使用之前。 如果配置檔區段無法使用,進行後續呼叫可能會引發錯誤。
MAPI_MODIFY
要求讀取/寫入許可權。 根據預設,物件會以唯讀許可權開啟,而且呼叫端不應在已授與讀取/寫入許可權的假設下運作。 不允許客戶端對配置檔的提供者區段具有讀取/寫入許可權。
MAPI_FORCE_ACCESS
允許存取所有配置檔區段,即使是個別服務提供者所擁有的區段。
lppProfSect
[out]配置檔區段指標的指標。
傳回值
S_OK
配置檔區段已成功開啟。
MAPI_E_NO_ACCESS
嘗試修改唯讀配置檔區段,或存取用戶許可權不足的物件。
MAPI_E_NOT_FOUND
要求的配置檔區段不存在。
註解
IProviderAdmin::OpenProfileSection 方法會開啟配置檔區段,讓呼叫端能夠從中讀取資訊,並可能將資訊寫入使用中配置檔。
用戶端無法使用 OpenProfileSection 方法開啟屬於提供者的配置檔區段。
多個客戶端或服務提供者可以同時開啟具有唯讀許可權的配置檔區段。 不過,當配置檔區段以讀取/寫入許可權開啟時,不論存取類型為何,都無法進行任何其他呼叫來開啟區段。 如果配置檔區段是以唯讀許可權開啟,後續要求讀取/寫入許可權的呼叫將會失敗,並MAPI_E_NO_ACCESS。 同樣地,如果開啟具有讀取/寫入許可權的區段,後續要求只讀許可權的呼叫也會失敗。
呼叫者注意事項
如果您要求 OpenProfileSection 在 ulFlags 中傳遞MAPI_MODIFY,並在 lpUID 中傳遞未知的 MAPIUID 來開啟不存在的配置檔區段,則會建立配置檔區段。
如果您要求 OpenProfileSection 以唯讀許可權開啟不存在的區段,它會傳回MAPI_E_NOT_FOUND。
MFCMAPI 參考
如需 MFCMAPI 範例程式代碼,請參閱下表。
| 檔案 | Function | Comment |
|---|---|---|
| MAPIProfileFunctions.cpp |
OpenProfileSection |
MFCMAPI 會使用 IProviderAdmin::OpenProfileSection 方法,從目前的配置檔開啟配置檔區段。 |