1.GetAcceptExSockaddrs参数说明
2.GetAcceptExSockaddrs函数原型
3.NVENCç¼ç
GetAcceptExSockaddrs参数说明
在AccpetEx函数中,源码lpOutputBuffer是源码一个重要的输入参数,它指向用于接收客户端第一块数据的源码缓冲区。这个缓冲区的源码大小由dwReceiveDataLength指定,且必须与调用AcceptEx函数时传递的源码涨停捉妖源码大小保持一致。
另外,源码算命 看相 源码函数需要几个长度参数来预估地址空间的源码需求。dwLocalAddressLength和dwRemoteAddressLength分别表示为本地地址和远程地址预留的源码空间大小,同样需要与调用AcceptEx函数时提供的源码数据长度匹配。
LocalSockaddr和RemoteSockaddr是源码两个输出参数,它们分别用来返回连接的源码本地地址和远程地址。这两个地址的源码长度则通过LocalSockaddrLength和RemoteSockaddrLength变量返回。
值得注意的源码海龙工具源码是,GetAcceptExSockaddrs函数本身并不返回任何值,源码它的源码作用主要是处理和获取地址信息,而非返回具体的处理结果。
GetAcceptExSockaddrs函数原型
GetAcceptExSockaddrs函数是vss备份源码一个用于从接收数据中提取本地和远程地址信息的函数。这个函数的原型定义如下: 参数说明:lpOutputBuffer: 这是一个输入参数,指向要接收数据的缓冲区地址。
dwReceiveDataLength: 用于接收数据的缓冲区长度,单位为字节。潮汐睡眠 源码
dwLocalAddressLength: 指定本地地址结构的大小,单位为字节。
dwRemoteAddressLength: 指定远程地址结构的大小,单位为字节。
函数返回值和输出参数:LocalSockaddr: 这是一个指向本地地址结构的指针,函数会填充本地地址信息。
LocalSockaddrLength: 本地地址结构实际使用的长度,返回给调用者。
RemoteSockaddr: 类似地,这是一个指向远程地址结构的指针,函数将填充远程地址信息。
RemoteSockaddrLength: 远程地址结构实际使用的长度,同样返回给调用者。
通过这个函数,程序可以解析接收的数据,获取连接双方的网络地址信息,以便进行后续处理。NVENCç¼ç
å°NVENC libä¸çæ¥å£å¯¼åºï¼ä¾åç»ç¼ç æµç¨ä½¿ç¨ã
ç¼ç ä¼è¯éè¦ä¼ å ¥D3D设å¤ï¼å¨æ¤ä¹åéè¦å建好D3D设å¤ãæ¥å£è¾åºç void* m_encoder; å°ä¼ç¨äºåç»ç¼ç æ¥å£ç第ä¸ä¸ªåæ°ä¸ã
å¯ä»¥ä½¿ç¨ nvEncInitializeEncoder ä¼ å ¥ NV_ENC_INITIALIZE_PARAMS ç±»åçå®ä¾ï¼å¯¹ç¼ç å¨è¿è¡åå§åãå ¶ä¸ encodeGUID ã encodeWidth ã encodeHeight ä¸é¡¹æ¯å¿ å¡«éé¡¹ï¼ encodeGUID 表示使ç¨Hç¼ç ( NV_ENC_CODEC_H_GUID )è¿æ¯H( NV_ENC_CODEC_HEVC_GUID )ç¼ç ãå¦å¤ï¼è¿å¯ä»¥å¨æ¤è®¾ç½®ä½¿ç¨åæ¥ç¼ç è¿æ¯å¼æ¥ç¼ç 模å¼ã
nvEncGetEncodePresetConfig å¯ä»¥è·åé¢ç½®åæ° NV_ENC_PRESET_CONFIG ãå¯ä»¥è®¾ç½®ç çæ§å¶æ¨¡å¼ãå¹³åç ççæ°æ®ã
å°è¾å ¥ç纹çæé注åæè¾å ¥èµæºï¼å³ m_registerResource.resourceToRegister = m_inputTexture;
å°æ³¨åçè¾å ¥èµæºæ å°å°ç¼ç å¨ã m_inputMapResource.registeredResource = m_registerResource.registeredResource;
å建æ¥æ¶ç¼ç åºçæ¯ç¹æµç¼å²ã
å¨ç¼ç åéè¦æ´æ°è¾å ¥çº¹çæ°æ®ï¼å³åé¢å·²ç»æ³¨åç纹çæé m_inputTexture ï¼æ´æ°åï¼å¡«å NV_ENC_PIC_PARAMS ç»æï¼å° NV_ENC_PIC_PARAMS.inputBuffer èµå¼ä¸ºåé¢æ å°çèµæºï¼å³ m_inputMapResource.mappedResource ï¼åå° NV_ENC_PIC_PARAMS.outputBitstream èµå¼ä¸ºåé¢å建çè¾åºæ¯ç¹æµç¼å²ï¼å³ m_outputBuffer.bitstreamBuffer ï¼ç¶åè°ç¨ nvEncEncodePicture 对æ°æ®è¿è¡ç¼ç ã
ä½¿ç¨ nvEncLockBitstream å°æ°æ®ä»ç¼ç å¨ä¸ååºï¼å³GPUå°CPUã