共用方式為


NDK_FN_GET_CONNECTION_DATA回呼函式 (ndkpi.h)

NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA) 函式會取得讀取限制值,以及對等所傳送的私人數據。

語法

NDK_FN_GET_CONNECTION_DATA NdkFnGetConnectionData;

NTSTATUS NdkFnGetConnectionData(
  [in]            NDK_CONNECTOR *pNdkConnector,
  [out, optional] ULONG *pInboundReadLimit,
  [out, optional] ULONG *pOutboundReadLimit,
                  PVOID pPrivateData,
                  ULONG *pPrivateDataLength
)
{...}

參數

[in] pNdkConnector

NDK 連接器物件的指標 (NDK_CONNECTOR) 。

[out, optional] pInboundReadLimit

此位置會傳回 QP 上允許的傳入進行中讀取作業數目上限。

[out, optional] pOutboundReadLimit

此位置會傳回 QP 上允許的傳出進行中讀取作業數目上限。

pPrivateData

傳回之私人數據的指標。

pPrivateDataLength

pPrivateData 參數中提供的私用數據長度,以位元組為單位。

注意 輸出值不會指出儲存在緩衝區中之私人數據的實際長度。 NDK 取用者必須交涉實際私人數據的格式和長度。 如需私人數據的詳細資訊,請參閱一節。
 

傳回值

NdkGetConnectionData 函式會傳回下列其中一個 NTSTATUS 代碼。

傳回碼 Description
STATUS_SUCCESS
作業已成功完成。
STATUS_BUFFER_TOO_SMALL
*pPrivateDataLength 參數中的值指定了太小而無法保存連線私人數據的緩衝區大小。 *pPrivateDataLength 會以所需的大小更新。
其他狀態代碼
發生錯誤。

備註

NdkGetConnectionData 函式會取得對等所傳送的私人數據,其中包含連線、接受或拒絕要求,以及有效的輸入和輸出讀取限制值。 這些值衍生自本機和遠端對等的要求值,以及提供者的最大限制。

若要從使用中端存取私人數據和有效的輸入讀取限制, (IRD) 和輸出讀取限制 (ORD) 值,NDK 取用者可以針對傳遞至NDK_FN_CONNECT_EVENT_CALLBACK函式的連接器物件呼叫 NdkGetConnectionData

若要從被動端存取私人數據和有效的 IRD 和 ORD 值,取用者可以呼叫 NdkGetConnectionData 作為連接器物件,NDK_FN_CONNECT或NDK_FN_CONNECT_WITH_SHARED_ENDPOINT成功完成,NDK 取用者在被動端呼叫NDK_FN_ACCEPT函式或主動端的NDK_FN_COMPLETE_CONNECT函式之後,將不會呼叫此函式。

如果 pPrivateData 參數為 NULL 且 *pPrivateDataLength 為零,則 NDK 提供者必須傳回STATUS_SUCCESS,並將所需的私人數據緩衝區大小儲存在 *pPrivateDataLength 中 (RDS) 。

注意 (RDS) 所需的私人數據緩衝區大小並不表示對等已傳送太多私人數據。 NDK 取用者必須在兩端都有一個通用配置,以允許接收端判斷私人數據是否有任何私人數據或不在私人數據緩衝區中。 每個連線的 RDS 可能不同。
 
如果 pPrivateData 為 NULL 且 *pPrivateDataLength 大於零,則這是無效的要求。 取用者絕對不能這麼做。

如果 pPrivateData 不是 NULL,提供者必須將私人數據複製到 pPrivateData 的緩衝區,以位元組為單位的 *pPrivateDataLengthRDS

如果 *pPrivateDataLength 大於或等於 RDS,提供者必須傳回STATUS_SUCCESS。 否則,提供者必須傳回STATUS_BUFFER_TOO_SMALL。 在這兩種情況下,提供者必須在 *pPrivateDataLength 中儲存 RDS,才能傳回。

規格需求

需求
最低支援的用戶端 不支援,NDIS 6.30 和更新版本中支援。
最低支援的伺服器 Windows Server 2012
目標平台 Windows
標頭 ndkpi.h (包括 Ndkpi.h)
IRQL <=DISPATCH_LEVEL

另請參閱

NDK_CONNECTOR

NDK_CONNECTOR_DISPATCH