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 程式代碼。
傳回碼 | 描述 |
---|---|
|
作業已順利完成。 |
|
*pPrivateDataLength 參數中的值指定了緩衝區大小太小而無法保存連線私用數據。 *pPrivateDataLength 會以所需的大小更新。 |
|
發生錯誤。 |
言論
NdkGetConnectionData 函式會取得對等互連傳送且連線、接受或拒絕要求的私人數據,以及有效的輸入和輸出讀取限制值。 這些值衍生自本機和遠端對等的要求值和提供者的最大限制。
若要從使用中端存取私用數據和有效的輸入讀取限制 (IRD) 和輸出讀取限制 (ORD) 值,NDK 取用者可以呼叫傳遞至 NDK_FN_CONNECT_EVENT_CALLBACK 函式之連接器物件的 NdkGetConnectionData。
若要從被動端存取私用數據和有效的 IRD 和 ORD 值,取用者可以針對 NDK_FN_CONNECT 或 NDK_FN_CONNECT_WITH_SHARED_ENDPOINT 成功完成的連接器物件呼叫 NdkGetConnectionData。NDK 取用者在被動端或 NDK_FN_COMPLETE_CONNECT 函式呼叫 NDK_FN_ACCEPT 函式之後,將無法呼叫此函式在作用中端。
如果 pPrivateData 參數為 NULL ,且 *pPrivateDataLength 為零,則 NDK 提供者必須傳回STATUS_SUCCESS,並將所需的私人數據緩衝區大小(RDS)儲存在 *pPrivateDataLength 中。
如果 pPrivateData 不是 NULL,提供者必須將私人數據複製到 pPrivateData 的緩衝區,最多 *pPrivateDataLength 或以位元組為單位 RDS。
如果 *pPrivateDataLength 大於或等於 RDS,提供者必須傳回STATUS_SUCCESS。 否則,提供者必須傳回STATUS_BUFFER_TOO_SMALL。 在這兩種情況下,提供者必須在 *pPrivateDataLength 中儲存 RDS,才能傳回。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 不支援,在 NDIS 6.30 和更新版本中支援。 |
支援的最低伺服器 | Windows Server 2012 |
目標平臺 | 窗戶 |
標頭 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |