メモリ割り当てを検証し、解放メモリを監視して、オペレーティング システムでサポートされている場合にはメモリ ヒープを圧縮します。 
               
            
 
            	 
             
               		
               制約事項: このルーチンはネイティブ COBOL でのみサポートされます。
               
 
               	 
              
            	 
            
               構文:
 
               		 
               		call "CBL_MEM_VALIDATE" using by value     flags
                              by reference param
                              returning    status-code 
               	   
            	 
            
               パラメーター:
 
               		 
               		
                
                  		   
                  			 
                  - flags
  
                  			 
                  - 呼び出しプロトタイプ使用時 (「説明の読み方」を参照):cblt-x4-comp-5
                  
  
                  			 
                  - PIC:pic x(4) comp-5
  
                  		   
                  		
               
 
               		
                
                  		   
                  			 
                  - param
  
                  			 
                  - 次のように定義されている集団:
01 cblt-mem-validate-param
   03 cblte-mv-version  cblt-x4-comp-5 *> pic x(4) comp-5.
   03 cblte-mv-flags    cblt-x4-comp-5 *> pic x(4) comp-5.
   03 cblte-mv-type     cblt-x4-comp-5 *> pic x(4) comp-5.
   03 cblte-mv-size     cblt-os-size   *>32-bit: pic x(4) comp-5.
                                       *>64-bit: pic x(8) comp-5.
   03 cblte-mv-address  cblt-pointer   *> pointer 
                     			   
                  		   
                  		
               
 
               	 
              
            	 
            
               入力パラメーター:
 
               		 
               		
                
                  		   
                  			 
                  - flags
  
                  			 
                  - 検証の制御フラグ:
                     
 
                        				   
                        					 
                        - ビット 0
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       何も実行しません。 |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       すべてのメモリ割り当てを検証します。 |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 1
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       何も実行しません。 |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       すべての解放メモリを検証します。 |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 2 から 30 |  
                                       								  
                                       将来使用するために予約されています。ゼロに設定する必要があります。 |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 31
  
                        					 
                        -  
                           						
                            
                           					 
                        
  
                        				   
                        				
                     
 
                     			 
                    
                  		   
                  		   
                  			 
                  - cblte-mv-version
  
                  			 
                  - パラメーター ブロックのバージョン。ゼロにする必要があります。
  
                  		   
                  		
               
 
               	 
              
            	 
            
               出力パラメーター:
 
               		 
               		
                
                  		   
                  			 
                  - param
  
                  			 
                  - ルーチンが 1000 を返した場合にのみフィールドが設定されます。
  
                  		   
                  		   
                  			 
                  - cblte-mv-flags
  
                  			 
                  - 情報フラグ:
                     
 
                        				   
                        					 
                        - ビット 0
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       cblte-mv-address が設定されていません。
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       cblte-mv-address に、破損したメモリ ブロックのアドレスが含まれています。
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 1
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       cblte-mv-address はユーザー データのアドレスです。
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       cblte-mv-address はメモリ ヘッダーのアドレスです。
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 2
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       cblte-mv-size が設定されていません。
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       cblte-mv-size に、破損したメモリ ブロックのサイズが含まれています。
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 3
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       cblte-mv-type が設定されていません。
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       cblte-mv-type に、破損したメモリ ブロックのタイプが含まれています。
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 4
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       割り当てメモリに破損があります。 |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       解放メモリに破損があります。 |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 5
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0 |  
                                       								  
                                       ランタイム システムによって破損が検出されました。 |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1 |  
                                       								  
                                       オペレーティング システムによって破損が検出されました。 |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - ビット 6 から 31
  
                        					 
                        - 将来使用するために予約されています。
  
                        				   
                        				
                     
 
                     			 
                    
                  		   
                  		   
                  			 
                  - status-code
  
                  			 
                  - 処理状態を示すコード。
                     
                         
                           					  
                           					  
                           					 
                            
                              						
                               
                                 						  
                                 | 0 |  
                                 						  
                                 すべてのメモリ割り当てが正常です。 |  
                                 						
                              
 
                              						
                               
                                 						  
                                 | 1000 |  
                                 						  
                                 メモリの破損が検出されました。 |  
                                 						
                              
 
                              						
                               
                                 						  
                                 | 1009 |  
                                 						  
                                 指定されたパラメーターが無効です。 |  
                                 						
                              
 
                              					 
                            
                           				  
                        
                       
                     			 
                    
                  		   
                  		
               
 
               	 
              
            	 
             
            	 
            
               例:
 
               		 
               		       program-id. CblMemValidateExample as "CblMemValidateExample".
       environment division.
       configuration section.
       data division.
       working-storage section.
       01 cbl-mem-flags pic x(4) comp-5 value zero.
        01 cbl-mem-params.
           05  cbl-mem-version pic x(4) comp-5 value zero.
           05  cbl-mem-mv-flags pic x(4) comp-5 value zero.
           05  cbl-mem-mv-type pic x(4) comp-5 value zero.
           05  cbl-mem-mv-size pic x(4) comp-5 value zero.
           05  cbl-mem-mv-addr usage pointer value null.
       01 cbl-mem-return-code pic x(2) comp-5 value zero.
       01 any-key pic x.
       
       procedure division.
           
	  *Call directly setting the bits
           call 'CBL_MEM_VALIDATE' using by value H'00000001'
                                         by reference cbl-mem-params
                                   returning cbl-mem-return-code.
           display 'CBL_MEM_VALIDATE setting bits returned: '
                   cbl-mem-return-code.
           
	  *Same call using variable to set flags
       move 1 to cbl-mem-flags 
           call 'CBL_MEM_VALIDATE' using by value cbl-mem-flags
                                         by reference cbl-mem-params
                                   returning cbl-mem-return-code.
           display 'CBL_MEM_VALIDATE using variable returned: '
                   cbl-mem-return-code.
       accept any-key.
       
           goback.
       end program CblMemValidateExample. 
               	   
            
           
         
         
説明:
このルーチンを使用すると、メモリ割り当てを検証し、解放メモリを監視して、オペレーティング システムでサポートされている場合にはメモリ ヒープを圧縮できます。メモリの検証ストラテジについては、このルーチンを優先して、memory_strategy ランタイム チューナーの使用を設定してください。
メモリを圧縮するようにフラグを設定した場合は、オペレーティング システムで許容される範囲でメモリが圧縮されます。この結果を示す情報フラグの設定はありません。