1.GetAcceptExSockaddrs参数说明
2.GetAcceptExSockaddrs函数原型
3.NVENCç¼ç
GetAcceptExSockaddrs参数说明
在AccpetEx函数中,源码lpOutputBuffer是源码一个重要的输入参数,它指向用于接收客户端第一块数据的源码缓冲区。这个缓冲区的源码大小由dwReceiveDataLength指定,且必须与调用AcceptEx函数时传递的源码防折叠源码大小保持一致。
另外,源码正义枪战源码函数需要几个长度参数来预估地址空间的源码需求。dwLocalAddressLength和dwRemoteAddressLength分别表示为本地地址和远程地址预留的源码空间大小,同样需要与调用AcceptEx函数时提供的源码数据长度匹配。
LocalSockaddr和RemoteSockaddr是源码两个输出参数,它们分别用来返回连接的源码本地地址和远程地址。这两个地址的源码长度则通过LocalSockaddrLength和RemoteSockaddrLength变量返回。
值得注意的源码农庄系统源码是,GetAcceptExSockaddrs函数本身并不返回任何值,源码它的源码作用主要是处理和获取地址信息,而非返回具体的处理结果。
GetAcceptExSockaddrs函数原型
GetAcceptExSockaddrs函数是经纬指标源码一个用于从接收数据中提取本地和远程地址信息的函数。这个函数的原型定义如下: 参数说明:lpOutputBuffer: 这是一个输入参数,指向要接收数据的缓冲区地址。
dwReceiveDataLength: 用于接收数据的缓冲区长度,单位为字节。sprimhmvc源码解读
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ã