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 參數中提供的私用數據長度,以位元組為單位。
傳回值
NdkGetConnectionData 函式會傳回下列其中一個 NTSTATUS 代碼。
傳回碼 | Description |
---|---|
|
作業已成功完成。 |
|
*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) 。
如果 pPrivateData 不是 NULL,提供者必須將私人數據複製到 pPrivateData 的緩衝區,以位元組為單位的 *pPrivateDataLength 或 RDS 。
如果 *pPrivateDataLength 大於或等於 RDS,提供者必須傳回STATUS_SUCCESS。 否則,提供者必須傳回STATUS_BUFFER_TOO_SMALL。 在這兩種情況下,提供者必須在 *pPrivateDataLength 中儲存 RDS,才能傳回。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 不支援,NDIS 6.30 和更新版本中支援。 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | Windows |
標頭 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |